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

3.5. Монотонность

   Человек – слишком сложный организм. Если уж ему суждено исчезнуть, то вымрет он от желания простоты.
Эзра Паунд

   Разработчики интерфейсов часто предлагают пользователям сразу несколько методов достижения того или иного результата. Например, одна и та же команда может выполняться как с помощью меню, так и с помощью сочетания клавиш. В большинстве текстовых процессоров вы можете переместить фрагмент текста либо за три шага (выделение, вырезание, вставка), либо за два (выделение и перетаскивание). Причем сам процесс выделения может выполняться более чем одним способом. Таким образом, для пользователя обычно имеется целый «шведский стол» методов.
   Одним из оправданий такого разнообразия методов для выполнения задачи может быть то, что одни пользователи могут предпочесть один метод, а другие пользователи – другой. Например, для новичка научиться пользоваться меню может быть легче, тогда как опытный пользователь, скорее всего, не будет отрывать рук от клавиатуры и отдаст команду с ее помощью (см. раздел 3.6). Другим оправданием может быть то, что один метод (например, выделение, вырезание и вставка) может быть полезным для работы с разнесенными частями документа, а другой метод (выделение и перетаскивание) может быть эффективным, только когда на дисплее видны и исходная и конечная позиции одновременно. Другим обоснованием множества методов может быть то, что каждый из них порожден традицией, и поэтому разработчики считают разумным использовать как можно больше навыков из уже существующих у пользователей.
   Этот последний довод, называемый еще обратной совместимостью(backward compatibility), [18]является самым слабым и может привести к абсурдным интерфейсам в виде собрания несовместимых методов. Однажды во время одного из длинных авиаперелетов нам пришлось приземлиться из-за плохой погоды. Пока мы ждали ее улучшения, я прошел в кабину пилотов, где смог изучить устройство автопилота. В нем имелось не менее пяти способов для ввода координат и столько же способов для включения большинства его функций. Когда я спросил пилота о причинах такой избыточности, она ответила, что автопилот сделан таким образом, чтобы функционально быть как можно более подобным автопилотам на других самолетах, на которых пилоты могли изучать данный прибор и тем самым избежать необходимости переучивания. Однако возникал вопрос относительно того, насколько такой подход можно считать правильным и насколько точно выполняется дублирование других автопилотов. Как она мне еще объяснила, пилоты должны изучать не только те небольшие, но, тем не менее, раздражающие различия между старой системой автопилота и ее эмуляцией на новой модели, но также и остальные четыре способа использования автопилота. То есть пилот обязан знать каждыйаспект работы каждогоэлемента оборудования пилотской кабины. Более того, следует отметить, что многие новые функции автопилота имеются только в некоторых эмуляциях, и ранние модели автопилотов не содержат этих функций, т. к. и копируемые автопилоты их не имели.
   Тактика гибридизации различных вариантов интерфейса, а вернее, сбрасывания всех методов подряд в одну кучу увеличивает время обучения, создает сложный в использовании автопилот и, как отметила упомянутый пилот, «создает путаницу в кабине и увеличивает вероятность ошибки». Хотя она и не сказала этого, но, вероятно, это также увеличивает стоимость и сложность приборов, руководств по их использованию и стоимость их обслуживания. То же касается любого интерфейса, который представляет собой совокупность разрозненных подходов, накопленных с течением времени, включая также Macintosh и Windows.
   Для описания интерфейса, имеющего только один способ выполнения той или иной задачи, я использую термин монотонный, который все же не совсем удачен (см. приложение B, а также Alzofon и Raskin, 1985, с. 95). Монотонность– это вторая сторона отсутствия модальности. В интерфейсе, который не имеет режимов, данный жест пользователя может иметь один и только один результат: жест g всегда приводит к действию a. Тем не менее, вполне возможно, что другой жест h тоже может приводить к результату в виде действия a. Однако монотонный интерфейс допускает только один способ выполнения того или иного действия, т. е. в этом случае действие a может вызываться только лишь жестом g и более никаким другим. Интерфейс, который является полностью немодальным и монотонным, допускает только одно соответствие между причиной (командами) и следствием (действиями). Чем более монотонным является интерфейс с точки зрения пространства данной задачи, тем легче для пользователя сформировать автоматичность ее выполнения, которая, в конце концов, создается тем, что снимается необходимость выбирать способ достижения результата.
   Другой причиной отсутствия монотонности в интерфейсе может быть нерешительность разработчиков. Я встречал случаи, когда проблема наличия каких-то двух и более вариантов, ни один из которых не имеет преимуществ по сравнению с другими, предусмотрительно «решалась» с помощью внедрения сразу всехэтих вариантов. В пользу такого подхода обычно приводится довод о том, что пользователь в этом случае получает выбор, как будто бы пользователь является экспертом по интерфейсам и может сам выбрать самый эффективный вариант.
   Общераспространенным мифом (более подробно о нем см. в разделе 3.6) является то, что интерфейсы для начинающих и опытных пользователей системы должны быть совершенно различными. Иногда разработчики говорят о том, что «необходимо найти компромисс между легкостью изучения интерфейса и общей скоростью работы системы» (Card, Moran, и Newell, 1983, с. 419). Это действительно может касаться каких-то особых моделей интерфейсов, но это необязательно имеет отношение ко всем интерфейсам вообще и в частности к тем видам интерфейса, которые обсуждаются в этой книге. Современные графические пользовательские интерфейсы, имеющие рабочий стол, являются сочетанием, по крайней мере, двух разных интерфейсов: с одной стороны, сравнительно видимой и быстроизучаемой системы на основе меню, а с другой – неполного собрания трудноизучаемых и труднозапоминаемых комбинаций клавиш. Сочетание двух ошибок не может дать правильного ответа.
   Когда требуется сделать выбор между несколькими методами, ваш локус внимания временно смещается с текущей задачи на принятие решения о выборе. Это является главным обоснованием монотонности системы. Если условия для принятия решения остаются достаточно простыми и ясными, то в каждом случае вы можете поступать неким привычным способом, тем самым делая ситуацию «монотонной». Таким образом, перед разработчиками интерфейсов стоит задача по поиску монотонного решения для того, чтобы обеспечить такие преимущества, как легкость изучения, простоту внедрения, минимум документации и небольшой размер расходов на обслуживание. Эти преимущества могут быть достигнуты либо без затрат для разработчика, либо за счет относительно небольшой единовременной затраты на тщательную разработку и тестирование интерфейса. Монотонность означает не то, что с каким-то содержанием нельзя работать разными способами, а то, что для вызова одной и той же команды не должно использоваться множество жестов.
   Монотонность проявляется спонтанно. Многие пользователи сами делают интерфейс монотонным через предпочтение какого-то одного метода и игнорирование его альтернатив независимо от ситуации. Опытные пользователи, которые гордятся знанием каждого закоулка какой-то системы, часто называют таких пользователей «чайниками». Тем не менее, такие «чайники» могут использовать интерфейсы более эффективно, чем «профессионалы». С точки зрения разработчика такие пользователи попусту теряют преимущества других способов, но с точки зрения пользователя оказывается, что это именно разработчики впустую тратят свои ресурсы.
    На мой взгляд, интерфейс, который не имеет режимов и является – насколько это возможно – монотонным, был бы чрезвычайно удобным в использовании при условии, что все другие характеристики имеют, по крайней мере, нормальное качество, принятое для современных интерфейсов.Применяя такой интерфейс, пользователь смог бы сформировать необычайно высокий уровень доверия к собственным привычкам. Только в результате этих двух свойств мог бы возникнуть эффект исчезновения интерфейса из сознания пользователя, предоставляя ему возможность направить все свое внимание на текущую задачу. Чтобы изучить все психологические свойства системы, являющейся монотонной и полностью (или почти полностью) лишенной режимов, требуется провести еще множество экспериментальных исследований.
    Если я прав, то использование продукта, интерфейс которого основан на немодальности и монотонности, могло бы быстро вызывать привыкание (близкое к зависимости) у пользователей, приводя к тому, что все они могут приобрести преданность этому продукту и предпочитать его всем другим.Для пользователей такого продукта оказалось бы психологически трудным перейти к применению конкурирующего продукта. В отличие от продажи наркотиков, продажа интерфейсов, вызывающих привыкание у их пользователей, не является противозаконной, а сам интерфейс приносит пользователям облегчение. С другой стороны, это все же имеет сходство с продажей наркотиков в том, что может приносить такие же сверхвысокие доходы.

3.6. Миф о дихотомии «новичок-эксперт»

   В первую очередь мы люди, а потом, уже либо эксперты, либо новички.
Клиффорд Насс, программа радио СВС «Quirks and Quarks» (Выходки и кварки) от 23 января 1994 г.

   Мнение психолога Клиффорда Насса аналогично мнению, которое имеет автор этой книги: разработка интерфейса должна начинаться с учета слабых и сильных сторон человека. Каждый элемент интерфейса должен соответствовать как нашим когнитивным способностям, так и требованиям задачи, стоящей перед пользователем, хотя этим требования к разработке не исчерпываются. Мнение Насса также отражает распространенный взгляд, суть которого заключается в том, что всех пользователей можно разделить на две группы: экспертов и новичков (и, вероятно, еще тех, кто временно находится на переходной стадии от одной группы к другой). Эта дихотомия неверна. Как пользователь сложной системы вы не являетесь ни новичком, ни экспертом, и вас нельзя отнести к какой-то точке на одномерном диапазоне между этими двумя полюсами. Вы можете знать или не знать каждый элемент интерфейса или каждый набор связанных элементов, которые работают одинаковым образом. Вы можете знать, как использовать многие команды и опции какого-то программного пакета, – вы даже можете работать с этим пакетом профессионально, и поэтому другие люди могут обращаться к вам за советом по его использованию. Однако вы можете не знать, как пользоваться некоторыми другими командами, или вообще не знать о существовании этих команд или даже целых категорий команд в данном пакете. Например, пользователю программы для обработки фотоизображений, который применяет ее только для создания онлайновых изображений, может никогда не понадобиться возможность выполнения цветоделения, которая используется, главным образом, для коммерческой печати (или он может даже и не знать об этой возможности).
   Разработчики интерфейсов делали разные попытки учесть допущение о том, что пользователей можно разделить на новичков и экспертов. Но поскольку это допущение неверно, все эти попытки, естественно, провалились. Хорошим примером могут послужить адаптивные системы, способные автоматически переключаться с режима для начинающих пользователей в режим для опытных пользователей, когда они определяют, что ваше умение владеть системой достигло необходимого уровня. Если во время использования этой системы в режиме для начинающих пользователей она внезапно переключается в «экспертный режим», для пользователя происходит неожиданное изменение рабочей среды, по крайней мере, ее части. Не лучшим вариантом является и то, если система будет переключаться постепенно, часть за частью. В этом случае она будет проявлять себя неустойчиво и беспорядочно, поскольку привычки и навыки, которые вы успели вчера сформировать как новичок, становятся бесполезными, если сегодня данный элемент переключился в экспертный режим.
   Однажды я встретил работающую в сети программу, в которой была предусмотрена возможность перехода на экспертный режим, если вам удалось хотя бы раз успешно ею воспользоваться. Если вы не работали с этой программой более шести месяцев, то автоматически возвращались обратно к статусу новичка. Конечно, любая такая схема может не соответствовать реальной способности пользователя учиться и запоминать. Если программа, которая продвинула вас на более высокий уровень, после слишком короткого периода времени переключилась обратно в режим для новичков, необходимость опять пользоваться методами, предусмотренными для начинающих, вызовет у вас раздражение. Если же программа не переключится в режим для начинающих вовремя, то перед вами могут оказаться элементы, использование которых вами уже прочно забыто. При современной технологии система не может точно определить, когда вы забыли, как пользоваться данной возможностью, поэтому она не может точно переключиться обратно в режим для новичков. Если же программа будет постоянно время от времени оценивать ваш уровень владения системой, это будет назойливым для пользователя.
   Большинство попыток сделать интерфейс адаптивным оказываются неблагоразумными. Всякий раз, когда система автоматически как-то изменяется, даже если эти изменения настолько же незначительны, как и, скажем, измененный порядок элементов в меню, ваши ожидания от работы системы не оправдываются, и накопленные привычки и навыки теряют смысл. (Кстати говоря, в своей новой операционной системе Windows 2000 компания Microsoft представила адаптивные меню. [19]) С другой стороны, не существует теории о том, что один и тот же неизменный интерфейс не может служить хорошо в течение всего времени использования, начиная от начального уровня и заканчивая профессиональным. Лучшим вариантом было не менять ничего в течение всего времени использования продукта, и, наверное, не следует проводить специальных исследований для того, чтобы убедиться, что для выполнения какой-то задачи лучше изучать только один интерфейс, а не несколько.
   Очень легко попасть в ловушку идеи разработки разных интерфейсов для разных классов пользователей, потому что она чревата слишком большими обобщениями, которые могут привести к ложному упрощению процесса разработки. Немногие из этих обобщений окажутся верными для каждого пользователя в любом (значительно большем) классе пользователей, который можно выделить. Средством против такого заблуждения может быть взгляд на интерфейс не с точки зрения класса пользователей, а с точки зрения индивида. Каждый человек, который использует какое-то программное обеспечение достаточно долгое время, проходит через сравнительно короткий этап изучения каждой команды и каждого элемента интерфейса, а также через намного более длительный период обычного (и, надеюсь, автоматичного) его использования. Нам действительно необходимо разрабатывать такие системы, которые легко изучить и понять, но еще более важным является то, чтобы эти системы могли эффективно использоваться в течение длительного времени. Исключение могут составить только программы, которые предполагается использовать недолго, поэтому каждый ее пользователь будет начинающим, и вопрос приобретения навыков и привычек здесь не имеет значения. В качестве примера такого интерфейса можно привести выставочный киоск, оснащенный компьютером.
   Фаза изучения работы элемента интерфейса требует сознательного внимания. Поэтому простота и ясность функции, а также ее видимость имеют особую важность. Фаза профессионального владения интерфейсом главным образом характеризуется бессознательным использованием его возможностей. Такое использование подкрепляется следующими качествами интерфейса: соответствие задаче, немодальность и монотонность. Эти требования ни в коей мере не противоречат друг другу. Таким образом, хорошо разработанный, человекоориентированный интерфейс совсем не требует разделения на подсистемы. для новичков и экспертов.
   Конечно, это не значит, что интерфейс не может быть разделен на такие части. Однако если вы разрабатываете интерфейс и у вас возник соблазн создать комбинации клавиш специально для опытных пользователей, подумайте, не следует ли вместо этого переработать существующий метод так, чтобы его механизм мог подойти под требования всех пользователей.

4. Квантификация

   Гармония мира проявляется Формой и Числом, и потому и сердце, и душа, и вся поэзия Натуральной Философии воплощаются в понятиях математической красоты.
Д'Арки Уентуорф Томпсон «О росте и форме» (1917)

   Существует множество методов количественного анализа элементов интерфейса. Однако ясное руководство о том, как использовать эти методы, можно встретить редко. В этой главе будет дано простое описание и подробные примеры модели GOMS, разработанной Кардом, Мораном и Ньюэллом, а также критерий эффективности Раскина, закон Хика и закон Фитса.

4.1. Количественный анализ интерфейса

   Он все тыкал и тыкал пальцами в компьютер, а Мелроуз просто изумлялся тому, что машина, которая предназначена для избавления человека от всей мелкой, рутинной работы, выполняла такую простую задачу настолько долго, что Буб, наверное, уже десять раз успел бы все сделать руками.
Марта Граймс «The Stargazey» (детективный роман)

   Многие количественные и эвристические методы используются для анализа и изучения интерфейсов. Эти методы составляют значительную часть содержания большинства книг, посвященных этой теме, включая и те, которые указаны в библиографическом списке за такими авторами, как Шнейдерман (Shneiderman), Норман (Norman) и Мэйхью (Mayhew). Например, с помощью пассивного наблюдения за тестированием нового интерфейса с участием нескольких добровольцев опытный разработчик интерфейсов может узнать столько же ценной информации, сколько можно получить с помощью любого метода количественного анализа. Здесь я хочу сосредоточиться на количественных методах не для того, чтобы принизить значение качественных методов, но скорее для того, чтобы найти между ними баланс и показать ценность численных и эмпирических методов, которые не являются широко известными. Количественные методы часто могут свести спорные вопросы к простым вычислениям. Еще одним, более важным преимуществом этих методов является то, что они помогают нам понять важнейшие аспекты взаимодействия человека с машиной.
   Одним из лучших подходов к количественному анализу моделей интерфейсов является классическая модель GOMS – «правила для целей, объектов, методов и выделения» (the model of goals, objects, methods, and selection rules), которая впервые привлекла к себе внимание в 80-х годах (Card, Moran and Newell, 1983). Моделирование GOMS позволяет предсказать, сколько времени потребуется опытному пользователю на выполнение конкретной операции при использовании данной модели интерфейса. После обсуждения модели GOMS мы рассмотрим количественные методы оценки производительности интерфейсов, скорости движения курсора и времени, необходимого для принятия решения.

4.2. Модель скорости печати GOMS

   Цель точной науки заключается в том, чтобы свести проблемы природы к установлению количеств посредством операций с числами.
Джеймс Клерк Максвелл «К вопросу о фарадеевых силовых линиях» (1856)

   Здесь я хочу обсудить только один простейший, но довольно ценный аспект метода 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. Временные интервалы в интерфейсе

   Точность цифр есть истинная душа науки.
Д'Арки Уентуорф Томпсон «О росте и форме» (1917)

   Разработчики модели GOMS во время ее создания заметили, что время, требующееся для выполнения какой-то задачи системой «пользователь – компьютер», является суммой всех временных интервалов, которые потребовались системе на выполнение последовательности элементарных жестов, составляющих данную задачу. Хотя для разных пользователей время выполнения того или иного жеста может сильно отличаться, исследователи обнаружили, что для большей части сравнительногоанализа задач, включающих использование клавиатуры и графического устройства ввода, вместо проведения измерений для каждого отдельного пользователя можно применить набор стандартных интервалов. С помощью тщательных лабораторных исследований был получен набор временных интервалов, требуемых для выполнения различных жестов. Ниже приводится оригинальная номенклатура, в которой каждый интервал обозначен одной буквой (Card, Moran и Newell, 1983).
 
 
   На практике указанные значения могут варьироваться в широких пределах. Для опытного пользователя, способного печатать со скоростью 135 слов/мин., значение K может составлять 0.08 с, для обычного пользователя, имеющего скорость 55 слов/мин., – 0.2 с, для среднего неопытного пользователя, имеющего скорость 40 слов/мин., – 0.28 с, а для начинающего – 1.2 с. Нельзя сказать, что скорость набора не зависит от того, что именно набирается. Для того чтобы набрать одну букву из группы случайно взятых букв, большинству людей требуется около 0.5 с. Если же это какой-то запутанный код (например, адрес электронной почты), то у большинства людей скорость набора составит около 0.75 символов в секунду. Значение K включает в себя и то время, которое необходимо пользователю для исправления сразу замеченных ошибок. Клавиша «Shift» считается за отдельное нажатие.