Человеческий фактор в программировании

ОглавлениеДобавить в закладки К обложке

Если система полезна и хорошо разработана, то пользователи перестанут быть в ней новичками. Лишь некоторые из них со временем станут экспертами или очень опытными пользователями, а большинство, вероятно, будет проводить свои дни в качестве совершенствующихся середнячков. Их потребности отличаются от запросов экспертов или новичков; им нужен пользовательский интерфейс, позволяющий постоянно и последовательно увеличивать свои знания о данном программном продукте и улучшать навыки его применения. Такой интерфейс не должен наказывать за незнание. Он не должен неожиданно швырять их на склоны диалогов с двойным черным ромбом, которые понравятся только программисту, пишущему на С++.

В лучшем случае коммерческие программные продукты и инструменты разработки программного обеспечения имеют зеленую трассу и черную — и почти никаких трасс между ними. Переходный интерфейс, помогающий бывшему новичку повышать свою эффективность и приобретать новые навыки, должен разрабатываться как особый набор функций, в котором учитываются знания начинающего и знания, необходимые эксперту. Настраиваемые панели кнопок и инструментов хороши, но недостаточны, поскольку они либо навязывают пользователю стандартный набор (всегда слишком сложный или слишком ограниченный), либо вынуждают его самому определять назначение функций.

Весь интерфейс мог бы быть модальным, предлагая режим для начинающих пользователей и ряд промежуточных режимов со все более разнообразным и расширяющимся набором функций. Функции, предназначенные для опытных пользователей, вероятно, не следует предлагать новичкам, разве что с помощью четко обозначенных «подъемников» или «трасс». Специальный флажок в настройках говорит системе, каким уровнем пользователь владеет или какой уровень хочет применять. При запуске интерфейс может загружаться в одном из стандартных режимов.

Как это ни странно, многие бесплатные компьютерные игры очень легко настраиваются в соответствии с уровнем игрока, а дорогие рабочие пакеты и инструменты разработки программного обеспечения поставляются в одной, прокрустовой конфигурации.

Карты

Обычно горнолыжные курорты предоставляют и другие полезные возможности, которые должны входить в каждый программный интерфейс. Карты лыжных трасс показывают, каким образом можно добраться из одного места в другое, и помогают лыжнику найти или обойти определенные трассы. В программных системах необходимо предусмотреть свои «карты трасс», служащие визуальными руководствами по расположению тех или иных функций в лабиринте кнопок, диалоговых окон, а также выпадающих и всплывающих меню. Онлайновые справки — по крайней мере, справочные системы популярных графических пользовательских интерфейсов — имеют ограниченную ценность. Перемещаться по такой онлайновой «помощи» так же сложно и неудобно, как и по самим меню и диалоговым окнам, и, что еще хуже, справка и интерфейс организованы по-разному.

На лыжных склонах и на картах трассы четко размечены. В программном обеспечении заголовки меню часто дают неполное представление о том, что за ними скрывается. В свою очередь, в системе «помощи», отделенной от функций интерфейса, которые она предназначена описывать, сплошь и рядом применяется другая терминология. Если я пытаюсь выяснить, как убрать сноску в моем текстовом редакторе, эта чертова справка должна просто показать мне, как это сделать. Для этого справочная система должна последовательно открыть нужные меню и указать на пункт, который следует использовать.

Разные инструменты и методы и даже разные правила и принципы можно применять в переходном интерфейсе, но не в интерфейсе приобретения и интерфейсе производства. Юзабилити-тестирование (глава 36), в котором исследуется взаимодействие пользователей с системой, может помочь точно настроить интерфейс приобретения. Однако, скорее всего, такое тестирование не будет полезным для переходного интерфейса и интерфейса производства. Почему? Потому что к тому времени, как начинающий пользователь превратится в середнячка или эксперта, в видеокамере уже закончится пленка или у психолога рассеется внимание.

Благодаря хорошему проектированию и всестороннему юзабилити-тести-рованию в некоторых ГПИ удалось создать разумный интерфейс приобретения. Например, интерфейс в Apple Macintosh был разработан так, что-бы с момента открытия упаковки до начала выполнения полезной работы проходило не более 20 минут.

Проблема состоит в том, что по мере прогресса пользователя типичный интерфейс остается неизменным. Начинающие пользователи системы нуждаются в программных учебных роликах. Ролики помогли многим детям научиться ездить на велосипеде, но они не предназначаются для постоянного использования. По существу, такие ролики не помогают детям научиться ездить на велосипеде. Они учат ездить на велосипеде с присоединенными опорными роликами! Для формирования навыков равновесия и движения на велосипеде опорные ролики нужно снять.


Логин
Пароль
Запомнить меня