Русский
Русский
English
Статистика
Реклама

GOMS-анализ юзабилити интерфейса

image

Данная статья практически полностью основана на цитатах из книги Джефа Раскина Интерфейс новые направления в проектировании компьютерных систем с моими дополнениями и воссозданием приводимого в книге примера интерфейса.

Быстрый ответ на вопрос стоит ли использовать GOMS-анализ для проверки юзабилити: Если вы проектируете интерфейс, при работе с которым от задержки в 0,3 сек. никто не умирает не стоит..

Итак, The model of Goals, Objects, Methods, and Selection rules (GOMS) это метод исследования интерфейса, разработанный Кардом, Мораном и Ньюэллом в 80-х годах. GOMS позволяет предсказать, сколько времени потребуется опытному (именно опытному) пользователю на выполнение конкретной операции при использовании конкретного интерфейса.

Теперь, когда мы привыкли к этому странному для русского уха термину, можно описать его суть.

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

Жесты и время по модели GOMS:


  1. H (перенос руки на мышь) = 0,4 сек
  2. К (нажатие клавиши клавиатуры или мыши) = 0,2 сек
  3. Р (перенос курсора к позиции на экране) = 1,1 сек
  4. М (обдумывание следующего шага) = 1,35 сек
  5. R (ожидание ответа системы) время зависит от быстродействия конкретной системы и не участвует в расчётах.


В дальнейших расчётах Жесты будут заменяться буквенными обозначениями из списка выше и будут называться Операторы.

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

Правила расстановки операторов:


  • Правило 0. Начальная расстановка операторов M
    Операторы M надо ставить перед всеми операторами K (нажатие клавиши), а также перед всеми операторами P (указание с помощью мыши), предназначенными для выбора команд (например, указание на выпадающий список); но перед операторами P, предназначенными для указания на аргументы этих команд (например, конкретный пункт в выпавшем списке), ставить оператор M не надо.
  • Правило 1. Удаление ожидаемых операторов M
    Если оператор, следующий за оператором M, является полностью ожидаемым с точки зрения оператора, предшествующего M, то этот оператор M может быть удален. Например, если вы перемещаете мышь чтобы нажать кнопку по достижении цели, то в соответствии с этим правилом следует удалить оператор M, устанавливаемый по правилу 0.
  • Правило 2. Удаление операторов M внутри когнитивных единиц
    Если строка вида M K M K M K принадлежит когнитивной единице, то следует удалить все операторы M, кроме первого. Когнитивной единицей является непрерывная последовательность вводимых символов, например 4564.23 или Константин Константинопольский.
  • Правило 3. Удаление операторов M перед последовательными разделителями
    Если оператор K означает разделитель, стоящий в конце когнитивной единицы (например, тире между двумя днями понедельник четверг), то следует удалить оператор M, стоящий перед ним.
  • Правило 4. Удаление операторов M, которые являются прерывателями команд
    Если оператор K является разделителем, стоящим после постоянной строки (например, точка в конце предложения, которая каждый раз вводится в неизменном виде), то следует удалить оператор M, стоящий перед ним. Добавление разделителя станет привычным действием, и поэтому разделитель станет частью строки и не будет требовать специального оператора M. Но если оператор K является разделителем для строки аргументов или любой другой изменяемой строки, то оператор M следует сохранить перед ним.
  • Правило 5. Удаление перекрывающих операторов M
    Любую часть оператора M, которая перекрывает оператор R, означающий задержку, связанную с ожиданием ответа компьютера, учитывать не следует.


Применение метода


Дано:
Юзера просят перевести температуру из Фаренгейта в Цельсий или наоборот. Например, могут попросить: Переведи, 3,5 градуса по Фаренгейту в градусы по Цельсию. Значение температуры юзер может ввести только с помощью клавиатуры или мыши.

Задача:
Спроектировать интерфейс, где время на перевод значений температуры минимально.

Условия
Для простоты, будем считать, что юзер вводит значения максимум из двух символов и юзер не совершает ошибок.

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

Решение. Вариант 1


Представим, что юзер сначала должен понять в какую сторону произойдёт перевод и если в нужную ему сторону, то просто вводит цифры. Если в не нужную сторону, то он переключается в радио-группе на нужную.



Расчёт:


Н (руку на мышь) + М (думаем) + Р (ведём курсор к радио-группе) + К (клик) + М (думаем) + Р (курсор к полю) + К (клик) + Н (перенос руки с мыши на клаву) + М (думаем) + К (ввод первой цифры) + М (думаем) + К (ввод второй цифры).

По правилу 2, удаляем лишние М и получаем:
Н + М + Р + К + М + Р + К + Н + М + К + К

Если выбрано НЕ подходящее направление конвертации температур, то получаем:
0,4 + 1,35 + 1,1 + 0,2 + 1,35 + 1,1 + 0,2 + 0,4 + 1,35 + 0,2 + 0,2 = 7,85 сек

Если выбрано подходящее направление конвертации температур, то получаем:
0,4 + 1,35 + 1,1 + 0,2 + 1,35 + 0,2 + 0,2 = 4,8 сек

Решение. Вариант 2


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



Расчёт:


Н (0,4) + М (1,35) + Р (1,1) + К (0,2) + Р (1,1) = 4,15 сек

Этот вариант реализации юзабельней первого на 0,65 сек.

Погрешность метода


Раскин пишет, что с помощью этого метода можно предсказать, сколько времени понадобится пользователю на его задачи с абсолютной погрешностью менее 5%.

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

Моё мнение о GOMS анализе


Когда я только узнал о нём мне захотелось немедленно начать его использовать во всех своих проектах. Мне казалось, что вот оно избавление от извечных мук выбора как правильней. Без субъективщины и трендов. Реальная тупая математика. Но на деле, чтобы описать даже самый примитивный интерфейс, надо потратить раза в два больше времени чем на его проектирование. А потом всё равно придётся спроектировать альтернативный вариант чтобы посчитать и его. И даже если в итоге я узнаю какой вариант лучше, окажется, что он лучше на 0,65 сек. Потратить 34 часа чтобы выиграть 0,65 сек это мощно.
Тем не менее я, считаю, что метод всё равно классный и его стоит использовать, но в каких-то супер важных интерфейсах в которых даже 0,65 сек имеют значение. В большинстве же проектов логичней положиться на свой опыт и постфактум просто спросить юзеров, как им удобнее.

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


P. S.


Существуют и модификации GOMS анализа. Например, Сritical-path method GOMS (CPM-GOMS) и версия, называемая естественным языком GOMS (natural GOMS language, NGOMSL) в которой учитывается поведение неопытного пользователя, например время, необходимое ему для обучения. Об этих версиях вы можете прочитать самостоятельно.
Источник: habr.com
К списку статей
Опубликовано: 28.07.2020 12:21:05
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Usability

Веб-дизайн

Интерфейсы

Раскин

Анализ

Урок

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru