Интерфейс: новые направления в проектировании компьютерных систем.

3.3. Модели «существительное-глагол» и «глагол-существительное».

Большой класс команд предусматривает применение некоторого действия к некоторому объекту. Например, при использовании текстового процессора вы можете выбрать какой-то абзац и изменить его шрифт. В этом случае объектом является абзац, а действием – выбор нового шрифта, при этом в интерфейсе могут использоваться две последовательности: либо (1) сначала выбор глагола (изменить шрифт), а затем выделение существительного (абзац); либо (2) сначала существительное, а потом глагол. На первый взгляд может показаться, что оба варианта являются симметричными, и порядок не важен. Однако для большинства интерфейсов ситуация не является симметричной, и порядок (существительное-глагол или глагол-существительное)[15] имеет большое значение с точки зрения юзабилити интерфейса.

В большинстве руководств по разработке интерфейсов рекомендуется именно модель взаимодействия существительное-глагол (Apple, 1987; Hewlett Packard, 1987; IBM, 1988; Microsoft. 1995). Анализ, проведенный с точки зрения локуса внимания пользователя, показывает преимущества такой модели:

Уменьшение количества ошибок. Последовательность глагол-существительное устанавливает режим. Если вы выбрали команду изменения стиля, то она будет сразу применена к тексту, который вы выделите. Если между назначением команды и выделением текста произойдет задержка или внимание пользователя отвлечется, но после того как текст будет выделен, результат может оказаться для него неожиданным. При использовании модели существительное-глагол команды выполняются сразу, пока еще находятся в локусе внимания пользователя.

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

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

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

Общепринятый способ, при котором пользователь сначала выбирает атрибуты из одной или нескольких палитр, – аналогично тому, как вы можете перед началом рисования макать кисть в ту или другую банку с краской, – приводит к модальным ошибкам, которые, как мы уже видели, неизбежно должны здесь возникать. Имеет смысл делать так, чтобы выбранный режим сохранялся до тех пор, пока пользователь специально не сменит его. В этом случае вы можете начать рисование и неожиданно обнаружить, что для этого используются другие атрибуты, но, к счастью, результат рисования в данный момент находится в локусе вашего внимания. Программное обеспечение, которое в нашей терминологии мы можем назвать человекоориентированным, в этом случае позволит вам сразу отменить не устраивающий вас результат, изменить атрибуты и продолжить работу. Модальные ошибки всегда вызывают раздражение, поэтому модель существительное-глагол или другой немодальный метод был бы более эффективным в этой ситуации, но пока, насколько я знаю, никто еще не нашел удачного решения этой проблемы.

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

Пример приведения проблемной модели «глагол-существительное» к модели «существительное-глагол».

Работники разных отделов одной транснациональной корпорации использовали специальную компьютерную систему для размещения заказов на товары. На ее примере мы рассмотрим один из способов перехода с естественной, на первый взгляд, модели «глагол-существительное» на модель «существительное-глагол». Такое изменение помогло на практике устранить те ошибки, которые возникали при использовании первого варианта интерфейса, и ускорило процесс выполнения заказа на товары.

В исходном варианте процесс состоял из трех шагов:

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

2. Требовалось выбрать необходимые товары из прокручиваемого списка. Рядом с каждым товаром находилось текстовое окно ввода, в которое можно было занести заказываемое количество каждого товара.

3. Необходимо щелкнуть по одной из двух кнопок внизу дисплея: либо «Отменить заказ», либо «Подтвердить заказ».

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

По сути дела, проблемой являлась все та же ситуация «глагол-существительное». Сначала необходимо было ввести, что вы хотите сделать (доставить эти товары в этот отдел), и затем выбрать, что именно вы хотите доставить. Однако при открытии окна заказа в локусе вашего внимания находятся (или только что находились) товар или товары, которые вам нужны.

Часть решения заключалась в том, чтобы разместить список товаров наверху окна заказа. Таким образом, пользователь мог начать с выделения нужных товаров. А список отделов, который раньше не имел никаких надписей, получил заголовок в форме вопроса: «В какой отдел следует доставить заказанные товары?»

Если система могла определить собственный отдел пользователя (на основе журнала работы пользователя), в первую строку списка отделов автоматически добавлялся элемент под названием «Мой отдел», который так же, как и другие элементы списка, имел флажок.

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

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

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

3.4. Видимость и состоятельность.

На пустом диске ты можешь искать бесконечно долго. Источник неизвестен.

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

Элемент интерфейса можно считать видимым, если он либо в данный момент доступен для органов восприятия человека (обычно это глаза, но здесь также рассматриваются и другие сенсорные модальности), либо он был настолько недавно воспринят, что еще не успел выйти из кратковременной памяти пользователя. Если элемент интерфейса не видим, то мы говорим, что он невидимый. Для нормальной работы интерфейса «должны быть видимы только необходимые вещи – те, что идентифицируют части работающих систем, и те, что отображают способ, которым пользователь может взаимодействовать с устройством. Видимость отображает связь между предпринимаемыми действиями и их реальной отдачей» (Norman, 1988, с. 8).[16] Если интерфейс вынуждает вас запоминать существование того или иного его элемента, это означает, что этот элемент является невидимым. Если вы вынуждены углубляться в недра интерфейса, чтобы случайно или в результате собственной настойчивости натолкнуться на последовательность действий, которая активизирует какой-то его элемент, то этот элемент является невидимым. Если вам приходится обращаться за помощью к справочной системе для того, чтобы узнать, как выполнить то или иное действие, это означает, что методы выполнения этого действия невидимы. Многие компьютерные игры являются, по сути дела, недокументированными интерфейсами, в которых способы управления или пути достижения желаемых результатов невидимы. Стоит добавить к этим играм документацию, и они станут неинтересными. Однако большинство людей не хотят играть в игры, когда им требуется выполнить свою работу, поэтому перед разработчиком интерфейсов стоит задача сделать каждый элемент своего продукта видимым.

Если в интерфейсе соблюдается принцип видимости, то каждая функция и способ ее использования для большинства людей из той культуры, на которую этот интерфейс ориентирован, становятся очевидными только лишь по одному виду. Элемент управления, который имеет такое свойство, стали называть состоятельным (affordance) (Norman, 1988, с. 123). «Состоятельность является хорошим средством для связки элемента интерфейса с его целью. Ручки используются для настройки; гнезда – для вставки чего-то; мячи – для их бросания или пинания» (Norman, 1988, с. 9). Если вы как разработчик помещаете в какой-то продукт ручку, подобную тем, с помощью которых регулируется громкость, пользователи будут пытаться ее крутить. Если вы поместите что-нибудь, наподобие кнопки, пользователи будут пытаться на нее нажимать. То, какую состоятельность будет иметь элемент интерфейса, зависит от опыта и знаний пользователя, а также от контекста, в котором он этот элемент встречает.

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

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

Система BART и отсутствие состоятельности.

Упоминание в этой книге системы BART (Bay Area Rapid Transit)[17] связано с интерфейсом, который используется автоматами по продаже билетов. Эти автоматы являются результатом игнорирования администрацией 25-летнего опыта работы старых роботов по продаже билетов. Пока я стою в очереди к одному из двух еще не сломавшихся автоматов, я замечаю, как подходящие люди приходят в замешательство при виде этого устройства. Хотя у меня довольно большой опыт пользования разными устройствами, но мне самому не удается справиться с той неестественной последовательностью действий, которая требуется для применения этих билетных автоматов.

Очевидно, что для того чтобы начать взаимодействие с автоматом, сначала требуется опустить в него деньги или старый билет, который является денежным эквивалентом необходимой суммы, – что и пытался в первую очередь сделать почти каждый во время моего наблюдения. Обычно автоматы по продаже работают так: опускаешь деньги, выбираешь, получаешь. Такой подход стал парадигмой.

Автоматы по продаже билетов системы BART, наверное, были изобретены на другой планете. Сначала вам необходимо нажать на одну из двух кнопок: либо BART, либо BART-MUNI. (В инструкции, которую трудно найти где-то поблизости, объясняется весьма тонкое различие между этими двумя кнопками.) Эти кнопки расположены в верхней части передней панели автомата. Место, конечно, вполне разумное для начала взаимодействия, в отличие от самого действия, которое для этого используется. Щели для старого билета (слева), для монет (посередине) и для бумажных купюр (справа) находятся на большом расстоянии друг от друга вместо того, чтобы быть расположенными в одном месте. Жидкокристаллический дисплей находится по центру высоко вверху, поэтому люди невысокого роста не могут легко прочитать возникающие сообщения. В любом случае он находится настолько далеко от основной части интерфейса, что большинство людей его просто не замечает. Возможно, это даже и хорошо, потому что время его отклика настолько большое, что люди, которые все-таки смотрят на него, или пытаются повторить операцию, или стоят в недоумении, предполагая, что автомат сломался, что, кстати, часто бывает.

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

Другим признаком того, что автомат разработан плохо, являются яркие крупные цветные числа 1, 2, 3, 4 и большие стрелки, которые, как кажется, должны как-то инструктировать вас. Если бы лицевая панель автомата была спроектирована грамотно, то вам бы они не понадобились. Числа в любом случае нисколько не помогают, поскольку во время опускания в автомат денег ($5) вам все равно надо помнить, какой шаг вы сейчас выполняете (например, шаг 2). Если же вам нужен билет за $3, то нужно еще не забыть нажать кнопку «поправка», чтобы получить сдачу в виде четвертаков (8 шт.), и тут вы слышите, что прибывает поезд на 7:06. Так, а на каком, вы сказали, мы сейчас шаге? Если вы встречаете компьютерный интерфейс, в котором есть много ярких красок и мириады объяснительных надписей, можете быть уверены, что он представляет собой сплошную путаницу.

Автоматы BART могли бы работать, например, следующим образом. (Однако имейте в виду, что если бы вы консультировали компанию BART, то потребовалось бы провести пользовательское тестирование (юзер-тестинг) вашего варианта, чтобы убедиться, что люди пользуются им именно так, как вы и предполагали.)

Слева (т. к. английский и испанский языки читаются слева направо) располагается щель для старых билетов, горизонтальная щель для банкнот и небольшая вертикальная щель для монет. Все они сгруппированы в одном месте и имеют понятные надписи. На дисплее, размещенном на уровне глаз человека среднего роста, отображается сообщение: «Опустите в автомат деньги ИЛИ старый билет системы BART ИЛИ и то и другое». После этого на экране сразу же появляется общая сумма в виде следующего сообщения:

Вы опустили $4.55. Если вам нужен билет стоимостью больше, чем $4.55, опустите дополнительную сумму денег или еще один использованный билет. Если вам нужен билет стоимостью меньше, чем $4.55, нажмите клавишу: Получить сдачу с билета Если вам нужен билет стоимостью $4.55, нажмите одну из следующих клавиш: Выдать билет BART Выдать билет BART-MUNI

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