25 лет назад Якоб Нильсен описал 10 основных принципов проектирования взаимодействия. Эти принципы были разработаны на основе многолетнего опыта в области юзабилити-инженерии и стали правилами для взаимодействия человека и компьютера.

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

Видимость состояния системы

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

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

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

Совпадение между системой и реальным миром

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

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


Отличные примеры иконок с реальными соответствиями
Отличные примеры иконок с реальными соответствиями

Даже в современном минималистичном мире десятки дизайнерских подсказок сохранились с той эпохи: приложения, такие как компас или калькулятор; или компоненты дизайна: папки, переключатели, иконки блокировки. Кроме того, язык и концепции из реального мира помогают пользователям легко понять виртуальную систему. Вот почему приложение по хранению карточек называется "Кошелек", при сохранении любимых сайтов мы используем "Закладки", во время удаления старых файлов - "Мусорную корзину", а для покупок в Интернете - "Корзину".

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

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

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

 

Согласованность и стандарты

Вы когда-нибудь замечали, что функция копирования-вставки работает одинаково, независимо от того, какое приложение вы используете? А как насчет того, что вы можете попасть на домашний экран, просто проведя пальцем вверх от нижнего края, (свайпнуть)? Это всего лишь две модели юзабилити, которые Apple использует, чтобы сделать свою систему последовательной и предсказуемой для пользователей. В понятной системе пользователи никогда не должны путаться, используя разные слова, визуальные образы или действия для обозначения одних и тех же понятий.

"Не забывайте, что люди проводят 90% своего времени, взаимодействуя с другими приложениями".

Хорошей отправной точкой для создания последовательной системы дизайна вашего мобильного приложения являются "Руководство по интерфейсу для человека" от Apple и "Руководство по материальному дизайну" от Google. Они представляют собой прочную основу, описывающую важные компоненты дизайна с большим количеством примеров. При разработке нового приложения никогда не забывайте, что люди проводят 90% своего времени, взаимодействуя с другими приложениями, поэтому использование лучших практик и распространенных шаблонов в конечном итоге приведет к повышению общего качества работы. Согласованность - один из самых сильных факторов, способствующих удобству использования.

Предотвращение ошибок

Согласно книге Дона Нормана "Дизайн повседневных вещей", существует два вида погрешностей, возникающих при взаимодействии с пользовательским интерфейсом: промахи и ошибки.

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

Интеллектуальное предотвращение промахов в веб-приложении gmail. К сожалению, в мобильном приложении эта функция отсутствует.
Интеллектуальное предотвращение промахов в веб-приложении gmail. К сожалению, в мобильном приложении эта функция отсутствует.

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


Распознать, а не вспомнить

Существует два типа восстановления памяти: распознавание и вспоминание [5]. Распознавание происходит, когда вы легко узнаете человека или предмет, который вам знаком. Это очень поверхностная форма извлечения информации из памяти, не требующая никакой работы. Вспоминание происходит, когда вам нужно найти в памяти редко используемую информацию (имена, годы, детали и т.д.). Чтобы вспомнить информацию, людям приходится активировать большее количество блоков памяти. Поэтому процесс вспоминания является достаточно глубоким и требует приложения больших усилий. (Именно поэтому на вопросы с несколькими вариантами ответов в тестах гораздо легче ответить, чем в заданиях с открытым выбором).

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

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

Гибкость и эффективность использования

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

Разгрузите экран и сделайте приложение более удобным для навигации. В приложении всегда должны отображаться только необходимые элементы пользовательского интерфейса и команды. Посмотрите на такие приложения, как Apple Pages или G-Drive; при написании документа вы видите всего несколько контроллеров, связанных с редактированием текста. Но как только возникает необходимость добавить дополнительную диаграмму, появляется целая палитра функций, специально созданных для того, чтобы помочь вам выполнить эту задачу.

Не забывайте о профессионалах и продвинутых пользователях как таковых! У нового пользователя, который вступает на кривую обучения [6], всегда будут другие потребности, по сравнению с профессионалом, который использует программу по несколько часов каждый день. Опытные пользователи могут оценить расширенные опции, ярлыки или даже расширяемость и настраиваемость интерфейса приложения. Им необходимо экономить свое время и выполнять задачи быстро, но при этом точно и надежно. Хороший пользовательский интерфейс должен предлагать соответствующие функциональные возможности как неопытным, так и опытным пользователям.

Продвинутые шорткаты Photoshop [7]
Продвинутые шорткаты Photoshop [7]

Эстетичный и минималистичный дизайн

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

"Совершенство достигается не тогда, когда больше нечего добавить, а когда нечего отнять". - Антуан де Сент-Экзюпери

Чтобы сделать основной контент более заметным, можно использовать только пробелы. Это помогает повысить его удобочитаемость, подчеркивает призыв к выполнению действий, а также создает сбалансированный и приятный внешний вид [8]. Минималистичный дизайн использует только необходимые цвета для поддержки визуальной иерархии. Подумайте о назначении и значении каждого цвета. Используйте его согласованно.

Помогите пользователям распознать, диагностировать и исправить ошибки

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

Плохой пример сообщения об ошибке, которое непонятно и бесполезно для пользователя.
Плохой пример сообщения об ошибке, которое непонятно и бесполезно для пользователя.

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

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

Помощь и документация

Каждое приложение должно стремиться быть полностью готовым для использования без какой-либо документации, но, как мы уже говорили, все пользователи обладают разными навыками и имеют неодинаковый уровень знаний, и то, что легко для 90% ваших пользователей, может оказаться сложным для оставшихся 10%. Хорошо написанная документация, часто задаваемые вопросы и учебные пособия могут иметь решающее значение для удержания потрясенного пользователя.

Документация должна быть хорошо структурирована, написана человеческим языком и минималистична. Иногда пользователям не нужно много документации; достаточно простого коучмарка, показывающего, как работает новая функция, или краткого руководства по внедрению, объясняющего основы. Такие приложения, как Trello, Slack и Duolingo, отлично справляются со своей работой по адаптации пользователей.

Ресурсы

  1. https://www.nngroup.com/articles/ten-usability-heuristics/

  2. https://www.interaction-design.org/literature/article/heuristic-evaluation-how-to-conduct-a-heuristic-evaluation

  3. http://www.gdrc.org/decision/info-decision.html

  4. https://homepages.cwi.nl/~steven/sigchi/bulletin/1997.4/karn.html


Перевод статьи подготовлен специально для студентов курса "QA Engineer. Basic". В преддверии старта курса приглашаем всех желающих на бесплатный демоурок по теме: "Как правильно составлять баг репорт".

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


  1. Mapaxa864
    03.11.2021 18:58
    +1

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

    Тенденция эта существует ровно до тех пор, пока не приходит какой-нибудь руководитель и не говорит делать очередной сраный комбайн «суперапп».

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

    Однако например даже такая банальная вещь как крестик закрытия окна может:
    — быть справа
    — быть слева
    — быть внутри окна
    — быть снаружи окна
    — не появляться сразу
    — не закрывать окно (а быть аналогом возврата к предыдущему состоянию)
    И всё это даже в рамках одного сервиса в различных комбинациях. Неистово елозить курсором от одного края экрана до другого — это ведь так здорово (нет)!

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

    Или когда пользователю внезапно подсунуть баннер с рекламой.

    Давно сделанный вывод (не оцениваю хорошо это или плохо, это просто есть):
    Когда «10 баксов — это 10 баксов», все эти «эвристики юзабилити», даже самые базовые уверенно идут лесом, и что мусолить в этой теме — не понятно.


    1. SadOcean
      03.11.2021 22:02

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

      По поводу баннеров - если цель не в удобстве пользователя, а в чем то еще (например, заставить пользователя что-то купить), то при чем тут рекомендации, служащие цели удобства пользователя?
      За этим вам в другую статью.

      А статья конечно банальная, но в целом полезная.


      1. Mapaxa864
        04.11.2021 03:27

        По поводу баннеров — если цель не в удобстве пользователя, а в чем то еще (например, заставить пользователя что-то купить), то при чем тут рекомендации, служащие цели удобства пользователя?

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


        1. SadOcean
          04.11.2021 15:10
          +1

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


      1. mrBarabas
        04.11.2021 03:36
        +1

        Насчёт банальности не соглашусь, близко работал с тремя дизайнерами, все они в нашем штате, всех знаю лет 10, одну учил азам веб-дизайна в начале ее карьеры, когда она пришла без опыта и портфолио, но с горящими глазами и желанием делать крутые вещи. Итог, у людей 10 лет минимум опыта в веб-дизайне, 2 из 3 все прошли «школу фриланса», т.е. опыт работы с решением задач заказчика хоть какой-то но есть. И до сих пор красные акценты «успеха», отсутствие текущих состояний в важных вещах, «элементы с сомнительным уникальным опытом использования», которые не сразу даже продактам понятны и т.д. но все сбалансировано и красиво, исправляешь ошибки и былого баланса и красоты уже нет, но удобно и понятно. К чему я это, несмотря на то, что все понимают как и что и считают советы капитанством, но нередко делают им вопреки и не так, потому что так красивее, потому что так сейчас модно, потому что сейчас везде так на бихансе… дрибле и т.п. Я такое явление привык называть дизайном для дизайнеров, но это понимают только продакты и наотрез отказываются дизайнеры. Так что иногда стоит пройтись по подобным советам, может в одной из подобных статей где-то нет-нет, да и проскочит нужная для понимания мысль


        1. SadOcean
          04.11.2021 15:11

          Услышал термин "Дрибблизация"
          Подгон дизайна к абстрактным идеалам с Dribble)

          А эффективные и рабочие методы они это, скучные))