Зачем читать книгу?

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

Чем крут автор?

Обаятельный бородач Джеф Раскин более 30 лет занимался интерфейсами. Трудился в Apple Computer и был инициатором разработки Macintosh. В 1987-м выпустил свой настольный компьютер Canon Cat. Довольно революционная для своего времени железяка. Ну, со слов нескромного Раскина… По ходу повествования автор тщательно подбирает аргументы и с упоением подкрепляет выводы многочисленными научными исследованиями.

Ключевые мысли из книги своими словами

Без лишних слов, сразу сформулируем кратко законы Раскина:

  1. Обеспечь сохранность данных пользователя.

  2. Не вынуждай его производить лишние действия.

  3. Дай пользователю возможность самому установить ритм взаимодействия (не заставляй ждать, но и не подгоняй).

Когнитивные ограничения

Что это вообще такое? Также как эргономика описывает физические ограничения человека, когнетика занимается изучением ограничений мышления.

Невозможность сложить в уме тридцатизначные числа за 5 секунд. Это одно из очевидных когнитивных ограничений.
Невозможность сложить в уме тридцатизначные числа за 5 секунд. Это одно из очевидных когнитивных ограничений.

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

Сила привычки

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

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

Жесты и режимы

Жест (в рамках данной книги) — это набор автоматических действий пользователя.

Скажем, опытный пользователь для набора слова «Привет» будет использовать один жест (просто быстро пробежится пальцами обеих рук по клавиатуре), а неопытный юзер совершит 6 жестов — по одному на каждую букву.
Скажем, опытный пользователь для набора слова «Привет» будет использовать один жест (просто быстро пробежится пальцами обеих рук по клавиатуре), а неопытный юзер совершит 6 жестов — по одному на каждую букву.

Режим (опять же в текущем контексте) —состояние интерфейса при котором только что осуществленный жест интерпретируется по прежнему.

Простой пример — карманный фонарик. Он имеет два режима: вкл и выкл. Переход из одного режима в другой осуществляется после совершения очевидного жеста — нажатия на кнопку.
Простой пример — карманный фонарик. Он имеет два режима: вкл и выкл. Переход из одного режима в другой осуществляется после совершения очевидного жеста — нажатия на кнопку.

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

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

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

Ошибочные выводы

Раскин указывает на две типичные ошибки новичков-проектировщиков:

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

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

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

Квазирежимы

Этим странным словом Раскин называет режим, удерживаемый пользователем кинестетически.

Хороший пример — нажатие на педаль или появляющийся список подразделов меню при нажатии на заголовок корневого раздела.

Существительное ↔ глагол

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

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

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

Мастерство анализа интерфейса

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

В переводе аббревиатура означает «правила для целей, объектов, методов и выделения». Суть модели заключается в том, что можно просчитать оптимальное время выполнения задачи, а затем сравнить его с временем, реально затрачиваемым пользователем. Если разница между показателями будет слишком велика — интерфейс плох и непонятен.

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

В книге приводятся наглядные примеры и рассказывается о способах вычисления среднего количества информации, вводимого в то или иное поле.

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

Фиттс и Хик

Раскин приводит несколько законов (читай: сложных формул), на основании которых следует проектировать интерфейсы.

Постараюсь описать приведенное в книге кратко и без математических символов:

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

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

Набор возможностей

Разрабатывая интерфейс всегда нужно помнить о наборе простых действий пользователя:

  • указание,

  • выделение,

  • активация,

  • модификация,

  • генерация,

  • удаление,

  • перемещение,

  • трансформация в другой тип данных,

  • копирование.

Именно на этих комбинациях построено любое взаимодействие с интерфейсом.

Когда все эти действия выполняются привычным образом, то интерфейс называют «интуитивным». Раскин же предпочитает заменять это понятие на «естественный». Однако привычно не всегда = хорошо, и если есть идея, как улучшить устоявшиеся привычки нововведением нужно не бояться сделать это.

Во времена, когда мышь была в новинку, не каждый, видя её впервые, понимал, как ей пользоваться. Кто-то крутил пальцем шарик в основании, кто-то водил ей по монитору. В сериале «Star Trek» инженер космического корабля попадает из будущего в во времена конца двадцатого века. Мышь вызывает у него недоумение. Думая, что это штука для распознавания команд, он подносит устройство ко рту и начинает говорить в в неё, как в микрофон.
Во времена, когда мышь была в новинку, не каждый, видя её впервые, понимал, как ей пользоваться. Кто-то крутил пальцем шарик в основании, кто-то водил ей по монитору. В сериале «Star Trek» инженер космического корабля попадает из будущего в во времена конца двадцатого века. Мышь вызывает у него недоумение. Думая, что это штука для распознавания команд, он подносит устройство ко рту и начинает говорить в в неё, как в микрофон.

Лишние проблемы интерфейса

Несколько важных штук, которыми не следует пренебрегать:

  • Бесполезные сокращения. Лаконичность в обозначении элемента хороша не всегда. Гораздо важнее сразу донести смысл, чем сэкономить место.

  • Неуместные пиктограммы. Если иконка нуждается в подписи и разъяснении, то лучше сразу заменить её текстом.

  • Не простота, а понятность. Если интерфейс уже не возможно упростить, но он все еще не понятен пользователю, стоит оставлять инструкции. Не нужно сразу вываливать на юзера весь «мануал по использованию». Лучше просто делать уместные и понятные подсказки по ходу взаимодействия в нужных местах.

  • Безопасное удаление. Имея дело с интерфейсами, где предусмотрены действия «удалить» или «вырезать», пользователь должен быть уверен, что он случайно не произведет необратимого действия. Всегда должна существовать возможность отмены или альтернативный вариант хранения удаляемых данных.

  • Безошибочные ошибки. Если, продумывая интерфейс, вы готовите текст уведомления об ошибке, значит, вы сами уже допустили ошибку. Логичный интерфейс должен работать так, чтоб юзер эту ошибку не допустил.

Казалось бы, при разработке программы-калькулятора, невозможно избежать уведомления об ошибке, например, в случае деления на 0. Однако в строке с результатом можно просто вывести текст «неопределимо» или аббревиатуру NaN (not a number).
Казалось бы, при разработке программы-калькулятора, невозможно избежать уведомления об ошибке, например, в случае деления на 0. Однако в строке с результатом можно просто вывести текст «неопределимо» или аббревиатуру NaN (not a number).

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

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

Проблемы вне системы

В книге автор также говорит не только об конкретных проектировочных решениях, но и о более глобальных штуках.

  • Проще — значит, лучше. Интерфейсы постоянно усложняются. Это касается и сред для разработчиков. Утрачена немедленная обратная связь, которая раньше позволяла им создавать эффективные программы намного быстрее. Разрабатывая современные интерфейсы стоит стремиться к прежней простоте.

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

Два ключевых действия

Раскин постоянно повторяет, что нужно стремиться делать интерфейсы как можно более простыми. Для этого он советует выполнять два простых действия:

1. Определить возможности и ограничения;

2. Проследить мысленную цепочку умозаключений, которые будущий пользователь сформирует при взаимодействии с интерфейсом.

«Наши способности разделяются между когнитивным сознательным и когнитивным бессознательным. Мы обладаем только одним локусом внимания, а наши привычки играют главную роль в работе с интерфейсами», — заключает автор.


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

В блоге, кстати, есть другие краткие содержания книжек

А больше интересностей о юиксе в жизни — в моей телеге

Комментарии (7)


  1. slavanikolsky
    11.09.2022 22:07

    В статье затронуты только Верхушки. Ссылка на книгу http://sidorchik.ru/books/interface/ Джеф Раскин «Интерфейс: новые направления в проектировании компьютерных систем».

    Вставили непонятные картинки, а нужное из книги потеряли.

    Например это:

    Хороший интерфейс выдает сообщение, что информацию от пользователя программа приняла и правильно распознала. Можно использовать индикатор хода выполнения задачи (status bar), отражающий время до конца операции. Если не знаете, сколько времени осталось, напишите об этом.

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


    1. nik_vr
      12.09.2022 18:55

      Как же меня бесят современные прогресс-бары в Windows, которые просто бегают по кругу, никак не показывая прогресс. Годы идут, а интерфейсы только хуже местами становятся, в угоду красоте.


      1. lumpur
        12.09.2022 19:45
        +1

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


  1. ibnteo
    11.09.2022 22:08
    +2

    В клавиатуре Catboard реализовал автоповтор не трижды нажатой кнопки, как делал Раскин, а дважды нажатой, и время ожидания и скорость повтора зависило от скорости нажатия кнопки, и это работало примерно вдвое быстрее стандартного автоповтора, и регулируешь его сам, когда надо, быстрее или медленнее. Написал письмо его сыну Азе Раскину, ему понравилось, но дальше это не получило распространение.

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

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

    Недавно разработал новую клавиатуру Бумеранг, всего 30 кнопок, по аналогии с Gherkin, но с раздвинутыми блоками, которые немного развёрнуты, и разместил все модификаторы (Ctrl, Alt, Shift, Win) прямо под пальцами на основном ряду, не сложно нажимать любые клавиатурные сочетания практически не двигая пальцами. Все символы располагаются на одном месте в английской и русской раскладках, и если в раскладке нет такого символа, клавиатура сама переключает раскладку, печатает этот символ, и переключает раскладку обратно.


    1. slavanikolsky
      11.09.2022 22:46

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

      Интересно при скоростном наборе текста как это работает? Не скажется на скорости набора?


      1. ibnteo
        11.09.2022 23:32

        Не сказывается, вот сейчас набираю в русской раскладке @#$%^<>[]{} сразу по нескольку символов перекатом, лишь светодиод на клавиатуре мигает, когда раскладка переключается, он показывает, что включена русская раскладка.


  1. dixi
    13.09.2022 18:24

    Невероятно! Снова нашелся человек, который умеет читать и он тоже прочитал книгу Раскина. Феноменально!