Большой класс команд предусматривает применение некоторого
В большинстве руководств по разработке интерфейсов рекомендуется именно модель взаимодействия существительное-глагол (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 (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, нажмите одну из следующих клавиш:
Если пользователь нажмет кнопку «Получить сдачу», то ему будет задан вопрос о том, на какую сумму он хочет купить билет, после чего потребуется нажать кнопку ENTER, находящуюся под числовой клавиатурой. После этого на экране отобразится текущая сумма, которую следует либо увеличить, либо уменьшить, либо подтвердить. После выдачи билета пользователю должна быть возвращена сдача. Если опытный пассажир уже имеет точную сумму денег, то для него количество действий сокращается с шести до следующих двух: опустить деньги и нажать кнопку «Выдать билет».
3.5. Монотонность
Человек – слишком сложный организм. Если уж ему суждено исчезнуть, то вымрет он от желания простоты.
Разработчики интерфейсов часто предлагают пользователям сразу несколько методов достижения того или иного результата. Например, одна и та же команда может выполняться как с помощью меню, так и с помощью сочетания клавиш. В большинстве текстовых процессоров вы можете переместить фрагмент текста либо за три шага (выделение, вырезание, вставка), либо за два (выделение и перетаскивание). Причем сам процесс выделения может выполняться более чем одним способом. Таким образом, для пользователя обычно имеется целый «шведский стол» методов.
Одним из оправданий такого разнообразия методов для выполнения задачи может быть то, что одни пользователи могут предпочесть один метод, а другие пользователи – другой. Например, для новичка научиться пользоваться меню может быть легче, тогда как опытный пользователь, скорее всего, не будет отрывать рук от клавиатуры и отдаст команду с ее помощью (см. раздел 3.6). Другим оправданием может быть то, что один метод (например, выделение, вырезание и вставка) может быть полезным для работы с разнесенными частями документа, а другой метод (выделение и перетаскивание) может быть эффективным, только когда на дисплее видны и исходная и конечная позиции одновременно. Другим обоснованием множества методов может быть то, что каждый из них порожден традицией, и поэтому разработчики считают разумным использовать как можно больше навыков из уже существующих у пользователей.
Этот последний довод, называемый еще
Тактика гибридизации различных вариантов интерфейса, а вернее, сбрасывания всех методов подряд в одну кучу увеличивает время обучения, создает сложный в использовании автопилот и, как отметила упомянутый пилот, «создает путаницу в кабине и увеличивает вероятность ошибки». Хотя она и не сказала этого, но, вероятно, это также увеличивает стоимость и сложность приборов, руководств по их использованию и стоимость их обслуживания. То же касается любого интерфейса, который представляет собой совокупность разрозненных подходов, накопленных с течением времени, включая также Macintosh и Windows.
Для описания интерфейса, имеющего только один способ выполнения той или иной задачи, я использую термин
Другой причиной отсутствия монотонности в интерфейсе может быть нерешительность разработчиков. Я встречал случаи, когда проблема наличия каких-то двух и более вариантов, ни один из которых не имеет преимуществ по сравнению с другими, предусмотрительно «решалась» с помощью внедрения сразу
Общераспространенным мифом (более подробно о нем см. в разделе 3.6) является то, что интерфейсы для начинающих и опытных пользователей системы должны быть совершенно различными. Иногда разработчики говорят о том, что «необходимо найти компромисс между легкостью изучения интерфейса и общей скоростью работы системы» (Card, Moran, и Newell, 1983, с. 419). Это действительно может касаться каких-то особых моделей интерфейсов, но это необязательно имеет отношение ко всем интерфейсам вообще и в частности к тем видам интерфейса, которые обсуждаются в этой книге.
Когда требуется сделать выбор между несколькими методами, ваш локус внимания временно смещается с текущей задачи на принятие решения о выборе. Это является главным обоснованием монотонности системы. Если условия для принятия решения остаются достаточно простыми и ясными, то в каждом случае вы можете поступать неким привычным способом, тем самым делая ситуацию «монотонной». Таким образом, перед разработчиками интерфейсов стоит задача по поиску монотонного решения для того, чтобы обеспечить такие преимущества, как легкость изучения, простоту внедрения, минимум документации и небольшой размер расходов на обслуживание. Эти преимущества могут быть достигнуты либо без затрат для разработчика, либо за счет относительно небольшой единовременной затраты на тщательную разработку и тестирование интерфейса. Монотонность означает не то, что с каким-то содержанием нельзя работать разными способами, а то, что для вызова одной и той же команды не должно использоваться множество жестов.
Монотонность проявляется спонтанно. Многие пользователи сами делают интерфейс монотонным через предпочтение какого-то одного метода и игнорирование его альтернатив независимо от ситуации. Опытные пользователи, которые гордятся знанием каждого закоулка какой-то системы, часто называют таких пользователей «чайниками». Тем не менее, такие «чайники» могут использовать интерфейсы более эффективно, чем «профессионалы». С точки зрения разработчика такие пользователи попусту теряют преимущества других способов, но с точки зрения пользователя оказывается, что это именно разработчики впустую тратят свои ресурсы.
3.6. Миф о дихотомии «новичок-эксперт»
В первую очередь мы люди, а потом, уже либо эксперты, либо новички.
Мнение психолога Клиффорда Насса аналогично мнению, которое имеет автор этой книги: разработка интерфейса должна начинаться с учета слабых и сильных сторон человека. Каждый элемент интерфейса должен соответствовать как нашим когнитивным способностям, так и требованиям задачи, стоящей перед пользователем, хотя этим требования к разработке не исчерпываются. Мнение Насса также отражает распространенный взгляд, суть которого заключается в том, что всех пользователей можно разделить на две группы: экспертов и новичков (и, вероятно, еще тех, кто временно находится на переходной стадии от одной группы к другой). Эта дихотомия неверна. Как пользователь сложной системы вы не являетесь ни новичком, ни экспертом, и вас нельзя отнести к какой-то точке на одномерном диапазоне между этими двумя полюсами. Вы можете знать или не знать каждый элемент интерфейса или каждый набор связанных элементов, которые работают одинаковым образом. Вы можете знать, как использовать многие команды и опции какого-то программного пакета, – вы даже можете работать с этим пакетом профессионально, и поэтому другие люди могут обращаться к вам за советом по его использованию. Однако вы можете не знать, как пользоваться некоторыми другими командами, или вообще не знать о существовании этих команд или даже целых категорий команд в данном пакете. Например, пользователю программы для обработки фотоизображений, который применяет ее только для создания онлайновых изображений, может никогда не понадобиться возможность выполнения цветоделения, которая используется, главным образом, для коммерческой печати (или он может даже и не знать об этой возможности).
Разработчики интерфейсов делали разные попытки учесть допущение о том, что пользователей можно разделить на новичков и экспертов. Но поскольку это допущение неверно, все эти попытки, естественно, провалились. Хорошим примером могут послужить адаптивные системы, способные автоматически переключаться с режима для начинающих пользователей в режим для опытных пользователей, когда они определяют, что ваше умение владеть системой достигло необходимого уровня. Если во время использования этой системы в режиме для начинающих пользователей она внезапно переключается в «экспертный режим», для пользователя происходит неожиданное изменение рабочей среды, по крайней мере, ее части. Не лучшим вариантом является и то, если система будет переключаться постепенно, часть за частью. В этом случае она будет проявлять себя неустойчиво и беспорядочно, поскольку привычки и навыки, которые вы успели вчера сформировать как новичок, становятся бесполезными, если сегодня данный элемент переключился в экспертный режим.
Однажды я встретил работающую в сети программу, в которой была предусмотрена возможность перехода на экспертный режим, если вам удалось хотя бы раз успешно ею воспользоваться. Если вы не работали с этой программой более шести месяцев, то автоматически возвращались обратно к статусу новичка. Конечно, любая такая схема может не соответствовать реальной способности пользователя учиться и запоминать. Если программа, которая продвинула вас на более высокий уровень, после слишком короткого периода времени переключилась обратно в режим для новичков, необходимость опять пользоваться методами, предусмотренными для начинающих, вызовет у вас раздражение. Если же программа не переключится в режим для начинающих вовремя, то перед вами могут оказаться элементы, использование которых вами уже прочно забыто. При современной технологии система не может точно определить, когда вы забыли, как пользоваться данной возможностью, поэтому она не может точно переключиться обратно в режим для новичков. Если же программа будет постоянно время от времени оценивать ваш уровень владения системой, это будет назойливым для пользователя.
Большинство попыток сделать интерфейс адаптивным оказываются неблагоразумными. Всякий раз, когда система автоматически как-то изменяется, даже если эти изменения настолько же незначительны, как и, скажем, измененный порядок элементов в меню, ваши ожидания от работы системы не оправдываются, и накопленные привычки и навыки теряют смысл. (Кстати говоря, в своей новой операционной системе Windows 2000 компания Microsoft представила адаптивные меню.[19]) С другой стороны, не существует теории о том, что один и тот же неизменный интерфейс не может служить хорошо в течение всего времени использования, начиная от начального уровня и заканчивая профессиональным. Лучшим вариантом было не менять ничего в течение всего времени использования продукта, и, наверное, не следует проводить специальных исследований для того, чтобы убедиться, что для выполнения какой-то задачи лучше изучать только один интерфейс, а не несколько.
Очень легко попасть в ловушку идеи разработки разных интерфейсов для разных классов пользователей, потому что она чревата слишком большими обобщениями, которые могут привести к ложному упрощению процесса разработки. Немногие из этих обобщений окажутся верными для каждого пользователя в любом (значительно большем) классе пользователей, который можно выделить. Средством против такого заблуждения может быть взгляд на интерфейс не с точки зрения класса пользователей, а с точки зрения индивида. Каждый человек, который использует какое-то программное обеспечение достаточно долгое время, проходит через сравнительно короткий этап изучения каждой команды и каждого элемента интерфейса, а также через намного более длительный период обычного (и, надеюсь, автоматичного) его использования. Нам действительно необходимо разрабатывать такие системы, которые легко изучить и понять, но еще более важным является то, чтобы эти системы могли эффективно использоваться в течение длительного времени. Исключение могут составить только программы, которые предполагается использовать недолго, поэтому каждый ее пользователь будет начинающим, и вопрос приобретения навыков и привычек здесь не имеет значения. В качестве примера такого интерфейса можно привести выставочный киоск, оснащенный компьютером.
Фаза изучения работы элемента интерфейса требует сознательного внимания. Поэтому простота и ясность функции, а также ее видимость имеют особую важность. Фаза профессионального владения интерфейсом главным образом характеризуется бессознательным использованием его возможностей. Такое использование подкрепляется следующими качествами интерфейса: соответствие задаче, немодальность и монотонность. Эти требования ни в коей мере не противоречат друг другу. Таким образом,
Конечно, это не значит, что интерфейс не может быть разделен на такие части. Однако если вы разрабатываете интерфейс и у вас возник соблазн создать комбинации клавиш специально для опытных пользователей, подумайте, не следует ли вместо этого переработать существующий метод так, чтобы его механизм мог подойти под требования всех пользователей.
4. Квантификация
Гармония мира проявляется Формой и Числом, и потому и сердце, и душа, и вся поэзия Натуральной Философии воплощаются в понятиях математической красоты.
Существует множество методов количественного анализа элементов интерфейса. Однако ясное руководство о том, как использовать эти методы, можно встретить редко. В этой главе будет дано простое описание и подробные примеры модели GOMS, разработанной Кардом, Мораном и Ньюэллом, а также критерий эффективности Раскина, закон Хика и закон Фитса.
4.1. Количественный анализ интерфейса
Он все тыкал и тыкал пальцами в компьютер, а Мелроуз просто изумлялся тому, что машина, которая предназначена для избавления человека от всей мелкой, рутинной работы, выполняла такую простую задачу настолько долго, что Буб, наверное, уже десять раз успел бы все сделать руками.
Многие количественные и эвристические методы используются для анализа и изучения интерфейсов. Эти методы составляют значительную часть содержания большинства книг, посвященных этой теме, включая и те, которые указаны в библиографическом списке за такими авторами, как Шнейдерман (Shneiderman), Норман (Norman) и Мэйхью (Mayhew). Например, с помощью пассивного наблюдения за тестированием нового интерфейса с участием нескольких добровольцев опытный разработчик интерфейсов может узнать столько же ценной информации, сколько можно получить с помощью любого метода количественного анализа. Здесь я хочу сосредоточиться на количественных методах не для того, чтобы принизить значение качественных методов, но скорее для того, чтобы найти между ними баланс и показать ценность численных и эмпирических методов, которые не являются широко известными. Количественные методы часто могут свести спорные вопросы к простым вычислениям. Еще одним, более важным преимуществом этих методов является то, что они
Одним из лучших подходов к количественному анализу моделей интерфейсов является классическая модель GOMS – «правила для целей, объектов, методов и выделения» (the model of goals, objects, methods, and selection rules), которая впервые привлекла к себе внимание в 80-х годах (Card, Moran and Newell, 1983). Моделирование GOMS позволяет предсказать, сколько времени потребуется опытному пользователю на выполнение конкретной операции при использовании данной модели интерфейса. После обсуждения модели GOMS мы рассмотрим количественные методы оценки производительности интерфейсов, скорости движения курсора и времени, необходимого для принятия решения.
4.2. Модель скорости печати GOMS
Цель точной науки заключается в том, чтобы свести проблемы природы к установлению количеств посредством операций с числами.
Здесь я хочу обсудить только один простейший, но довольно ценный аспект метода GOMS – модель, основанная на оценке скорости печати. Разработчики, которые знакомы с методом GOMS, редко проводят детальный и формальный анализ модели интерфейса. Отчасти это происходит из-за того, что основы GOMS и других количественных методов известны им настолько, что они изначально руководствуются этими методами в процессе разработки. К формальному анализу, конечно, прибегают в случаях, когда необходимо выбрать один из двух вариантов разработки, когда даже небольшие различия в скорости могут давать большой экономический и психологический эффект. Иногда разработчики пользуются поражающими своей точностью расширенными моделями GOMS, как, например, анализ с использованием метода критического пути GOMS (critical-path method GOMS, CPM-GOMS) или версия, называемая естественным языком GOMS (natural GOMS language, NGOMSL), в которой учитывается поведение неопытного пользователя, например время, необходимое ему для обучения. С помощью этих методов можно, например, предсказать, сколько времени понадобится пользователю для выполнения некоторого набора действий при использовании данного интерфейса с абсолютной погрешностью менее 5 %. В расширенных моделях почти все оценки не выходят за пределы стандартного отклонения, принятого для измеренных значений времени (Gray, John и Atwood, 1993, с. 278). Для вопросов, которые вызывают жаркие споры и по поводу которых авторитетные разработчики зачастую высказывают совершенно разные мнения, полезно вооружиться количественными методами, имеющими теоретическое обоснование и получившими экспериментальную апробацию. Более полный обзор и библиографию, посвященные различным моделям GOMS, можно найти у Джона (John, 1995); там же можно найти и модель CPM-GOMS, разработанную самим Джоном.
4.2.1. Временные интервалы в интерфейсе
Точность цифр есть истинная душа науки.
Разработчики модели GOMS во время ее создания заметили, что время, требующееся для выполнения какой-то задачи системой «пользователь – компьютер», является суммой всех временных интервалов, которые потребовались системе на выполнение последовательности элементарных жестов, составляющих данную задачу. Хотя для разных пользователей время выполнения того или иного жеста может сильно отличаться, исследователи обнаружили, что для большей части
На практике указанные значения могут варьироваться в широких пределах. Для опытного пользователя, способного печатать со скоростью 135 слов/мин., значение K может составлять 0.08 с, для обычного пользователя, имеющего скорость 55 слов/мин., – 0.2 с, для среднего неопытного пользователя, имеющего скорость 40 слов/мин., – 0.28 с, а для начинающего – 1.2 с. Нельзя сказать, что скорость набора не зависит от того, что именно набирается. Для того чтобы набрать одну букву из группы случайно взятых букв, большинству людей требуется около 0.5 с. Если же это какой-то запутанный код (например, адрес электронной почты), то у большинства людей скорость набора составит около 0.75 символов в секунду. Значение K включает в себя и то время, которое необходимо пользователю для исправления сразу замеченных ошибок. Клавиша «Shift» считается за отдельное нажатие.
Широкая изменяемость каждой из представленных мер объясняет, почему эта упрощенная модель не может использоваться для получения абсолютных временных значений с какой-либо степенью точности. Тем не менее, с помощью типичных значений мы можем сделать правильную
Интерфейсная техника, называемая «двойным кликом», т. е. двойное нажатие кнопки ГУВ за короткий временной промежуток и без какого-либо значительного перемещения курсора между двумя нажатиями, имеет некоторые недостатки. Вы не можете точно сказать, какие объекты на экране ответят на двойной клик, а какие нет. Кроме того, не всегда ясно, какой именно может быть ответ. Отображаемые на экране монитора элементы не имеют каких-либо признаков, означающих, что двойной клик может вызвать какой-то результат, – т. е. эта функциональность является невидимой. То, каким образом двойной клик используется во многих сегодняшних интерфейсах, вынуждает пользователей запоминать не только то, по
Первые две проблемы можно, по крайней мере, частично решить с помощью использования новых условностей. Что касается двойного клика, то он сам по себе представляет проблему. Двойной клик требует использования кнопки мыши дважды в одном и том же месте или при небольшом перемещении и, в большинстве случаев, в течение небольшого промежутка времени, приблизительно за 500 мс. Если пользователь щелкает слишком медленно, машина воспринимает это как два отдельных клика, а не как один двойной клик. Если пользователь слишком сильно двигает мышью в промежутке между двумя кликами, может произойти та же самая ошибка. Если пользователь слишком быстро нажимает кнопку ГУВ, например, как при работе с некоторыми текстовыми процессорами при попытке выделить буквы внутри слова, система может воспринять два нажатия как двойной клик и в результате будет выделено все слово.
Другая проблема возникает, когда пользователь пытается выделить графический элемент, который можно переместить с помощью ГУВ. Поскольку при быстром нажатии на кнопку ГУВ это устройство очень легко сдвинуть с места, графические программы могут воспринять это действие не как двойной клик, а как попытку переноса объекта в другое место (drag-and-drop). Аналогичным образом, чтобы изменить текст в окне, пользователь может посчитать необходимым изменить местоположение случайно сдвинутого окна и внести в текст поправки, которые изначально предполагались.
Некоторые из нас не страдают от дискликсии. Эти счастливые люди никогда не промахиваются мышью. Они могут вполне беззаботно и с особым своеобразием делать и один, и два клика по мыши и никоим образом не страдать от каких-то побочных эффектов. Они всегда помнят, что может система ответить на двойной щелчок, а что не может. Такие люди способны попасть из револьвера калибра 0,357 в летящую птицу, двигаясь при этом на автомобиле по извилистой горной дороге. Однако нельзя рассчитывать на то, что все пользователи настолько удачливы. Поэтому интерфейс необходимо разрабатывать с учетом пользователей, страдающих от дискликсии, а также с учетом проблем, присущих использованию двойного клика.[21]
Длительность ответа, поступающего от компьютера, R, может оказывать неожиданный эффект на действия пользователя. Если при использовании какого-то управляющего элемента на экране монитора в течение приблизительно 250 мс ничего не возникает, пользователь, скорее всего, может почувствовать беспокойство, решит сделать еще одну попытку или подумает, что система неисправна.
Нельзя сделать такой продукт, который мог бы завершать все операции за время, не превышающее времени реакции пользователя, но можно сделать такие интерфейсы, в которых в течение этого времени всегда бы выдавалось сообщение о том, что информация от пользователя принята и правильно распознана. В противном случае действия пользователя во время задержки – чаще всего просто молотьба по клавиатуре с целью получить хоть какой-то ответ – могут привести к нежелательным реакциям со стороны системы, приводя тем самым к еще большей задержке или даже повреждению содержания. Например, при попытке скачать какой-нибудь файл с America Online с помощью броузера (например, Netscape) очень часто возникает большая задержка. При этом не появляется никакого признака, что действительно что-то происходит. Возникает только небольшое статическое сообщение о том, что компьютер ждет ответа, но оно находится далеко за пределами локуса внимания пользователя. Через несколько секунд неопытный пользователь начинает кликать по кнопкам на экране, что приводит к остановке загрузки файла – опять же без всякого сообщения об этом.
Если задержки неизбежны, важно, чтобы в интерфейсе была предусмотрена сообщающая о них обратная связь, – например, можно использовать индикатор хода выполнения задачи (status bar) (рис. 4.1), отражающий время, оставшееся до конца операции. Если неизвестно, сколько именно времени займет операция, так и скажите об этом пользователю! Нельзя лгать пользователю или вводить его в заблуждение.
4.2.2. Расчеты по модели GOMS
Вычисления времени, необходимого на выполнение того или иного действия (например, «переместить руку с графического устройства ввода на клавиатуру и набрать букву»), с помощью модели GOMS начинаются с перечисления операций из списка жестов модели GOMS (см. раздел 4.2.1.), которые составляют это действие (в приведенном примере это H K). Перечисление движений (K, P и H) – это довольно простая часть модели GOMS. Более сложным, например, в модели скорости печати GOMS, является определение точек, в которых пользователь остановится, чтобы выполнить бессознательную ментальную операцию, – интервалы ментальной подготовки, которые обозначаются символом M. Основные правила (по Card, Moran и Newell, 1983, с. 265), позволяющие определить, в какие моменты будут проходить ментальные операции, представлены в табл. 4.1. В разделе 4.2.3 мы рассмотрим, как эти правила применяются на практике.
Правило 0. Начальная расстановка операторов M
Операторы M следует устанавливать перед всеми операторами K (нажатие клавиши), а также перед всеми операторами P (указание с помощью ГУВ), предназначенными для выбора команд; но перед операторами P, предназначенными для указания на аргументы этих команд, ставить оператор M не следует.
Правило 1. Удаление ожидаемых операторов M
Если оператор, следующий за оператором M, является полностью ожидаемым с точки зрения оператора, предшествующего M, то этот оператор M может быть удален. Например, если вы перемещаете ГУВ с намерением нажать его кнопку по достижении цели движения, то в соответствии с этим правилом следует удалить оператор M, устанавливаемый по правилу 0. В этом случае последовательность P M K превращается в P K.
Правило 2. Удаление операторов M внутри когнитивных единиц
Если строка вида M K M K M K… принадлежит когнитивной единице, то следует удалить все операторы M, кроме первого. Когнитивной единицей является непрерывная последовательность вводимых символов, которые могут образовывать название команды или аргумент. Например
Правило 3. Удаление операторов M перед последовательными разделителями