Интерфейс ботов: 10 классических правил юзабилити

Дизайнер и разработчик Кевин Скотт адаптировал к ботам эвристики Якоба Нильсена для оценки пользовательских интерфейсов и оценил по ним трех популярных ботов в Facebook Messenger.

Редакция рубрики «Интерфейсы» публикует перевод материала.

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

Стандарты и передовые методы создания ботов будут продолжать появляться. Но пока здесь наблюдается некий хаос и отсутствие единства. Применимы ли эвристики Нильсена к ботам? Давайте посмотрим, какие из них не утратили своей актуальности, и проверим их на примере трех популярных ботов.

Десять эвристик Нильсена

1. Осведомленность о состоянии системы. Пользователи всегда должны знать, что на данный момент происходит с системой. Для этого необходима полноценная и быстрая обратная связь.

Рабочая среда бота — это диалог, и его регулируют следующие основополагающие факторы:

  1. Быстрые диалоги. Сообщения — это недорогое разовое средство коммуникации, со временем они теряют свою актуальность. Сообщение, отправленное день назад, становится менее важным, чем отправленное только что.
  2. Старые сообщения неактуальны. Нет никакой гарантии, что более старые сообщения точно отражают текущее состояние системы. Чем старше сообщение, тем меньше вероятности, что оно еще актуально.
  3. Ограниченное пространство. Количество видимых знаков жестко ограничено, к тому же есть еще и более гибкие ограничения на количество слов, которые пользователь может понять и осмыслить.

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

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

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

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

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

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

— Кейд Метц, Wired

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

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

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

53bd5ae7c42234.png

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

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

В случае с командной строкой важно делать различия между ключевыми словами и взаимодействиями на естественном языке. Для нашего бота Emojinary мы решили выделять команды заглавными буквами — например, ПОМОЩЬ или ДАЛЕЕ.

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

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

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

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

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

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

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

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

Многие боты, написанные для Slack, можно вызвать при помощи примерно таких команд: /giphy hotdog. И на канал будет загружена соответствующая GIF.

Боты имеют огромный потенциал для предоставления подобных ускорителей. Пока один пользователь просит: «Привет, Giphybot, можешь найти картинку с хот-догом?», другой, более продвинутый, сразу перейдет к сути и задаст команду.

Для меня остается открытым вопрос: как помочь пользователям находить такие «волшебные кнопки»? Как улучшить их взаимодействие с интерфейсом, чтобы они не обращались каждый раз к вкладке «Помощь»?

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

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

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

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

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

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

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

Это правило все еще актуально. Если ваш бот выдает отвратительную фразу «Ошибка 500», вы все делаете не так.

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

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

Актуальные эвристики

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

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

Таким образом, у нас осталось шесть актуальных эвристик:

  • «Осведомленность о состоянии системы» и «На виду, а не по памяти». Информируйте пользователя о состоянии системы и возможных опциях в критические моменты, дайте ему возможность в любой момент самому запрашивать дополнительную информацию.
  • «Схожесть системы с реальным миром» и «Понимание проблем и их решение». Узнайте лучше свою аудиторию. Не меняйте стиль общения.
  • «Свобода действий и контроль» и «Предотвращение ошибок». В критические моменты получайте подтверждение от пользователя и давайте ему возможность отменять свои действия, если во взаимодействии много шагов.
  • «Гибкость и эффективность». Предоставьте функции-ускорители для продвинутых пользователей.
  • «Единообразие и стандарты» и «Эстетика и минимализм в дизайне». Соблюдайте единство в стиле общения и личности бота.
  • «Справочные материалы и документация». Полезная информация должна содержаться в самом боте.

Давайте рассмотрим самых популярных ботов и посмотрим, как они справляются с этими задачами. Я хочу сравнить трех ботов, которые первыми появились в Facebook Messenger: Poncho, CNN и 1−800-Flowers.

Poncho

Poncho сразу же располагает к себе тем, что дает намек, что нужно делать, —, а именно говорить о погоде.

Ну что же, звучит неплохо. Давай поговорим об этом, Poncho.

Пока складывается замечательный диалог. Вкратце перечислим плюсы:

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

Давайте посмотрим, что будет, если я скажу «нет»:

Достойно, хотя мне не очень нравится, что Poncho задает полностью идентичные вопросы (Это правильный город?). А я почти забыл, что разговариваю с ботом. Больше не буду таким простодушным.

Ладно, теперь буду отвечать «да».

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

Проделана отличная работа по предоставлению встроенной документации, и Poncho даже заставил меня обратиться за помощью. Замечательно. Это отличный пример структурированных сообщений в Facebook для устранения любой возможной двусмысленности.

Давайте посмотрим, насколько наглядно представлена информация:

Коротко и ясно.

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

Вердикт:

  1. «Осведомленность о состоянии системы» и «На виду, а не по памяти». Отвечает на запросы, касающиеся статуса системы. Предоставляет структурированные сообщения, чтобы направить пользователя.
  2. «Схожесть системы с реальным миром» и «Понимание проблем и их решение». Poncho говорит на понятном мне языке.
  3. «Свобода действий и контроль» и «Предотвращение ошибок». Я допустил «ошибку», когда вводил данные о своем местоположении, и Poncho разрешил мне ее исправить. Отлично.
  4. «Гибкость и эффективность». Если я вернусь, Poncho запомнит мое местоположение, и мне не придется лишний раз нажимать на клавиши.
  5. «Единообразие и стандарты» и «Эстетика и минимализм в дизайне». Poncho — довольно прямолинейный бот, сообщения от него структурированные: ясные и четкие. С Poncho почти всегда очень приятно поболтать.
  6. «Справочные материалы и документация». Все сделано именно так, как нужно.

Poncho проделал великолепную работу.

CNN

CNN правильно применяет структурированные сообщения. Однако здесь уже не складывается ощущение диалога — скорее это похоже на командную строку.

Хотя бот CNN — определенно не тот собеседник, с которым я бы хотел пропустить по кружке пива, он справляется с работой, когда ему нужно направить мои действия. Я склонен считать этого бота скорее простой командной строкой, а не собеседником.

Я получаю новости, но не совсем понимаю, что еще могу здесь сделать. По-моему, этот бот зациклен на взаимодействии через структурные сообщения. Запрос «Спроси CNN» тоже ничего не прояснил.

Бот выполняет свою работу, но он какой-то заурядный. Мне проще зайти на сайт.

Вердикт:

  1. «Осведомленность о состоянии системы» и «На виду, а не по памяти». Структурированные сообщения очень четкие, но у бота не получается приспособиться к обычным сообщениям. Местами призыв к действию не совсем понятен.
  2. «Схожесть системы с реальным миром» и «Понимание проблем и их решение». Практически нет возможности взаимодействовать за пределами структурированных сообщений.
  3. «Свобода действий и контроль» и «Предотвращение ошибок». Ошибку сделать практически невозможно.
  4. «Гибкость и эффективность». Бот CNN вынуждает обращаться с ним как с командной строкой, для него нет разницы, новичок вы или продвинутый пользователь.
  5. «Единообразие и стандарты» и «Эстетика и минимализм в дизайне». Соблюдается постоянство, но нет индивидуальности. Это напоминает просмотр ленты в мессенджере.
  6. «Справочные материалы и документация». Есть встроенная помощь, хотя складывается ощущение, что чего-то не хватает. Например, для чего нужна кнопка «Спроси CNN»?

1−800-Flowers

Диалог начинается со структурного сообщения. Честно говоря, нет никакого желания вести с разговор с этим ботом. Давайте посмотрим, что будет, если нажать кнопку «Поговорить с поддержкой».

Черт, я не хочу разговаривать с человеком. Отмена, отмена!

Как ни странно, это хороший пример отмены действия.

Здесь также хорошо используется подтверждение действия.

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

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

А вот это приятно.

Вердикт

  1. «Осведомленность о состоянии системы» и «На виду, а не по памяти». Эффективное использование структурированных сообщений с целью направить действия пользователя.
  2. «Схожесть системы с реальным миром» и «Понимание проблем и их решение». Здесь провал, особенно в конце: когда я попытался ввести точную дату, бот завис.
  3. «Свобода действий и контроль» и «Предотвращение ошибок». Проделана отличная работа, я смог вернуться и изменить свой заказ.
  4. «Гибкость и эффективность». Приятно, что люди заменяют бота в критические моменты. Новички оценят такой индивидуальный подход, а продвинутые пользователи могут без лишних слов перейти к заказу.
  5. «Единообразие и стандарты» и «Эстетика и минимализм в дизайне». Такое чувство, что я общаюсь с веб-страницей в мессенджере.
  6. «Справочные материалы и документация». Хорошая встроенная помощь.

Вывод

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

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

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

©  vc.ru