<= Previous | Index | Next => |
Гармония мира проявляется Формой и Числом, и потому и сердце, и душа, и вся поэзия Натуральной Философии воплощаются в понятиях математической красоты.
Д'Арки Уентуорф Томпсон «О росте и форме» (1917)
Существует множество методов количественного анализа элементов интерфейса. Однако ясное руководство о том, как использовать эти методы, можно встретить редко. В этой главе будет дано простое описание и подробные примеры модели GOMS, разработанной Кардом, Мораном и Ньюэллом, а также критерий эффективности Раскина, закон Хика и закон Фитса.
Он все тыкал и тыкал пальцами в компьютер, а Мелроуз просто изумлялся тому, что машина, которая предназначена для избавления человека от всей мелкой, рутинной работы, выполняла такую простую задачу настолько долго, что Буб, наверное, уже десять раз успел бы все сделать руками.
Марта Граймс «The Stargazey» (детективный роман)
Многие количественные и эвристические методы используются для анализа и изучения интерфейсов. Эти методы составляют значительную часть содержания большинства книг, посвященных этой теме, включая и те, которые указаны в библиографическом списке за такими авторами, как Шнейдерман (Shneiderman), Норман (Norman) и Мэйхью (Mayhew). Например, с помощью пассивного наблюдения за тестированием нового интерфейса с участием нескольких добровольцев опытный разработчик интерфейсов может узнать столько же ценной информации, сколько можно получить с помощью любого метода количественного анализа. Здесь я хочу сосредоточиться на количественных методах не для того, чтобы принизить значение качественных методов, но скорее для того, чтобы найти между ними баланс и показать ценность численных и эмпирических методов, которые не являются широко известными. Количественные методы часто могут свести спорные вопросы к простым вычислениям. Еще одним, более важным преимуществом этих методов является то, что они помогают нам понять важнейшие аспекты взаимодействия человека с машиной.
Одним из лучших подходов к количественному анализу моделей интерфейсов является классическая модель GOMS — «правила для целей, объектов, методов и выделения» (the model of goals, objects, methods, and selection rules), которая впервые привлекла к себе внимание в 80-х годах (Card, Moran and Newell, 1983). Моделирование GOMS позволяет предсказать, сколько времени потребуется опытному пользователю на выполнение конкретной операции при использовании данной модели интерфейса. После обсуждения модели 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, разработанную самим Джоном.
Точность цифр есть истинная душа науки.
Д'Арки Уентуорф Томпсон «О росте и форме» (1917)
Разработчики модели GOMS во время ее создания заметили, что время, требующееся для выполнения какой-то задачи системой «пользователь — компьютер», является суммой всех временных интервалов, которые потребовались системе на выполнение последовательности элементарных жестов, составляющих данную задачу. Хотя для разных пользователей время выполнения того или иного жеста может сильно отличаться, исследователи обнаружили, что для большей части сравнительного анализа задач, включающих использование клавиатуры и графического устройства ввода, вместо проведения измерений для каждого отдельного пользователя можно применить набор стандартных интервалов. С помощью тщательных лабораторных исследований был получен набор временных интервалов, требуемых для выполнения различных жестов. Ниже приводится оригинальная номенклатура, в которой каждый интервал обозначен одной буквой (Card, Moran и Newell, 1983).
K = 0.2 с | Нажатие клавиши. Время, необходимое для того, чтобы нажать клавишу. |
P = 1.1 с | Указание. Время, необходимое пользователю для того, чтобы указать на какую-то позицию на экране монитора. |
H = 0.4 с | Перемещение. Время, необходимое пользователю для того, чтобы переместить руку с клавиатуры на ГУВ или с ГУВ на клавиатуру. |
M = 1.35 с | Ментальная подготовка. Время, необходимое пользователю для того, чтобы умственно подготовиться к следующему шагу. |
R | Ответ. Время, в течение которого пользователь должен ожидать ответ компьютера. |
На практике указанные значения могут варьироваться в широких пределах. Для опытного пользователя, способного печатать со скоростью 135 слов/мин., значение K может составлять 0.08 с, для обычного пользователя, имеющего скорость 55 слов/мин., — 0.2 с, для среднего неопытного пользователя, имеющего скорость 40 слов/мин., — 0.28 с, а для начинающего — 1.2 с. Нельзя сказать, что скорость набора не зависит от того, что именно набирается. Для того чтобы набрать одну букву из группы случайно взятых букв, большинству людей требуется около 0.5 с. Если же это какой-то запутанный код (например, адрес электронной почты), то у большинства людей скорость набора составит около 0.75 символов в секунду. Значение K включает в себя и то время, которое необходимо пользователю для исправления сразу замеченных ошибок. Клавиша <Shift> считается за отдельное нажатие.
Широкая изменяемость каждой из представленных мер объясняет, почему эта упрощенная модель не может использоваться для получения абсолютных временных значений с какой-либо степенью точности. Тем не менее, с помощью типичных значений мы можем сделать правильную сравнительную оценку между какими-то двумя интерфейсами по уровню эффективности их использования. Если оцениваются сложные интерфейсы, включающие пересекающиеся временные зависимости, или если должны быть с точностью достигнуты определенные временные интервалы, то следует применять более сложные модели (например, CPM-GOMS), которые не рассматриваются в этой книге.
Двойная «дискликсия»20
Интерфейсная техника, называемая «двойным кликом», т.е. двойное нажатие кнопки ГУВ за короткий временной промежуток и без какого-либо значительного перемещения курсора между двумя нажатиями, имеет некоторые недостатки. Вы не можете точно сказать, какие объекты на экране ответят на двойной клик, а какие нет. Кроме того, не всегда ясно, какой именно может быть ответ. Отображаемые на экране монитора элементы не имеют каких-либо признаков, означающих, что двойной клик может вызвать какой-то результат, — т.е. эта функциональность является невидимой. То, каким образом двойной клик используется во многих сегодняшних интерфейсах, вынуждает пользователей запоминать не только то, по каким именно элементам можно дважды щелкать мышью, но и то, какой результат возникает в ответ на этой действие по отношению к разным классам элементов интерфейса.
Первые две проблемы можно, по крайней мере, частично решить с помощью использования новых условностей. Что касается двойного клика, то он сам по себе представляет проблему. Двойной клик требует использования кнопки мыши дважды в одном и том же месте или при небольшом перемещении и, в большинстве случаев, в течение небольшого промежутка времени, приблизительно за 500 мс. Если пользователь щелкает слишком медленно, машина воспринимает это как два отдельных клика, а не как один двойной клик. Если пользователь слишком сильно двигает мышью в промежутке между двумя кликами, может произойти та же самая ошибка. Если пользователь слишком быстро нажимает кнопку ГУВ, например, как при работе с некоторыми текстовыми процессорами при попытке выделить буквы внутри слова, система может воспринять два нажатия как двойной клик и в результате будет выделено все слово.
Другая проблема возникает, когда пользователь пытается выделить графический элемент, который можно переместить с помощью ГУВ. Поскольку при быстром нажатии на кнопку ГУВ это устройство очень легко сдвинуть с места, графические программы могут воспринять это действие не как двойной клик, а как попытку переноса объекта в другое место (drag-and-drop). Аналогичным образом, чтобы изменить текст в окне, пользователь может посчитать необходимым изменить местоположение случайно сдвинутого окна и внести в текст поправки, которые изначально предполагались.
Некоторые из нас не страдают от дискликсии. Эти счастливые люди никогда не промахиваются мышью. Они могут вполне беззаботно и с особым своеобразием делать и один, и два клика по мыши и никоим образом не страдать от каких-то побочных эффектов. Они всегда помнят, что может система ответить на двойной щелчок, а что не может. Такие люди способны попасть из револьвера калибра 0,357 в летящую птицу, двигаясь при этом на автомобиле по извилистой горной дороге. Однако нельзя рассчитывать на то, что все пользователи настолько удачливы. Поэтому интерфейс необходимо разрабатывать с учетом пользователей, страдающих от дискликсии, а также с учетом проблем, присущих использованию двойного клика.21
Длительность ответа, поступающего от компьютера, R, может оказывать неожиданный эффект на действия пользователя. Если при использовании какого-то управляющего элемента на экране монитора в течение приблизительно 250 мс ничего не возникает, пользователь, скорее всего, может почувствовать беспокойство, решит сделать еще одну попытку или подумает, что система неисправна.
Нельзя сделать такой продукт, который мог бы завершать все операции за время, не превышающее времени реакции пользователя, но можно сделать такие интерфейсы, в которых в течение этого времени всегда бы выдавалось сообщение о том, что информация от пользователя принята и правильно распознана. В противном случае действия пользователя во время задержки — чаще всего просто молотьба по клавиатуре с целью получить хоть какой-то ответ — могут привести к нежелательным реакциям со стороны системы, приводя тем самым к еще большей задержке или даже повреждению содержания. Например, при попытке скачать какой-нибудь файл с America Online с помощью броузера (например, Netscape) очень часто возникает большая задержка. При этом не появляется никакого признака, что действительно что-то происходит. Возникает только небольшое статическое сообщение о том, что компьютер ждет ответа, но оно находится далеко за пределами локуса внимания пользователя. Через несколько секунд неопытный пользователь начинает кликать по кнопкам на экране, что приводит к остановке загрузки файла — опять же без всякого сообщения об этом.
Если задержки неизбежны, важно, чтобы в интерфейсе была предусмотрена сообщающая о них обратная связь, — например, можно использовать индикатор хода выполнения задачи (status bar) (рис. 4.1), отражающий время, оставшееся до конца операции. Если неизвестно, сколько именно времени займет операция, так и скажите об этом пользователю! Нельзя лгать пользователю или вводить его в заблуждение.
Вычисления времени, необходимого на выполнение того или иного действия (например, «переместить руку с графического устройства ввода на клавиатуру и набрать букву»), с помощью модели 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, кроме первого. Когнитивной единицей является непрерывная последовательность вводимых символов, которые могут образовывать название команды или аргумент. Например Y, перемещать, Елена Троянская или 4564.23 являются примерами когнитивных единиц. |
Правило 3 Удаление операторов M перед последовательными разделителями |
Если оператор K означает лишний разделитель, стоящий в конце когнитивной единицы (например, разделитель команды, следующий сразу за разделителем аргумента этой команды), то следует удалить оператор M, стоящий перед ним. |
Правило 4 Удаление операторов M, которые являются прерывателями команд |
Если оператор K является разделителем, стоящим после постоянной строки (например, название команды или любая последовательность символов, которая каждый раз вводится в неизменном виде), то следует удалить оператор M, стоящий перед ним. (Добавление разделителя станет привычным действием, и поэтому разделитель станет частью строки и не будет требовать специального оператора M.) Но если оператор K является разделителем для строки аргументов или любой другой изменяемой строки, то оператор M следует сохранить перед ним. |
Правило 5 Удаление перекрывающих операторов M |
Любую часть оператора M, которая перекрывает оператор R, означающий задержку, связанную с ожиданием ответа компьютера, учитывать не следует. |
Кроме того, отметим, что в этих правилах под строкой будет пониматься некоторая последовательность символов. Разделителем будет считаться символ, которым обозначено начало или конец значимого фрагмента текста, такого как, например, слово естественного языка или телефонный номер. Например, пробелы являются разделителями для большинства слов. Точка является наиболее распространенным разделителем, который используется в конце предложений. Скобки используются для ограничения пояснений и замечаний и т.д. Операторами являются K, P и H. Если для выполнения команды требуется дополнительная информация (как, например, в случае когда для установки будильника пользователю требуется указать время его включения), эта информация называется аргументом данной команды.
Разработка интерфейса обычно начинается с определения задачи или набора задач, для которых продукт предназначен. Суть задачи, а также средства, имеющиеся для реализации ее решения, часто формулируют в виде требования или спецификации. В нижеприведенном примере в качестве пользователя выступает лаборант Хол.
Требования
Хол работает на компьютере — печатает отчеты. Иногда его отвлекают экспериментаторы, находящиеся в этой же комнате, чтобы попросить перевести температурные показания из шкалы Фаренгейта в шкалу Цельсия или наоборот. Например, Холу могут сказать: «Переведи, пожалуйста, 302.25 градуса по шкале Фаренгейта в градусы по шкале Цельсия». Значение температуры Хол может ввести только с помощью клавиатуры или ГУВ. Голосовые или другие средства ввода отсутствуют. Просьбы о переводе из одной шкалы в другую поступают приблизительно с равной вероятностью. Приблизительно 25% значений — отрицательные. 10% значений являются целочисленными (например, 37°). Результат перевода из одной шкалы в другую должен отражаться на экране монитора. Другие средства вывода результатов не используются. Хол читает вслух экспериментатору полученное значение. Вводимые и выводимые числовые значения температур могут иметь до десяти цифр с каждой стороны от десятичного разделителя.
При разработке интерфейса для системы, с помощью которой Хол сможет выполнять такие просьбы, следует минимизировать время, необходимое для перевода из одной шкалы в другую. Скорость и точность операций должны быть максимальными. Рабочая площадь экрана не ограничена. Окно или область экрана, предназначенная для перевода температурных значений, является постоянно активным и готово к вводу данных с помощью клавиатуры или ГУВ. То, каким образом Хол сможет вернуться к выполнению его основной работы, не учитывается. Задача считается выполненной с получением результата перевода.
Для оценки требуемого Холу времени исходите из среднего временного значения на введение четырех символов, включая десятичную запятую. Также, из соображений простоты, будем считать, что Хол вводит все символы без ошибок, и поэтому средства выявления ошибок и сообщения о них не требуются.
Сейчас я предлагаю читателям прервать чтение и попытаться разработать интерфейс по этим простым условиям. Для записи решения включая зарисовки изображений, которые будет наблюдать Хол на экране монитора, не потребуется много времени; поэтому постарайтесь не просто подумать об этой задаче, но и записать ее решение. (Возможно, вы захотите продолжить чтение, проигнорировав мою просьбу, однако я все же прошу вас подумать. Чтение последующих разделов будет намного более интересным, если вы сделаете попытку решить предложенную задачу самостоятельно.) После того как вы закончите разработку интерфейса, ознакомьтесь с анализами, проведенными по методу GOMS, которые будут представлены далее. После этого вы сможете проанализировать свой собственный вариант.
Инструкции в диалоговом окне (рис. 4.2) довольно просты. На их основе можно описать метод действий, который должен использовать Хол в терминах жестов модели GOMS. Запись по модели GOMS будет представлена последовательно по мере того, как будут добавляться новые жесты.
H
H P
H P K
В половине случаев в интерфейсе уже будет выбрано требуемое направление перевода, и поэтому Холу не придется кликать на переключатель. Сейчас мы рассматриваем случай, когда переключатель не установлен в требуемое положение.
H P K H
H P K H K K K K
H P K H K K K K K
Нажатие клавиши <Enter> завершает часть анализа, касающуюся метода. В соответствии с правилом 0 мы ставим оператор M перед всеми операторами K и P за исключением операторов P, указывающих на аргументы, которых в нижеследующем примере нет:
H M P M K H M K M K M K M K M K
Правило 1 предписывает заменить P M K на P K и удалить все другие операторы M, которые являются ожидаемыми (в указанном примере таких нет). Кроме того, правило 2 предписывает удалять операторы M в середине цепочек. После применения этих двух правил остается следующая запись:
H M P K H M K K K K M K
В соответствии с правилом 4 следует оставить оператор M перед конечным K. Правила 3 и 5 в данном примере не применяются.
Следующий шаг — это заменить символы операторов на соответствующие временные интервалы (напомним, что K=0.2; P=1.1; H=0.4; M=1.35).
H + M + P + K + H + M + K + K + K + K + M + K = 0.4 + 1.35 + 1.1 + 0.2 + 0.4 + 1.35 + 4*(0.2) + 1.35 + 0.2 = 7.15 с
В случае когда переключатель уже установлен в требуемое положение, метод действий становится следующим:
M K K K K M K
M + K + K + K + K + M + K = 3.7 с
По условиям задачи оба случая являются равновероятными. Таким образом, среднее время, которое потребуется Холу на использование интерфейса для перевода из одной шкалы в другую, составит (7.15+3.7)/2 ≈ 5.4 с. Но поскольку описанные два метода являются разными, Холу будет трудно использовать их автоматично. Нерешенной проблемой количественных методов анализа остается оценка процента появления ошибок при использовании данной модели интерфейса.
Далее мы рассмотрим графический интерфейс, в котором используется известная всем метафора.
В интерфейсе, показанном на рис. 4.3, используется наглядное отображение термометров. Хол может поднять или опустить указатель на каждом термометре методом перетаскивания с помощью ГУВ. Хол определяет, какой ему необходимо сделать пересчет, перемещая стрелку указателя либо по шкале Цельсия, либо по шкале Фаренгейта. Холу не требуется вводить символы посредством клавиатуры — он просто выбирает значение температуры на одном из термометров. При перемещении указателя на одном термометре указатель на другом перемещается на соответствующее значение. Точность устанавливается с помощью регуляторов масштабирования шкал. Также возможно изменить текущий диапазон значений. Изменение шкалы или диапазона на одном термометре автоматически приводит к соответствующему изменению на другом. Точное числовое значение отображается на перемещаемой стрелке. Температура показывается как в числовом виде так и с помощью уровня градусника, поэтому Хол может, на свое усмотрение, пользоваться либо графическим вариантом представления данных, либо символьным. Сервис «Автомед» позволяет установить диапазоны термометров с центром в районе 37 градусов шкалы Цельсия и 98.6 градусов Фаренгейта на случай, если кто-то из сотрудников работает со значениями температуры тела человека. Эта опция служит для экономии времени.
С помощью нажатия кнопок «Расширить шкалу» (Expand Scales) и «Сжать шкалу» (Compress Scales) можно уменьшить или увеличить цену деления шкал в 10 раз. Для перехода к значению, которое в данный момент не видно на экране, Хол расширяет шкалу, затем прокручивает до нужного места на шкале, устанавливает стрелку на необходимое температурное значение и потом сжимает шкалу до получения требуемой точности, при необходимости подстраивая стрелку указателя.
Провести анализ этого графического интерфейса с помощью модели скорости печати GOMS довольно сложно, поскольку способ, которым Хол может его использовать, зависит от того, где в данный момент установлена стрелка указателя, какой необходим диапазон температур и какая требуется точность. Рассмотрим сначала простой случай, при котором диапазон температурных шкал и точность перевода уже находятся в желаемом положении. Анализ позволит определить минимальное время, необходимое для использования этого интерфейса.
H P K
H P K P K
H M P M K M K
H M P K K
Когнитивные единицы, разделители последовательностей и т.д. здесь не используются, поэтому правила 2-5 не применяем. Складывая значения операторов, получаем общее время:
H M P K K
0.4 + 1.35 + 1.1 + 0.2 + 0.2 = 3.25 с
Результат вычисления относится к удачному случаю, когда исходный термометр уже предустановлен на требуемый диапазон и точность. Теперь рассмотрим случай, при котором Хол расширяет шкалу, чтобы увидеть необходимое температурное значение, изменяет диапазон, сжимает шкалу, чтобы получить требуемую точность, и затем перемещает стрелку указателя. Далее я привожу общую запись метода, который использует Хол, без промежуточных шагов. (Я исхожу из того, что Хол является опытным пользователям и не прокручивает шкалу туда и обратно, чтобы найти на ней нужный участок.) Холу приходится несколько раз пользоваться стрелками для прокрутки температурной шкалы. На каждую операцию прокручивания экрана может потребовать нескольких жестов. Кроме того, требуется время на то, чтобы отобразить изменения на экране, связанные с его прокруткой. Чтобы оценить время прокручивания, я построил такой интерфейс и измерил эти значения. Все они были равны 3 с и более. Обозначая время прокручивания шкал через S, запишем последовательность жестов, которые применяет Хол.
H P K S K P K S K P K S K P K K
В соответствии с правилами расставляем операторы M:
H + 3(M + P + K + S + K) + M + P + K + K
0.4 + 3*(1.35 + 0.2 + 3.0 + 0.2) + 1.35 + 0.4 + 0.2 + 0.2 = 16.8 с
За исключением редких случаев, когда шкалы уже с самого начала установлены правильно, идеальному пользователю понадобится более 16 с на то, чтобы выполнить перевод из одной шкалы в другую, тогда как реальный, т.е. не идеальный пользователь, может сбивать шкалы и стрелки указателей, и поэтому ему понадобится даже больше времени.
Каждый инструмент несет с собой тот дух, в котором он был создан.
Вернер Карл Гейзенберг
Мы рассмотрели два интерфейса: в одном из которых требуется около 5 с на выполнение задачи, а в другом — более 15 с. Отсюда ясно, какой из интерфейсов лучше удовлетворяет поставленным условиям. Следующий вопрос — это определить, насколько быстро работает тот интерфейс, который отвечает поставленным требованиям.
Если имеется модель интерфейса, то с помощью GOMS и его расширений можно определить время, необходимое пользователю на выполнение любой, четко сформулированной задачи, для которой данный интерфейс предусмотрен. Однако модели анализа не могут дать ответ на вопрос о том, насколько быстро должен работать интерфейс. Чтобы ответить на него, мы можем воспользоваться мерой, применяемой в теории информации. Далее мы будем рассматривать термин информация в техническом смысле, т.е. как квантификацию некоторого объема данных, передаваемых с помощью средства коммуникации, как, например, при разговоре двух людей по телефону, или если человек подает некоторый сигнал машине, например с помощью нажатия кнопки ГУВ, когда курсор находится в определенной области экрана. Перед тем как углубиться в детали техники измерения того, какой объем информации нужен для выполнения поставленной задачи, обоснуем необходимость такого измерения.
Чтобы сделать правильную оценку времени, необходимого на выполнение задачи с помощью самого быстрого интерфейса, прежде всего следует определить минимальное количество информации, которое пользователь должен ввести, чтобы выполнить задачу. Это минимальное количество не зависит от модели интерфейса. Если методы работы, используемые в предполагаемом интерфейсе, требуют введения такого количества информации, которое превышает минимальное, это означает, что пользователь делает лишнюю работу, и поэтому интерфейс можно усовершенствовать. С другой стороны, если от пользователя требуется ввести именно то количество информации, которое необходимо для выполнения задачи, то для этой задачи интерфейс нельзя сделать более производительным путем изменения количества информации. В этом случае пути улучшения интерфейса (а также много путей для ухудшения) все же остаются, но по крайней мере данная цель повышения производительности будет уже достигнута.
Информационно-теоретическая производительность определяется так же, как понятие производительности определяется в термодинамике — отношением мощности на выходе к мощности на входе процесса. Если в течение какого-то периода времени электрогенератор, работающий от двигателя производительностью в 1000 ватт, производит 820 ватт, то он имеет производительность 820/100=0.82. Производительность также часто обозначается через проценты. В этом случае производительность электрогенератора будет составлять 82%. Идеальный генератор (который не может существовать с точки зрения второго закона термодинамики) должен иметь производительность 100%.
Информационная производительность интерфейса E определяется как отношение минимального количества информации, необходимого для выполнения задачи, к количеству информации, которое должен ввести пользователь. Так же как и в отношении физической производительности, параметр E может изменяться в пределах от 0 до 1. Если никакой работы для выполнения задачи не требуется или работа просто не производится, то производительность составляет 1. (Это формальное положение вводится для того, чтобы избежать деления на 0, как в случае ответа на выводимое прозрачное сообщение об ошибке (см. раздел 5.5).)
Производительность E может равняться и 0 в случаях, когда пользователь должен ввести информацию, которая совершенно бесполезна (рис. 4.4). Следует отметить, что в интерфейсах можно встретить немало деталей, которые имеют сомнительную ценность из-за параметра E=0. Примером такого бесполезного элемента может быть диалоговое окно, в котором есть только одна-единственная возможность для действия пользователя, например кнопка OK. (В JavaScript есть даже специальная команда Alert, предназначенная только для того, чтобы делать такие ненужные диалоговые окна. Разработчики языка JavaScript были достаточно разумны, чтобы убрать из него команду goto и сделать программирование на этом языке структурным, но они упустили из виду аспект интерфейса.)
В параметре E учитывается только информация, необходимая для задачи, и информация, вводимая пользователем. Два или более методов действия могут иметь одинаковую производительность E, но иметь разное время выполнения. Возможно даже, что один метод имеет более высокий показатель E, но действует медленнее, чем другой метод, — например M K M K и M K K K. В этом примере при использовании первого метода должно быть введено только два символа. При использовании второго метода требуется ввести три символа, но времени на все действие тратится меньше. Трудно привести другие примеры из обычной жизни, в которых происходит аналогичная перестановка скорости и информационной производительности.22 Как правило, чем более производительным является интерфейс, тем более продуктивным и более человекоориентированным он является.
Информация измеряется в битах. Один бит, который представляет собой один из двух альтернативных вариантов (таких как 0 или 1, да или нет), является единицей информации.23 Например, чтобы выбрать один из каких-либо четырех объектов, потребуется 2 бита информации. Если объекты обозначить как A, B, C и D, первый бит информации определит выбор между A и B или C и D. Когда первый выбор сделан (например, C и D), второй бит определит выбор между следующими двумя элементами (либо C, либо D). Двух двоичных выборов, или двух битов, достаточно для выбора одного элемента из четырех. Чтобы сделать выбор из группы восьми элементов, потребуется 3 бита. Из шестнадцати элементов — 4 бита, и т.д. В общем случае при количестве n равновероятных вариантов суммарное количество передаваемой информации определяется как степень 2, равная n:
\log_2 n
Количество информации для каждого варианта определяется как
(1/n) \log_2 n | (1) |
Если вероятности для каждой альтернативы не являются равными и i-я альтернатива имеет вероятность p(i), то информация, передаваемая этой альтернативой, определяется как
p(i) \log_2(1/p(i)) | (2) |
Количество информации является суммой (по всем вариантам) выражения (2), которое при равновероятных вариантах сводится к выражению (1). Отсюда следует, что информационное содержание интерфейса, в котором возможно сделать только нажатие единственной клавиши (а ненажатие клавиши не допускается), составляет 0 бит:
1 \log_2(1) = 0 | (3) |
Однако может показаться, что нажатие единственной клавиши способно, например, вызвать подрыв динамита для разрушения здания. Таким образом, передает ли это нажатие какую-нибудь информацию? На самом деле нет, потому что ненажатие кнопки не было предусмотрено как альтернатива — интерфейс допускает «только нажатие единственной клавиши». Если же нажатие клавиши не производится в течение 5-минутного периода, когда подрыв возможен, то здание не будет разрушено, и поэтому нажатие или ненажатие передает до 1 бита информации, так как в этом случае имеется альтернатива из двух вариантов. Из выражения (2) следует, что в вычислениях используется вероятность (p) того, что здание будет разрушено. Таким образом, вероятность того, что оно не будет разрушено, составляет 1-p. С помощью выражения (2) мы можем вычислить информационное содержание данного интерфейса:
p \log_2(1/p) + (1-p) \log_2(1/(1-p)) | (4) |
При p=S результат выражения (4) составит:
S*1 + S*1 = S + S = 1
Значение выражения (4) будет меньше 1, если p ≠ S. В частности при p = 0 или p = 1 оно составит 0, как это видно из выражения (3).
Этот пример показывает важный момент, который заключается в том, что мы можем оценить объем информации, содержащейся в сообщении, только в контексте всего набора возможных сообщений. Чтобы подсчитать количество информации, передаваемой некоторым полученным сообщением, необходимо знать в частности вероятность, с которой это сообщение может быть отправлено. Количество информации в любом сообщении не зависит от других сообщений, которые были в прошлом или могут быть в будущем, не связано со временем или продолжительностью и не зависит от каких-либо иных событий, так же как результат подбрасывания симметричной монеты не зависит от результата предыдущих подбрасываний или от времени дня, когда это подбрасывание производится.
Кроме того, важно учитывать, что:
«нельзя путать понятие информации с понятием смысла ...информация является мерой свободы выбора сообщения... Следует отметить, что при наличии только двух возможных сообщений утверждать, что какое-то сообщение передает какой-то объем [1 бит] информации, неправильно. Понятие информации не применимо к отдельным сообщениям (в отличие от понятия смыла), но применимо к ситуации в целом; при этом единица информации показывает, что в данной ситуации имеется некоторый объем свободы в выборе сообщения, который удобно обозначать как стандартный или единичный объем информации» (Shannon и Weaver, 1963, с. 9).
Однако действия, которые совершает пользователь при выполнении задачи, можно с большей точностью смоделировать в виде процесса Маркова, в котором вероятность последующих действий зависит от уже совершенных пользователем действий. Тем не менее, для данного рассмотрения достаточно использовать упомянутые вероятности отдельных, единичных событий, при этом будем исходить из того, что все сообщения являются независимыми друг от друга и равновероятными.
Также можно вычислить количество информации, которое передается с помощью устройств, отличающихся от клавиатуры. Если экран дисплея разделен на две области — со словом «Да» в одной области и словом «Нет» — в другой, то один клик, совершенный в одной из областей, будет передавать 1 бит информации. Если имеется n равновероятных объектов, то нажатием на один из них сообщается \log_2 n бит информации. Если объекты имеют разные размеры, то количество информации, сообщаемой каждым из них, не изменяется, но увеличивается время перемещения ГУВ к более мелким объектам (далее мы покажем способ вычисления этого времени). Если объекты имеют разные вероятности, формула остается аналогичной той, которая была дана для случая ввода с клавиатуры разновероятных данных. Различие состоит только в том, что для нажатия клавиши может потребоваться 0.2 с. тогда как для нажатия кнопки, изображенной на экране, в среднем может потребоваться около 1.3 с (без учета времени перемещения руки пользователя с клавиатуры на ГУВ).
В случае голосового ввода информации его информационное содержание можно вычислить, если рассматривать речь как последовательность вводимых символов, а не как непрерывный поток определенного диапазона и продолжительности.
Данный подход к теории информации и ее связи с разработкой интерфейсов является упрощенным. Но даже в такой упрощенной форме, которую мы также использовали при рассмотрении модели GOMS, теория информации может дать нам общий критерий оценки качества интерфейса.
Аккуратный подсчет есть путь к знаниям всех существующих вещей и тайных секретов.
Папирусы Рхинда, 1650 г. до н. э.
Полезно подробно рассмотреть пример вычисления среднего количества информации, требуемого для некоего интерфейса. Для этого я снова использую пример интерфейса для перевода температур из одной шкалы в другую. В соответствии с условиями требуется, чтобы количество символов, вводимых в температурный преобразователь, равнялось в среднем 4. Кроме того, по условиям задачи десятичная точка используется однократно в 90% вводимых данных, а в 10% — вообще не встречается; знак минус появляется один раз в 25% данных и совсем не встречается в остальных 75% данных. Из соображений простоты, а также потому, что не требуется ответ с точностью до 1%, я буду исходить из того, что все остальные цифры встречаются с одинаковой частотой, и не буду учитывать те 10% данных, которые не содержат десятичной точки.
Требуется определить множество возможных вариантов ввода и их вероятности. Возможны 5 вариантов (d означает цифру):
Первые два варианта встречаются в 12.5% случаев, и количество каждого из них составляет 100. Каждый из последних трех вариантов встречается в 25% случаев, и количество каждого из них составляет почти 1000.24 Вероятность каждого из первых двух вариантов ввода составляет (0.125/100)=0.00125. Вероятность любого из последних трех вариантов ввода составляет (0.75/3000)=0.00025. Сумма вероятностей, как это и должно быть, составляет 1.
Количество информации (в битах), передаваемое каждым вариантом, определяется выражением (2)25:
p(i) \log_2(1/p(i))
Значение этого выражения составляет приблизительно 0.012 для отрицательных значений ввода и 0.003 — для положительных. 200*0.00674+3000*0.003 дает в сумме 11.4 бита для каждого варианта ввода.
Важно учесть вероятности вариантов. Если использовать простой подход, в котором все 12 символов (минус, десятичная точка и 10 цифр) принять как равновероятные, то вероятность каждого символа составит 1/12, а количество информации, содержащейся в 4-значном варианте ввода, составит приблизительно
4 \log_2(12) ≈ 14 бит
В теории информации есть теорема, в которой утверждается, что максимум информации передается при условии, что все символы равновероятны. Поэтому если принять все варианты как равновероятные, то общее значение будет равно количеству информации в каждом отдельном варианте или превышать его. Очевидно, что такое допущение позволяет упростить вычисление информационного содержания. Если же результирующее значение приближенного вычисления меньше количества информации, которое пользователь должен ввести в интерфейс, то проводить еще более точные вычисления уже нет необходимости.
Мы только что выяснили, что каждый раз, когда Холу требуется провести преобразование температурных значений, он должен ввести в среднем около 11 бит информации. Мы можем разделить это количество на то количество информации, которое требуется ввести в интерфейс, что мы сейчас и сделаем. В результате мы получим производительность (эффективность) данного интерфейса.
Другим упрощением, позволяющим провести быстрый анализ интерфейса, является вычисление различных жестов на основе количества информации, передаваемого одним нажатием клавиши или одной операцией ГУВ. При передаче информации нажатием клавиши ее количество зависит от общего количества клавиш и относительной частоты использования каждой из них. Таким образом, нажатия клавиши могут использоваться как приблизительная мера информации. Если на клавиатуре имеется 128 клавиш, и каждая из них используется с одинаковой частотой, то нажатие любой из них будет передавать 7 бит информации. В действительности частота использования клавиш субщественно различается. Например, пробел или буква е используются чаще, чем й или \, поэтому в большинстве приложений на каждое нажатие клавиши приходится в среднем около 5 битов. По условиям нашей задачи среднее число символов вводимых температурных значений не должно превышать 4.
Для данного анализа удобнее использовать более простую меру, чем теоретическая информационная производительность. Символьная эффективность часто имеет такую же практическую ценность, что и информационная производительность. Она определяется как минимальное количество символов, необходимое для выполнения задачи, отнесенное к количеству символов, которое в данном интерфейсе требуется ввести пользователем.
Если в нашем интерфейсе потребуется вводить в среднем 4 символа, то символьная эффективность такого интерфейса составит 100%. При добавлении еще одной клавиши, обозначающей шкалу перевода температурного значения, а также еще одной для разделения, средняя длина ввода возрастет до 6 символов, а символьная эффективность снизится до 67%. Если в качестве устройства ввода Хол будет использовать числовую клавиатуру, состоящую из 16 клавиш, то каждой отдельной клавишей будет передаваться 4 бита информации, и поэтому производительность интерфейса возрастет. (Однако по условиям задачи такой возможности не предусмотрено.)
Поскольку любая задача в соответствии с анализом GOMS требует как минимум одного ментального оператора, наиболее производительный интерфейс с использованием клавиатуры для перевода температурных значений из одной шкалы в другую будет теоретически иметь следующее среднее время использования:
M + K + K + K + K = 2.15 с
Таким образом, он будет значительно быстрее, чем любой из двух уже рассмотренных вариантов. Однако введение 4 символов с помощью стандартной клавиатуры дает, по крайней мере, 20 бит информации, тогда как требуется только 10. Следовательно, теоретическая информационная производительность составляет 55%, а значит, существует возможность улучшения. Как мы уже видели, использование стандартной числовой клавиатуры вместо полной клавиатуры снижает объем информации, вводимой на каждые 4 символа, до 16 бит, что повышает производительность до 60%. Желаемая числовая клавиатура, содержащая только цифры, знак минус и десятичную точку, позволит немного повысить производительность — до 70%. Дальнейшее повышение производительности возможно через использование особых кодировок обозначений температуры и изобретение новых устройств ввода, но здесь возникают трудности, связанные с обучением и лишними расходами, поэтому остановимся на варианте с 70% теоретической информационной производительности. Независимо от того, могут ли теоретические границы быть достигнуты на практике или нет, они дают нам направление в разработке интерфейса.
В разделе 4.3.1 мы приостановили дальнейшие попытки улучшения интерфейса, достигнув 70% теоретической информационной производительности. Данная производительность определена для пока еще неизвестного, теоретического интерфейса, в котором каким-то образом можно получить 100% эффективность использования клавиш. Давайте посмотрим, насколько мы можем приблизиться к этому идеалу с помощью стандартной клавиатуры и ГУВ.
Рассмотрим интерфейс, в котором используется клавиатура со всеми символами. В таком интерфейсе на экране появляется следующее сообщение:
Для перевода температуры из одной шкалы в другую укажите нужную шкалу с помощью символа C (шкала Цельсия) или F (шкала Фаренгейта). Введите числовое значение температуры, затем нажмите клавишу Enter. Результат преобразования будет отображен на экране.
GOMS-анализ показывает, что пользователь должен сделать 6 нажатий клавиш. По правилам расстановки операторов M получаем .следующую запись:
M K K K K K M K
Среднее время составит 3.9 с.
Мы можем уменьшить это время, если сами символы C и F будем использовать в качестве разделителей. Рассмотрим интерфейс, в котором появляется следующая инструкция:
Для перевода температуры из одной шкалы в другую введите числовое значение температуры и следом поставьте символ C, если оно в шкале Цельсия, или F, если оно в шкале Фаренгейта. Результат преобразования будет отображен на экране.
В данном примере нажимать на клавишу <Enter> не требуется. Некоторые примитивные средства разработки интерфейсов требуют, чтобы пользователь обязательно использовал клавишу <Enter>, и поэтому в них невозможно использовать символы C и F в качестве разделителей. Такие инструменты не подходят для разработки человекоориентированных интерфейсов.
GOMS-анализ показывает, что для интерфейса с символами C и F в качестве разделителей запись будет следующей:
M K K K K M K
Среднее время составит 3.7 с. Если бы мы не знали, что теоретически минимальное время составляет 2.15 с, то это решение могло бы показаться удачным. Оно является значительно более эффективным, чем ранее рассмотренные, поэтому мы могли бы на нем остановиться. Однако теоретический минимум подстегивает нас к поиску еще более быстрой интерфейсной модели. Рассмотрим интерфейс, изображенный на рис. 4.5. Такой интерфейс можно назвать разветвленным. В нем один ввод дает в результате два вывода.
В разветвленном интерфейсе нет необходимости в разделителе. Кроме того, пользователю не нужно указывать, какое именно преобразование требуется провести. GOMS-анализ показывает, что для 4 символов, которые в среднем будут вводиться, запись будет следующей:
M K K K K
В разветвленном интерфейсе достигается минимальное время 2.15 с, и его символьная эффективность составляет 100%.
Если, как в нашем примере, в месте вывода происходит изменение результата в тот момент, когда символы вводятся, это колебание цифр не отвлекает пользователя, потому что в локусе его внимания находится именно ввод данных. Непрерывно изменяемые значения на выводе могут быть даже полезными — после нескольких применений пользователь будет замечать эти колебания только краем глаза, что будет служить подсказкой о том, что система отвечает на вводимые данные. Если используется посимвольный режим работы интерфейса, то для большей эффективности такая система должна реагировать довольно быстро. В частности скорость реакции не должна быть меньше скорости ввода. Такая проблема может возникать только при сетевом использовании интерфейса.
Хотя это и не входит в условие задачи, но может возникнуть вопрос о том, как происходит очистка полей в преобразователе для выполнения следующего преобразования. Добавляет ли операция очистки еще одно нажатие клавиши? Необязательно. Например, мы можем разработать интерфейс таким образом, что каждый раз, когда оператор возвращается к своему основному занятию или переходит к другой задаче, значения, указанные в преобразователе, могут автоматически затеняться, а сам температурный преобразователь становиться неактивным; причем в это время все значения могут оставаться в своих полях так, что при необходимости их можно было бы опять увидеть, но уже при следующем вводе все они будут стерты.
Разветвленный интерфейс не обязательно является самым лучшим из тех, что уже были рассмотрены — или из тех, что возможны, — только потому, что он имеет оптимальную скорость работы и является весьма эффективным. Кроме скорости есть и другие параметры, которые также являются важными: частота появления ошибок; время, необходимое для изучения интерфейса; возможность длительного запоминания способа использования интерфейса. Особенно следует обратить внимание на частоту появления ошибок в разветвленном интерфейсе, поскольку есть вероятность того, что Хол может прочитать результат не из того поля. Это важно особенно потому, что когда он услышал, например слово Цельсий, ему необходимо прочитать значение из поля шкалы Фаренгейта. Тем не менее, разветвленный температурный преобразователь определенно входит в небольшое число тех интерфейсов, которые можно рассматривать как рабочие варианты для программы преобразования температурных значений из одной шкалы в другую. Другие рассмотренные нами примеры, которые могли бы показаться удачными, если бы мы не проводили с ними GOMS-анализ, на самом деле не являются таковыми.
Используемая как в простом анализе временных затрат на нажатия клавиш, так и в полном информационно-теоретическом исследовании, квантификация теоретического интерфейса с минимальным временем использования или с минимальным количеством используемых символов, или с минимальным количеством используемой информации может быть полезна с точки зрения разработки интерфейса. Без количественных ориентиров мы можем только догадываться о том, насколько хорошо мы разработали интерфейс и есть ли возможность его улучшения.
Основы знаний надлежит искать в математике.
Роджер Бэкон «Opus Majus», XIII в.
Различные количественные законы, имеющие отношение к разработке интерфейсов, имеют хорошее когнитивное обоснование, и их правильность была неоднократно проверена. Эти законы часто дают нам дополнительные данные, на основе которых можно принимать те или иные решения, связанные с разработкой интерфейсов. Закон Фитса (Fitts' Law) позволяет определить количественно тот факт, что чем дальше находится объект от текущей позиции курсора или чем меньше размеры этого объекта, тем больше времени потребуется пользователю для перемещения к нему курсора. Закон Хика (Hick's Law) позволяет количественно определить наблюдение, заключающееся в том, что чем больше количество вариантов заданного типа вы предоставляете, тем больше времени требуется на выбор.
Представим, что вы перемещаете курсор к кнопке, изображенной на экране. Кнопка является целью данного перемещения. Длина прямой линии, соединяющей начальную позицию курсора и ближайшую точку целевого объекта, определяется в законе Фитса как дистанция. На основе данных о размерах объекта и дистанции закон Фитса позволяет найти среднее время, за которое пользователь сможет переместить курсор к кнопке.
В одномерном случае, при котором размер объекта вдоль линии перемещения курсора обозначается как S, а дистанция от начальной позиции курсора до объекта — как D (рис. 4.6), закон Фитса формулируется следующим образом:
Время (мс) = a + b \log_2(D/S+1)
(Константы a и b устанавливаются опытным путем по параметрам производительности человека.)26
Вычисляемое время отсчитывается от момента, когда курсор начинает движение по прямой линии, до момента, когда пользователь щелкает мышью по целевому объекту. Логарифм по основанию 2 является мерой трудности задачи в количестве бит информации, которое требуется для описания (одномерного) пути перемещения курсора.
Для вычисления времени можно использовать любые единицы измерения дистанции, т.к. D/S является отношением двух дистанций и поэтому не зависит от единицы измерения. Отсюда следует, что хотя указательное устройство может переместиться на расстояние большее или меньшее, чем то расстояние, на которое переместится на экране курсор, закон все равно работает, при условии, что соотношение между движением ГУВ и курсора является линейным. Закон Фитса может применяться только к тем типам перемещения, которые совершаются при использовании большинства человеко-машинных интерфейсов, т.е. к таким перемещениям, которые невелики относительно размеров человеческого тела и которые являются непрерывными (совершаемыми одним движением). Для приближенных вычислений я использую следующие значения констант в уравнении закона Фитса: a=50, b=150.
Также проводились тестирования с законом Фитса, дополненным некоторыми более сложными параметрами, такими, например, как перемещение курсора между прямыми или искривленными границами (Accot и Zhai, 1997). Для двумерных целей обычно можно получить корректное приближенное значение времени, необходимого для перемещения курсора к объекту, используя в качестве параметра S наименьшее из значений размеров объекта по горизонтали или по вертикали (Mackenzie, 1995).
Закон Фитса позволяет объяснить, например, почему переместить курсор к меню в стиле Apple Macintosh, располагающемуся на границе экрана (рис. 4.7), намного быстрее, чем переместить курсор к меню в стиле Microsoft Windows, которое всплывает из-за границы экрана (рис. 4.8). Размер S меню в Windows на моем экране составляет 5 мм. Эффективный размер меню в Macintosh является довольно большим, потому что пользователю не требуется останавливаться в пределах полосы меню; он может просто передвинуть ГУВ на любое расстояние превышающее расстояние, необходимое для размещения курсора в пределах меню, — курсор в любом случае остановится на границе экрана.
Ряд выполненных мной тестов помог установить, что пользователи Macintosh обычно останавливаются в пределах 50 мм от границы экрана, поэтому для Macintosh мы можем принять 50 мм как S. При использовании 14-дюймового плоского монитора среднее расстояние, на которое требуется переместить курсор, чтобы достичь панели меню, составляет 80 мм. Таким образом, время перемещения курсора к какому-либо из элементов меню в Macintosh будет:
50 + 150 \log_2(80/50+1) = 256 мс
Это время является намного меньшим, чем то, которое требуется на перемещение курсора к необходимому элементу меню в Windows:
50 + 150 \log_2(80/5+1) = 663 мс
Полученные значения времени относятся только лишь к перемещению курсора. Щелчок по целевому объекту, к которому перемещался курсор, добавляет в среднем еще 0.1 с. (Значение оператора K=0.2, принятое в модели GOMS, учитывает и нажатие кнопки, и ее отпускание, в то время как указанное значение учитывает только нажатие кнопки.) При проведении обычного эксперимента вам придется добавить еще 0.25 с, чтобы учесть время человеческой реакции в начале движения курсора. С учетом всех этих факторов мы получим именно те значения, которые я получил экспериментальным путем: в среднем пользователю требуется около 0.6 с, чтобы открыть Apple-меню, в то время как для открытия Windows-меню требуется более 1 с. Таким образом, этот анализ объясняет, почему при разработке интерфейса Macintosh меню были намеренно помещены на границе экрана.
Перед тем как переместить курсор к цели или совершить любое другое действие из набора множества вариантов, пользователь должен выбрать этот объект или действие. В законе Хика утверждается, что когда необходимо сделать выбор из n вариантов, время на выбор одного из них будет пропорционально логарифму по основанию 2 от числа вариантов плюс 1, при условии, что все варианты являются равновероятными. В этом виде закон Хика очень похож на закон Фитса:
Время (мс) = a + b \log_2(n+1)
Если вероятность 1-го варианта равна p(i), то вместо логарифмического коэффициента используется
\sum_i p(i) \log_2(1/p(i)+1)
Коэффициенты, используемые в выражении закона Хика, в большой степени зависят от многих условий, включая то, как представлены возможные варианты, и то, насколько хорошо пользователь знаком с системой. (Если варианты представлены непонятным образом, значения a и b возрастают. Наличие навыков и привычек в использовании системы снижает значение b.) Мы не будем рассматривать эти зависимости — для нас важно, что для принятия того или иного решения требуется время; что для принятия сложных решений требуется больше времени, чем для принятия простых решений; и что взаимосвязь является логарифмической. При отсутствии более точных данных для проведения быстрых и приблизительных вычислений мы можем воспользоваться теми же значениями a и b, которые использовали для закона Фитса.
При использовании любых положительных и ненулевых значений a и b из закона Хика следует, что предоставление пользователю сразу нескольких вариантов одновременно обычно является более эффективным, чем организация тех же вариантов в иерархические группы. Выбор из одного меню, состоящего из 8 элементов, производится быстрее, чем из двух меню, состоящих их 4 элементов каждое. Если все элементы могут быть выбраны с равной вероятностью и если не учитывать время, необходимое для открытия второго меню (которое, конечно, еще более увеличило бы время для интерфейса, состоящего из двух меню), то сравнение времени для выбора одного элемента из восьми (a + b \log_2 8) с удвоенным временем для выбора одного элемента из четырех 2 (a + b \log_2 4) покажет, что
а + 3b < 2(а + 2b)
поскольку \log_2 8 = 3, a \log_2 4 = 2, а также поскольку a<2a и 3b<4b.
Это согласуется с данными, полученными в экспериментах со структурами меню (см. например, Norman и Chin, 1988).
Наше рассмотрение законов Фитса и Хика нельзя считать полным. Например, следует обратить внимание на то, что эти законы не случайно принимают ту же форму, что и теорема Шэннона — Хартли (Shannon-Hartley). Тем не менее, этого короткого рассмотрения вполне достаточно для того, чтобы отметить их ценность с точки зрения разработки интерфейсов. Они могут быть полезными даже в том случае, когда эмпирические значения коэффициентов a и b не известны (как это было в нашем примере). (Более подробные сведения см. в Card, Moran и Newell, 1983, с. 72-74.)
20 Дискликсия (dysclicksia) — от англ. слова click (щелкнуть мышью) и приставки dis- (нарушение функции). — Примеч. пер.
21 Термин дискликсия (dysclicksia), означающий заболевание, единственным лекарством от которого является хорошо разработанный интерфейс, был предложен Памом Мартином (Pam Martin) (переписка, 1997).
22 Можно разработать и более сложные критерии производительности. Например, как в нашем случае, оператор M не используется в вычислениях. Тем не менее, простой критерий, который здесь описан, вполне достаточен для нашего рассмотрения.
23 Слово бит (bit) было предложено математиком Джоном У. Тюки (John W. Tukey) как сокращение от слов «двоичная цифра» (Binary digiT) (Shannon и Weaver, 1963, стр. 9).
24 Слово «почти» здесь используется потому, что температура 0 градусов не будет вводиться как 0.00 или 00.0.
25 Для извлечения логарифма по основанию 2 с помощью калькулятора или компьютера, в котором возможно вычислять только натуральные логарифмы, используйте следующее выражение: \log_2(х) = \ln(х)/\ln(2).
26 В математике, которая считается образцом точности и ясности, все еще применяется старый стиль написания формул, в котором неопределенные переменные пишутся в начале, еще до того, как вы можете узнать, что они обозначают. Например, можно встретить выражение наподобие следующего:
A = \pi r^2,
где r является радиусом окружности, а A — ее площадью.
Такой порядок может приводить к путанице, поскольку читателю приходится перечитывать выражение еще раз сначала, особенно если оно довольно длинное и содержит множество других неопределенных переменных. С точки зрения читателя намного удобнее следовать естественному порядку, в котором термины определяются до их использования:
Окружность с радиусом r имеет площадь A, вычисляемую как:
A = \pi r^2
<= Previous | Index | Next => |