Как заставить пользователей читать сообщения об ошибках? - PullRequest
175 голосов
/ 01 марта 2010

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

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

  • Форматирование курсовой справки; может быть, простое короткое сообщение с кнопкой «узнать больше», ведущее к более подробному сообщению об ошибке
  • Все сообщения об ошибках должны содержать ссылку на какой-либо раздел руководства пользователя (что довольно сложно сделать)
  • Просто не выдавайте сообщений об ошибках, просто отказывайтесь выполнять задачу (несколько «яблочный» способ обработки пользовательского ввода)

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

Ответы [ 26 ]

66 голосов
/ 01 марта 2010

Это отличный вопрос, достойный +1 от меня. Вопрос, несмотря на свою простоту, охватывает многие аспекты характера конечных пользователей. Здесь все сводится к целому ряду факторов, которые могут принести пользу вам и самому программному обеспечению и, конечно, конечным пользователям.

  • Не помещайте сообщения об ошибках в строку состояния - они никогда не будут их читать, несмотря на то, что они были изумлены цветами и т. Д. .... они всегда будут по ним скучать! Независимо от того, как сильно вы будете стараться ... На одном этапе во время тестирования пользовательского интерфейса Win 95 до его запуска MS провела эксперимент по чтению пользовательского интерфейса ( ed - следует отметить, что в сообщении явно говорится в контексте «Посмотри под стул» ), а 100-долларовую купюру приклеили к нижней части стула, на котором сидели испытуемые ... никто не заметил сообщение в строке состояния !
  • Делайте сообщения короткими, не используйте пугающие слова, такие как «Оповещение: система столкнулась с проблемой», конечный пользователь нажмет кнопку паники и будет реагировать чрезмерно ...
  • Независимо от того, как сильно вы стараетесь, не используйте цвета, чтобы идентифицировать сообщение ... психологически, это все равно, что размахивать красным флагом быка!
  • Используйте нейтрально звучащие слова, чтобы передать минимальную реакцию и как действовать!
  • Может быть, лучше показать диалоговое окно со списком нейтральных сообщений об ошибках и включить флажок с надписью «Хотите ли вы видеть больше этих сообщений об ошибках в будущем?», Последнее, чего хочет конечный пользователь, это работать посреди программного обеспечения, засыпанного всплывающими сообщениями, они будут разочарованы и будут отключены приложением! Если флажок был отмечен, зарегистрируйте его в файле ...
  • Держите конечных пользователей в курсе того, какие сообщения об ошибках будут ... что подразумевает ... обучение и документацию ... теперь это сложный вопрос, который нужно донести ... вы не хотите, чтобы они думали что будут "проблемы" или "глюки" и что делать в случае этого ... они не должны знать, что будут возможные ошибки, действительно сложно.
  • Всегда, всегда, не бойтесь спрашивать обратную связь, когда происходит непредвиденное событие - например, «Когда появилась эта ошибка с номером 1304, как вы отреагировали? Какова была ваша интерпретация? - бонус с этим, конечный пользователь может дать вам более последовательное объяснение вместо «Ошибка 1304, объект базы данных потерян!», Вместо этого они могут сказать «Я нажал на это так и вот, тогда кто-то случайно вытянул сетевой кабель машины », это подскажет вам, что нужно с ним справиться, и может изменить ошибку, сказав« Ooops, Сетевое соединение отключено »... вы получите дрейф.
  • И последнее, но не менее важное: если вы хотите настроить таргетинг на международную аудиторию, учтите интернационализацию сообщений об ошибках, поэтому сохраняйте их нейтральными, потому что тогда будет проще переводить, избегать синонимов, сленговых слов и т. Д. что сделало бы перевод бессмысленным - например, Fiat Ford, автомобильная компания продавала свою марку Fiat Ford Pinto, но заметила, что никаких продаж не происходило в Южной Америке, оказалось Пинто был сленгом «маленького члена» и, следовательно, продаж не было ...
  • ( ed ) Документируйте список сообщений об ошибках, которые следует ожидать в отдельном разделе документации под названием «Сообщения об ошибках» или «Корректирующие действия» или аналогичные, перечисляя номера ошибок в правильном порядке с помощью заявление или два о том, как действовать ...
  • ( ed ) Благодаря Victor Hurdugaci за его вклад, сохраняйте сообщения вежливыми, не заставляйте конечных пользователей чувствовать себя глупыми. Это идет вразрез с ответом Джеком Маркетти , если база пользователей является международной ...

Редактировать: Отдельное спасибо gnibbler , который также упомянул еще один чрезвычайно важный момент!

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

Редактировать # 2: Мой плохой! Ой, спасибо DanM , который упомянул об этой машине, я перепутал название, это был Ford Pinto ... мой плохой ...

Редактировать # 3: Выделены ed для обозначения дополнений или дополнений и зачислены другим для их ввода ...

Редактировать # 4: В ответ на комментарий Кена - вот мое мнение ... Нет, это не так, используйте нейтральные стандартные цвета Windows ... не переходите на яркие цвета! Придерживайтесь нормального серого цвета фона с черным текстом, который является нормальным стандартным руководством по GUI в спецификациях Microsoft. См. UX Guidelines ( ed ).

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

16 голосов
/ 01 марта 2010

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

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

11 голосов
/ 01 марта 2010

Краткий ответ: Вы не можете.

Менее короткий ответ: сделайте их видимыми, актуальными и контекстуальными (выделите то, что они испортили). Но, тем не менее, вы ведете проигранную битву. Люди не читают на экранах компьютеров, они сканируют, и их научили нажимать кнопки, пока диалоговые окна не исчезнут.

10 голосов
/ 01 марта 2010

Мы поместили простой запоминающийся рисунок в поле ошибки: не значок, довольно большое растровое изображение и ничего похожего на стандартные значки сообщений Windows. Никто никогда не сможет вспомнить формулировку окна сообщения (большинство даже не прочитает его, если в поле есть кнопка «ОК», которую они могут нажать), но большинство людей ДЕЙСТВИТЕЛЬНО помнят изображение, которое они видели. Поэтому наши сотрудники службы поддержки могут спросить клиента: «Вы видели парня, пьющего кофе?» или "ты видел пустой стол?" По крайней мере, так мы примерно знаем, что пошло не так.

10 голосов
/ 01 марта 2010

Оповещения / всплывающие окна раздражают, поэтому все нажимают первую кнопку, которую они видят.

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

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

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

UPDATE
Сделать сообщение значимым и полезным . Например, не пишите что-то вроде: «Клавиатура не найдена, нажмите F1 для продолжения».

10 голосов
/ 01 марта 2010

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

Например, я написал приложение, которое позволило нашим HR людям лучше отслеживать даты найма / увольнения сотрудников. [мы были маленькой компанией, очень спокойной].

Когда они вводили неправильные даты, я писал:

Эй, тупица, научись вводить дату!

РЕДАКТИРОВАТЬ: Конечно, более полезное сообщение должно сказать: «Пожалуйста, введите дату как мм / дд / гггг» или, возможно, в коде, чтобы попытаться выяснить, что они ввели, и если они ввели «бла-бла», чтобы показать ошибку. Тем не менее, это было очень небольшое приложение для человека, которого я знал лично. Поэтому снова люди, прочитайте первую строку этого поста: В зависимости от вашей пользовательской базы ...

Недавно я работал над проектом Art Institute, поэтому сообщения об ошибках были направлены на аудиторию, например:

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

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

8 голосов
/ 01 марта 2010

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

6 голосов
/ 01 марта 2010

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

Этот момент может быть причиной вашего опыта, потому что в какой-то момент они перестанут их читать, потому что «они все равно не понимают», поэтому ваша задача проста:

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

Например, я передаю сообщение вроде этого:

ORA-00237: операция моментального снимка запрещена: новый файл управления создан Причина: была предпринята попытка вызвать cfileMakeAndUseSnapshot с подключенным в данный момент контрольным файлом, который был недавно создан с помощью CREATE CONTROLFILE. Действие: Смонтируйте текущий управляющий файл и повторите операцию.

что-то вроде:

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

5 голосов
/ 01 марта 2010

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

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

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

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

EDIT:

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

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

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

3 голосов
/ 01 марта 2010

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

...