Включение и физическое удерживание того или иного элемента управления во время выполнения другого действия было названо пружинным режимом(spring-loaded mode) или режимом с запертой пружиной(spring-locked mode) (Johnson и Englebeck, 1989). Но такая терминология здесь не подходит, поскольку никакая физическая пружина может вообще не использоваться, клавиша или кнопка не запирается, и их удерживание не вызывает модальных ошибок. Выражение режим, удерживаемый пользователем(user-maintained mode), является более точным, но от него трудно образовать прилагательное. Для обозначения режимов, которые удерживаются пользователем кинестетически, я стал использовать термин квазирежими его прилагательное квазимодальный(рис. 3.8).
    Рис. 3.8. Нотр-Дамский горбун
   Квазирежимы являются весьма эффективными с точки зрения устранения режимов (Raskin, 1989). Однако излишнее использование квазирежимов может привести к абсурдным условностям, требующим запоминания десятков команд, например Control“ Alt“ Shift“ Esc“ q‘‘‘. Для сохранения эффективности число квазирежимов, скорее всего, должно быть от 4 до 7. Тем не менее, необходимо сказать, что один квазирежим может решить сразу множество различных проблем (см. раздел 5.4).
   Типичная проблема, которая легко решается при помощи квазирежимов, возникает в тех случаях, когда интерфейс предлагает пользователю некий набор вариантов, например выпадающее меню в Macintosh. При таком применении квазирежимов вы нажимаете кнопку графического устройства ввода, и, пока вы удерживаете кнопку в нажатом положении, под названием меню появляется список вариантов. Вы перемещаете курсор на требуемый вариант и отпускаете кнопку, чтобы выбрать соответствующий пункт меню.
   Другим случаем применения квазирежимов является циклический переход по некоторому списку опций. Если цикл начинается с одного и того же элемента списка и переход происходит в одном и том же направлении и если в списке содержится небольшое число элементов, то для выбора конкретной опции потребуется только определенное число нажатий. Например, в компьютере Canon Cat при форматировании выделенного текста пользователь может изменить стиль абзаца в пределах четырех вариантов: по левому краю, по центру, по правому краю или по ширине. Стиль абзаца определялся с помощью повторного нажатия на клавишу с надписью на фронтальной поверхности ¶STYLE
   Для того чтобы задействовать функцию клавиши, обозначенную на ее фронтальной поверхности, в компьютере Canon Cat была предусмотрена специальная клавиша «Use Front» (рис. 3.9).
   В общем смысле клавиша «Use Front» позволяет вам активизировать функции, обозначенные не сверху, а на фронтальной поверхности клавиш. Стиль абзаца назначался в квазирежиме (вы нажали и удерживали клавишу «Use Front», пока нажимали кнопку ¶Style), и поэтому компьютеру было ясно, сколько раз клавиша была нажата. В результате вы выучили, что одно нажатие выравнивало выделенный текст по левой стороне, два нажатия – по правой стороне, и т. д. Если бы цикл всегда начинался с той опции, которая использовалась последний раз, как это часто делается в интерфейсах, применение команды назначения стиля абзаца не могло бы стать привычным, и вам всегда приходилось бы смотреть на монитор, чтобы увидеть результат команды. Заметьте, что если бы нажатие на кнопку назначения стиля абзаца не требовало также и удерживания кнопки «Use Front», это бы не работало правильно, потому что именно удерживание кнопки «Use Front» устанавливало квазирежим и позволяло системе определить начало отсчета.
    Элементы интерфейса часто можно называть привычными в том случае, что они могут легко использоваться «слепым» пользователем. Интерфейсы, построенные на основе принципов, изложенных в этой книге, часто могут использоваться даже слепыми пользователями, – а по отношению к тому, что находится вне нашего локуса внимания, мы все являемся в самом прямом смысле слепыми.
    Рис. 3.9.Клавиша «Use Front» и некоторые другие командные клавиши, используемые в компьютере Canon Cat. Надпись USE FRONT имеет светло-голубой цвет, так же как и надписи на фронтальной поверхности тех клавиш, которые могут быть задействованы с помощью клавиши «Use Front»
   В некоторых меню или палитрах самый используемый элемент или тот, который был использован последний раз, помещается наверх, что является простым примером адаптивного менюили адаптивной палитры. Меню или палитра делаются адаптивными исходя из того предположения, что если оставлять часто используемый элемент на виду, без необходимости поиска его в меню, то это может ускорить работу пользователя. Здесь полезно сравнить два метода. В первом методе выбранный элемент убираетсяиз общего списка и помещается в основную палитру или меню. Во втором методе выбранный элемент копируетсяв основную палитру или меню (рис. 3.10).
    Рис. 3.10. Выдвигающаяся палитра Ашлара. Обратите внимание на то, что первый элемент из выдвигающейся группы дублируется в основном меню, поэтому все элементы, группы остаются в одном и том же порядке, что позволяет сделать их использование автоматичным
   Поначалу первый метод кажется лучше, потому что в списке остается на один элемент меньше, следовательно, пользователю придется сделать на один выбор меньше, а места на экране становится больше. Однако в этом случае пользователю придется останавливаться, чтобы проверить, где именно находится нужный ему элемент: в основном меню или в выдвигающемся, особенно если с момента последнего его использования прошло больше нескольких секунд. Но второй метод, при котором пользователь всегда знает, каким по счету является тот или иной элемент в списке, обычно оказывается эффективнее, поскольку с когнитивной точки зрения, если вы помните, что и где находится в основном меню, вы сэкономите время и не станете просматривать весь список элементов. Но если вы не помните, вы сможете воспользоваться списком как обычно.
   Пакет Vellum (Ashlar, 1995) является примером продукта, в интерфейсе которого грамотно используются адаптивные палитры (рис. 3.10). В этом пакете палитры действительно являются адаптивными, и каждый инструмент можно найти в ожидаемом месте. Таким образом, опытный пользователь может решить не пользоваться адаптивным меню и автоматично отправится к тому месту, где привычно располагается необходимый ему инструмент. В разделе 3.5 будет рассмотрен еще один аспект использования нескольких способов для выбора какого-либо инструмента.
   Существует идея, по которой интерфейс должен адаптироваться в соответствии с эмоциональным состоянием пользователя, и в некоторых продуктах (например, Bob от компании Microsoft) действительно делается попытка приспособить интерфейс под характеристики личности пользователя. Однако пока непонятно, каким образом интерфейс может подстраиваться под пользователя, не нарушая процесса привыкания. И даже если когда-нибудь мы и сможем уверенно определять текущее эмоциональное состояние пользователя и использовать эту информацию для улучшения характеристик интерфейса, не нарушая системы автоматичных реакций и навыков пользователя, интерфейсы все же должны будут обладать способностью удовлетворять те когнитивные потребности пользователя, которые являются неизменными. Поэтому принципы, о которых идет речь в этой книге, могут быть применены и, вероятно, должны быть применены еще до настройки интерфейса в соответствии с эмоциональными потребностями пользователя.
   В основном существует только два типа сигналов, которые вы вводите в компьютер или другое устройство для обработки информации: те, которые служат для создания содержания, и те, которые используются для управления системой. В этом отношении предлагается следующий практический подход: квазирежимы должны использоваться для управленческих функций, тогда как для создания содержания должны применяться операции без задействования квазирежимов. Именно этот подход можно считать наиболее верным, поскольку управлять системой, удерживая кнопку для включения квазирежима, труднее. Однако важнее, чтобы пользователь мог больше времени уделить созданию содержания и работе с ним, а не применению различных команд для управления системой.

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

   Большой класс команд предусматривает применение некоторого действияк некоторому объекту. Например, при использовании текстового процессора вы можете выбрать какой-то абзац и изменить его шрифт. В этом случае объектом является абзац, а действием – выбор нового шрифта, при этом в интерфейсе могут использоваться две последовательности: либо (1) сначала выбор глагола(изменить шрифт), а затем выделение существительного(абзац); либо (2) сначала существительное, а потом глагол. На первый взгляд может показаться, что оба варианта являются симметричными, и порядок не важен. Однако для большинства интерфейсов ситуация не является симметричной, и порядок (существительное-глагол или глагол-существительное) [15]имеет большое значение с точки зрения юзабилити интерфейса.
   В большинстве руководств по разработке интерфейсов рекомендуется именно модель взаимодействия существительное-глагол (Apple, 1987; Hewlett Packard, 1987; IBM, 1988; Microsoft. 1995). Анализ, проведенный с точки зрения локуса внимания пользователя, показывает преимущества такой модели:
   •  Уменьшение количества ошибок. Последовательность глагол-существительное устанавливает режим. Если вы выбрали команду изменения стиля, то она будет сразу применена к тексту, который вы выделите. Если между назначением команды и выделением текста произойдет задержка или внимание пользователя отвлечется, но после того как текст будет выделен, результат может оказаться для него неожиданным. При использовании модели существительное-глагол команды выполняются сразу, пока еще находятся в локусе внимания пользователя.
   •  Скорость. Пользователю не требуется переключать свое внимание с содержания (которое и вызвало необходимость выполнения операции) к самой команде и затем опять к содержанию, чтобы можно было выделить необходимый участок текста. В модели существительное-глагол вы сначала выделяете текст, находящийся в локусе вашего внимания, и затем переключаете внимание на команду. Таким образом, число переключений локуса внимания уменьшается на единицу.
   •  Простота и обратимость. При использовании модели глагол-существительное должна быть предусмотрена возможность отмены или отката команды. Если пользователь назначает команду и затем решает изменить ее, следует учитывать, что он находится в этот момент в режиме, и система ожидает, что будет сделано выделение текста для применения уже назначенной команды. Поэтому должен быть предусмотрен механизм подачи системе сигнала о том, что вы не хотите выделять текст и хотите назначить другую команду. В модели существительное-глагол, для того чтобы выбрать другой текст, не требуется нажимать кнопку отката или применять какой-либо другой способ отмены действия.
 
   Тем не менее, в каждом из увиденных мной руководств по разработке интерфейсов, в которых рекомендуется модель существительное-глагол, использование модели глагол-существительное также допускается. В руководстве Microsoft говорится, что модель глагол-существительное необходимо использовать для палитр, например, в выборе стиля кисти в графических редакторах (Microsoft, 1995). Вообще, это не совсем правильно. В данном случае также можно использовать чистую модель существительное-глагол. Вы можете рисовать с использованием набора параметров, принятого по умолчанию (например, тонкая линия черного цвета), и затем с помощью команд изменять цвет, ширину, текстуру и другие параметры линии. Однако на самом деле мы хотим сразу видеть, как выглядит каждый мазок, который мы делаем, со всеми его параметрами.
   Общепринятый способ, при котором пользователь сначала выбирает атрибуты из одной или нескольких палитр, – аналогично тому, как вы можете перед началом рисования макать кисть в ту или другую банку с краской, – приводит к модальным ошибкам, которые, как мы уже видели, неизбежно должны здесь возникать. Имеет смысл делать так, чтобы выбранный режим сохранялся до тех пор, пока пользователь специально не сменит его. В этом случае вы можете начать рисование и неожиданно обнаружить, что для этого используются другие атрибуты, но, к счастью, результат рисования в данный момент находится в локусе вашего внимания. Программное обеспечение, которое в нашей терминологии мы можем назвать человекоориентированным, в этом случае позволит вам сразу отменить не устраивающий вас результат, изменить атрибуты и продолжить работу. Модальные ошибки всегда вызывают раздражение, поэтому модель существительное-глагол или другой немодальный метод был бы более эффективным в этой ситуации, но пока, насколько я знаю, никто еще не нашел удачного решения этой проблемы.
    В целом, подход «существительное-глагол» является более предпочтительным. Применение методов «глагол-существительное» должно ограничиваться только выбором из палитр, если они предназначены для непосредственного использования.
Пример приведения проблемной модели «глагол-существительное» к модели «существительное-глагол»
   Работники разных отделов одной транснациональной корпорации использовали специальную компьютерную систему для размещения заказов на товары. На ее примере мы рассмотрим один из способов перехода с естественной, на первый взгляд, модели «глагол-существительное» на модель «существительное-глагол». Такое изменение помогло на практике устранить те ошибки, которые возникали при использовании первого варианта интерфейса, и ускорило процесс выполнения заказа на товары.
   В исходном варианте процесс состоял из трех шагов:
   1. Необходимо выбрать отдел, для которого заказ был предназначен. Для этого следовало поставить флажок рядом с названием отдела. Один из флажков, соответствующий отделу, в котором находился данный компьютер, был установлен по умолчанию.
   2. Требовалось выбрать необходимые товары из прокручиваемого списка. Рядом с каждым товаром находилось текстовое окно ввода, в которое можно было занести заказываемое количество каждого товара.
   3. Необходимо щелкнуть по одной из двух кнопок внизу дисплея: либо «Отменить заказ», либо «Подтвердить заказ».
   Первая проблема состояла в том, что пользователи не могли выбрать свой отдел, если они делали заказ не со своего рабочего места. Разработчики компании предложили отменить установку отдела по умолчанию, вынуждая пользователей каждый раз сначала выбирать отдел. Они заметили, что в этом случае единственно возможная ошибка связана только с выбором неправильного отдела. Тем не менее, такое решение раздражало тех пользователей, которые обычно работали за своим компьютером, и необходимость каждый раз вводить информацию, которая уже была доступна системе, вызывала раздражение.
   По сути дела, проблемой являлась все та же ситуация «глагол-существительное». Сначала необходимо было ввести, что вы хотите сделать (доставить эти товары в этот отдел), и затем выбрать, что именно вы хотите доставить. Однако при открытии окна заказа в локусе вашего внимания находятся (или только что находились) товар или товары, которые вам нужны.
   Часть решения заключалась в том, чтобы разместить список товаров наверху окна заказа. Таким образом, пользователь мог начать с выделения нужных товаров. А список отделов, который раньше не имел никаких надписей, получил заголовок в форме вопроса: «В какой отдел следует доставить заказанные товары?»
   Если система могла определить собственный отдел пользователя (на основе журнала работы пользователя), в первую строку списка отделов автоматически добавлялся элемент под названием «Мой отдел», который так же, как и другие элементы списка, имел флажок.
   Все другие отделы, расположенные в алфавитном порядке, составляли остальную часть списка. Рядом с каждым отделом находился флажок. При установке флажка появлялось сообщение: «Отмеченные товары заказаны», которое исчезало сразу после любого действия пользователя.
   В измененном варианте интерфейса выбор отдела являлся действием, т. е. глаголом, после которого информация об отмеченных товаpax отправлялась для обработки. Психологически это стало действием, завершающим всю операцию заказа, а не предваряющим его. Кроме того, следует отметить, что к этому моменту бланк заказа уже заполнен, и внимание пользователя сместилось с самих товаров на необходимость их доставки. Таким образом, ход работы стал соответствовать тому, куда обычно следует внимание пользователя.
   Отпала необходимость в установке места доставки по умолчанию, так как интерфейс предоставлял четкое психологическое окончание процессов выбора товаров и отправки заказа. В начальном варианте интерфейса требовалось подтверждение заказа, тогда как в новом варианте количество щелчков мыши сократилось, ибо от пользователя не требовалось делать еще одного лишнего щелчка. С введением нового варианта интерфейса у пользователей появилась возможность сформировать привычку выбирать из списка отделов обычное место доставки, но оставалась вероятность того, что пользователь в редких случаях мог забыть отметить при необходимости и другие отделы, в которые товары должны быть доставлены. Тем не менее, даже с наличием этой потенциальной ошибки новый вариант интерфейса был существенно улучшен по сравнению с предыдущим.

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. Так, а на каком, вы сказали, мы сейчас шаге? Если вы встречаете компьютерный интерфейс, в котором есть много ярких красок и мириады объяснительных надписей, можете быть уверены, что он представляет собой сплошную путаницу.