Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
100
Добавлен:
16.05.2015
Размер:
438.78 Кб
Скачать

61

Эргономика пользовательского интерфейса

Критерии эргономичности интерфейса

Производительность

  • Длительность интеллектуальной работы

    • Непосредственное манипулирование

    • Потеря фокуса внимания (прерывание)

    • Ограничение принятия решений

    • Закон Хика

  • Длительность физических действий пользователя

    • Закон Фитса

    • Методы повышения доступности кнопки

    • Уменьшение числа манипуляций

    • Уменьшение необходимости ввода данных

    • Память программы

  • Длительность реакции системы

    • Фоновый режим выполнения задач

Человеческие ошибки

  • Типы ошибок

  • Методы предотвращения ошибок

    • Повышение разборчивости и заметности индикаторов

    • Блокировка потенциально опасных действий до получения подтверждения

    • Проверка действий пользователя перед их принятием

    • Самостоятельный выбор параметров

Обучение работе с системой

  • Почему пользователи учатся

  • Средства обучения

  • Понятность системы

    • Ментальная модель

    • Метафора

    • Идеома

    • Аффорданс

    • Стандарт

  • Обучающие материалы

    • Типы обучающих материалов

    • Среды передачи обучающих материалов

    • Спиральность

Субъективная удовлетворенность

  • Эстетика

  • Субъективное восприятие скорости работы

    • Приемы для уменьшения субъективного восприятия

  • Уменьшение вероятности стрессовых ситуаций

  • Пароли

  • Сообщение об ошибках

    • Как избежать сообщений об ошибках

    • Каким должно быть сообщение об ошибке

    • Пузырь как альтернатива сообщениям об ошибке

    • Сообщения о завершении операции

Типичные интерфейсные ошибки отечественного ПО

Критерии эргономичности интерфейса

к следующей главе >>

Существует четыре основных (все остальные – производные) критерия эргономичности (качества) любого интерфейса, а именно:

  • Скорость работы пользователей

  • Количество человеческих ошибок

  • Скорость обучения

  • Субъективная удовлетворенность пользователей

Подразумевается, что соответствие интерфейса задачам пользователя является неотъемлемым свойством интерфейса.

Производительность пользователя

<< к предыдущей главе     к следующей главе >>

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

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

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

  • Длительности восприятия исходной информации

  • Длительности интеллектуальной работы

  • Длительности физических действий пользователя

  • Длительности реакции системы

Как правило, длительность реакции системы является наименее значимым фактором.

Длительность интеллектуальной работы

<< к предыдущей главе     к следующей главе >>

Взаимодействие пользователя с системой (не только компьютерной) состоит из семи шагов:

  1. формирование цели действий;

  2. определение общей направленности действий;

  3. определение конкретных действий;

  4. выполнение действий;

  5. восприятие нового состояния системы;

  6. интерпретация состояния системы;

  7. оценка результата.

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

Далее рассматриваются эти самые факторы и методики по уменьшению их влияния:

  • Непосредственное манипулирование

  • Потеря фокуса внимания (прерывание)

  • Ограничение принятия решений

  • Закон Хика

Как правило, длительность реакции системы является наименее значимым фактором.

наверх     к оглавлению

Непосредственное манипулирование

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

  1. что он хочет получить на выходе;

  2. как минимум одну последовательность действий, приводящую к успешному результату;

  3. где ему найти все объекты, участвующие в процедуре;

  4. как определять годность объектов к использованию;

  5. как управляться с объектами.

Существует способ ускорить выполнение этих этапов. Он называется непосредственным манипулированием (direct manipulation). Смысл этого метода очень прост. Пользователь не отдает команды системе, а манипулирует объектами. Это значительно более естественный для человека способ.

Первым популярным применением этого метода была корзина для удаления файлов на Macintosh (начиная с Windows 95, такая корзина стала стандартом и в Windows-мире, хотя присутствовала она и раньше). Смысл действия заключается в том, что если перетащить в корзину пиктограмму файла, этот файл будет фактически стерт. Чтобы лучше оценить преимущества этого метода, сравним три варианта действий пользователя на примере этого самого стирания:

Выбор команд из меню

Использование горячих клавиш

Использование элемента на панели инструментов

Непосредственное манипулирование

Формирование цели действий и общего замысла

Определение необходимых действий и их последовательности

Выбор файла

Поиск меню, ответственного за стирание

Поиск в памяти команды стирания

Поиск на экране соответствующей пиктограммы

Поиск корзины

Поиск элемента меню, вызывающее стирание файла

Поиск клавиши Delete на клавиатуре

Нажатие на пиктограмму

Перенос файла в корзину

Выбор нужного элемента меню

Нажатие клавиши Delete

 

 

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

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

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

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

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

Несмотря на то, что пример с корзиной наиболее известен, назвать его единственным нельзя. Например, одно и то же действие (перетаскивание) работает и при удалении, и при перемещении файла. Более того, если перетащить файл в окно электронного письма, которое пользователь в данный момент пишет, файл будет вставлен в письмо как вложение. Это значит, что непосредственное манипулирование позволяет серьезно снизить как количество команд в системе, так и длительность обучения.

Еще одно преимущество непосредственного манипулирования пересекается с методами уменьшения количества ошибок пользователя. Предположим, что пользователь собрался стереть важный системный файл, который стирать нельзя. Методы выбора команды в меню и в панели инструментов, равно как и метод непосредственного манипулирования, здесь сработают – элемент можно будет превентивно заблокировать. Если же пользователь попытается стереть файл, нажав на Delete, система окажется неспособна как-то показать неправомочность его действий (разве что писком или сообщением об ошибке , что в общем-то недопустимо). А теперь предположим, что пользователь собрался стереть важный файл, который стирать не рекомендуется. Ни один из методов, кроме непосредственного манипулирования (можно будет поменять пиктограмму корзины на время, пока курсор, с зажатым в него файлом, будет находиться над ней), здесь не сработает, т.е. этот метод отличается от остальных своей гибкостью.

наверх     к оглавлению

Потеря фокуса внимания (прерывание)

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

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

Дело в том, что у человека есть только один фокус внимания, так что при любом отвлечении (которое есть не что иное, как переключение на другую задачу) старый фокус внимания теряется. Было бы еще ничего, если бы возвращение фокуса требовало только изменения направления взгляда. Но при отвлечении новые стимулы заменяют содержимое кратковременной памяти, так что для возвращения к работе от пользователя требуется заново поместить в свою память нужную информацию.

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

Итак, для продолжения работы пользователь должен знать:

  1. на каком шаге он остановился;

  2. какие команды и параметры он уже дал системе;

  3. что именно он должен сделать на текущем шаге;

  4. куда было обращено его внимание на момент отвлечения.

Можно предложить следующие общие подходы, которые могут быть использованы разработчиками интерфейсов при проектировании систем, ориентированных на частые прерывания:

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

  2. Необходимо предусмотреть механизмы для объединения типовых составных операций. Так, например, последовательность разрозненных действий следует преобразовывать в интерактивные, но объединенные общей логикой процедуры (Мастера или нечто подобное). Это позволит пользователям четко понимать, на каком этапе выполнения действия он находится в данный момент времени.

  3. Необходимо полноценно визуализировать рабочие объекты манипулирования. При копировании текста через буфер обмена пользователи практически не имеют возможности понять, что находится в буфере обмена (и находится ли там вообще что-либо), до тех пор, пока не они вставляют содержимое буфера в документ. Если содержимое буфера обмена видно всё время, этой проблемы бы не было, при этом нагрузка на память была бы минимальна.

  4. Необходимо показывать пользователям, какие фрагменты информации были введены давно, а какие – недавно. Если бы использовалась метафора "высыхающих чернил", количество проблем пользователей (затрат времени, ошибок) было бы ощутимо меньше. Использование такой метафоры позволит визуально отобразить отличие недавно внесенных изменений от изменений, внесенных давно. Суть метафоры заключается в том, что цвет актуальных объектов манипулирования (например, набранных слов) изменяется по мере прохождения определенного времени с момента непосредственной работы с ними. Естественно, что при этом пользователям следует предоставить возможность самостоятельно настраивать такие параметры как "скорость засыхания" и дискретность изменения цвета.

Реализация предложенных рекомендаций поможет пользователям, работающим в сложных условиях частых прерываний, значительно повысить производительность труда, уменьшить количество ошибок, повысить субъективную удовлетворенность.

наверх     к оглавлению

Ограничение принятия решений

Не заставляйте пользователя всего лишь сообщать о принятых решениях.

Многое из того, что часто принимают за принятие решений, на самом деле является сообщением о решении. Большинство операций такого рода можно заменить машинами, полностью удалив оператора из процесса.

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

Быстро и точно предоставляйте пользователю информацию, необходимую для принятия решений.

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

Избавляйтесь от ненужной информации.

Множество web-страниц сегодня изобилуют ссылками. Да еще и сами браузеры содержат большое количество кнопок и меню. Что же остается неопытному пользователю? Скорее всего, сделать неправильный выбор.

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

Визуально выделяйте наиболее вероятные варианты ответа.

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

Не задавайте пользователю вопрос о какой-нибудь настройке, смысл которой неясен.

Чтобы ответить на этот вопрос и решить, нужна ему эта настройка или нет, пользователю придется узнать все о ней. Спрячьте такую настройку в раздел “advanced”.

наверх     к оглавлению

Закон Хика

Закон Хика позволяет количественно определить наблюдение, заключающееся в том, что чем больше количество вариантов заданного типа вы предоставляете, тем больше времени требуется на выбор.

Перед тем как переместить курсор к цели или совершить любое другое действие из набора множества вариантов, пользователь должен выбрать этот объект или действие. В законе Хика утверждается, что когда необходимо сделать выбор из n вариантов, время на выбор одного из них будет пропорционально логарифму по основанию 2 от числа вариантов плюс 1, при условии, что все варианты являются равновероятными. В этом виде закон Хика очень похож на закон Фитса:

Если вероятность i-го варианта равна p(i), то вместо логарифмического коэффициента используется

, что предоставление пользователю сразу нескольких вариантов одновременно обычно является более эффективным, чем организация тех же вариантов в иерархические группы. Выбор из одного меню, состоящего из 8 элементов, производится быстрее, чем из двух меню, состоящих их 4 элементов каждое. Если все элементы могут быть выбраны с равной вероятностью и если не учитывать время, необходимое для открытия второго меню (которое, конечно, еще более увеличило бы время для интерфейса, состоящего из двух меню), то сравнение времени для выбора одного элемента из восьми (a + b log 8) с удвоенным временем для выбора одного элемента из четырех 2 (a + b log 4) покажет, что

a + 3b < 2 (a + 2b)

поскольку log 8 = 3, a log 4 = 2, а также поскольку а < 2а и 3b < 4b.

Это согласуется с данными, полученными в экспериментах со структурами меню.

Длительность физических действий пользователя

<< к предыдущей главе     к следующей главе >>

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

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

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

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

  • Закон Фитса

  • Методы повышения доступности кнопки

  • Уменьшение числа манипуляций

  • Уменьшение необходимости ввода данных

  • Память программы

к оглавлению

Закон Фитса

В 1954 году Поль Фитс (Paul Fitts) сформулировал правило, в наиболее практичной формулировке ставшее известным как Закон Фитса: Время достижения цели обратно пропорционально размеру цели и дистанции до цели. Рассмотрим его поподробнее.

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

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

В одномерном случае, при котором размер объекта вдоль линии перемещения курсора обозначается как S, а дистанция от начальной позиции курсора до объекта - как D (схема) , закон Фитса формулируется следующим образом:

Время(мс) = a+ b log (D/S+1)

Константы а и b устанавливаются опытным путем по параметрам производительности человека. Для приближенных вычислений можно использовать следующие значения: a = 50, b = 150)

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

Для вычисления времени можно использовать любые единицы измерения дистанции, т.к. D/S является отношением двух дистанций и поэтому не зависит от единицы измерения. Отсюда следует, что хотя указательное устройство может переместиться на расстояние большее или меньшее, чем то расстояние, на которое переместится на экране курсор, закон все равно работает, при условии, что соотношение между движением мышки и курсора является линейным. Закон Фитса может применяться только к тем типам перемещения, которые совершаются при использовании большинства человеко-машинных интерфейсов, т.е. к таким перемещениям, которые невелики относительно размеров человеческого тела и которые являются непрерывными (совершаемыми одним движением).

наверх     к оглавлению

Методы повышения доступности кнопки

Из всего вышесказанного можно сделать вывод, что лучший способ повысить доступность кнопки заключается в том, чтобы делать её большой и располагать ближе к курсору.

У этого правила есть два не сразу заметных следствия. Чтобы «бесконечно» ускорить нажатие кнопки, её, во-первых, можно сделать бесконечного размера и, во-вторых, дистанцию до неё можно сделать нулевой.

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

Понятно, что кнопка, расположенная в углу экрана, имеет «еще более бесконечные» размеры, если так вообще можно сказать (т.е. не важно даже, с какой точностью перемещали мышь). Для достижения такой кнопки от пользователя требуется всего лишь дёрнуть мышь в нужном направлении, не заботясь о её скорости и не делая попыток остановить её в нужном месте. Это делает такие кнопки наиболее доступными для пользователя. Именно поэтому, например, меню MacOS многократно эффективней меню Windows: если в MacOS меню всегда расположено впритык к верхнему краю экрана, то в Windows меню отделено от края экрана полосой заголовка окна программы (Title Bar).

Панель задач (Taskbar) в Windows вызывает удивление – оно расположено впритык к краю экрана, но кнопки отделены от края экрана тремя пустыми пикселями. И скорость работы снижается, и место теряется.

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

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

Если говорить о клавиатуре, она не требует особенной точности движений и, как таковая, обеспечивает большую скорость работы. Тем не менее, и она не без проблем. Во-первых, изначально она не предназначена для перемещения фокуса ввода по экрану, что приводит к существенным трудностям (в том смысле, что самопроизвольно клавиатура не позволяет перемещать фокус с достаточной эффективностью – для этого надо специально проектировать экран). Если клавиатура не работает, приходится пользоваться мышью, но перемещение руки с клавиатуры на мышь и потом обратно занимает почти секунду, что слишком много. Во-вторых, работа с клавиатурой подразумевает использование горячих клавиш (именно потому, что перемещение по экрану с клавиатурой затруднено). Но хотя горячие клавиши существенно увеличивают скорость работы, плохо то, что их трудно запомнить. Таким образом, они являются прерогативой опытных пользователей и для многих людей неприемлемы. Более того, их популярность во многом основывается на субъективных критериях: воспринимаемая пользователем скорость работы с клавиатуры выше, чем скорость работы с мышью (хотя секундомер говорит обратное). Это значит, что на клавиатуру особо рассчитывать не стоит: помимо набора текста большинство людей пользуются только клавишами пробела и возврата каретки.

наверх     к оглавлению