Как заставить пользователей читать сообщения об ошибках?

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

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

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

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

175
задан 10 revs, 3 users 74% 3 July 2014 в 19:57
поделиться

25 ответов

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

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

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

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

Edit#2: Виноват! Упс, спасибо DanM который упомянул об автомобиле, я перепутал название, это был Ford Pinto... моя вина...

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

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

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

69
ответ дан 23 November 2019 в 20:27
поделиться

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

Красный цвет означает "предупреждение" и т.д., поэтому его чаще читают.

2
ответ дан 23 November 2019 в 20:27
поделиться

См. Также ответы пользователей Slashdot здесь .

2
ответ дан 23 November 2019 в 20:27
поделиться

Если вы не можете предоставить пользователю какое-то простое обходное решение, не стоит вообще показывать пользователю сообщение об ошибке. В этом просто нет смысла, так как 90% пользователей будет все равно, что там написано.

С другой стороны, если вы МОЖЕТЕ действительно показать пользователю полезный обходной путь, то один из способов заставить его прочитать сообщение - сделать так, чтобы кнопка OK становилась активной через 10 секунд или около того. Вроде того, как это делает Firefox, когда вы пытаетесь установить новый плагин.

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

"Извините, мы облажались, мы хотели бы отправить некоторую информацию об этом крахе, позволите ли вы нам это сделать? YES / NO"

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

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

EDIT:

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

2
ответ дан 23 November 2019 в 20:27
поделиться

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

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

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

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

EDIT:

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

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

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

5
ответ дан 23 November 2019 в 20:27
поделиться

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

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

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

Например, я передаю сообщение следующего содержания:

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

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

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

6
ответ дан 23 November 2019 в 20:27
поделиться

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

8
ответ дан 23 November 2019 в 20:27
поделиться

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

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

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

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

ОБНОВЛЕНИЕ
Сделайте сообщение значимым и полезным . Например, не пишите что-то вроде «Клавиатура не найдена, нажмите F1, чтобы продолжить».

10
ответ дан 23 November 2019 в 20:27
поделиться

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

10
ответ дан 23 November 2019 в 20:27
поделиться

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

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

16
ответ дан 23 November 2019 в 20:27
поделиться

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

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

0
ответ дан 23 November 2019 в 20:27
поделиться

Я бы посоветовал вам оставить отзыв (заявив, что пользователь допустил ошибку) сразу после ее совершения. (Например, при вводе значения в поле даты проверьте значение и, если оно неверно, измените поле ввода визуально).

Если на странице есть ошибки (я больше увлекаюсь веб-разработкой, поэтому я называю ее «страницей», но ее также можно назвать «формой»), покажите «сводку ошибок», объясняя, что были ошибки, и маркированный список того, какие именно ошибки произошли. Однако, если в сообщении более 5-6 слов, они не будут прочитаны / поняты.

0
ответ дан 23 November 2019 в 20:27
поделиться

По моему опыту: вы не заставляете пользователей (особенно нетехнических) читать сообщения об ошибках. Независимо от того, насколько четким и понятным, жирным, красным и мигающим является сообщение, которое вы показываете, большинство пользователей просто щелкают то, к чему они не привыкли, даже если это «Вы действительно хотите удалить все?». Я видел, как пользователи щелкали значок «закрыть окно» вместо «ОК» или «отменить», даже если они даже не знали, какой вариант они выбрали, сделав это ...

Если вам действительно нужно заставить пользователей прочтите, что вы показываете, я бы предложил JavaScript-обратный отсчет, пока кнопка не станет активной. Таким образом, пользователь будет использовать время ожидания, чтобы по-настоящему прочитать то, что ему нужно.Однако будьте осторожны: большинство пользователей будут раздражены этим еще больше :)

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

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

2
ответ дан 23 November 2019 в 20:27
поделиться

Для начала напишите сообщения об ошибках, понятные пользователям.«Ошибка: 1023» - не лучший пример. Я думаю, что лучше записать ошибку в журнал, чем показывать ее пользователю с помощью какого-то «причудливого» кода. Или, если ведение журнала невозможно, дайте пользователям надлежащий способ отправить сведения об ошибке в службу поддержки.

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

Если ваше приложение является веб-приложением, создание собственных страниц ошибок - хорошая идея. Они меньше нагружают пользователей, например, SO. Вы можете получить несколько идей о том, как создать хорошую страницу ошибок здесь: http://www.smashingmagazine.com/2007/07/25/wanted-your-404-error-pages/

2
ответ дан 23 November 2019 в 20:27
поделиться

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

3
ответ дан 23 November 2019 в 20:27
поделиться

Одно, что я хотел бы добавить.

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

2
ответ дан 23 November 2019 в 20:27
поделиться

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

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

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

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

EDIT: Конечно, более полезное сообщение - это: "Пожалуйста, введите дату как mm/dd/yyyy" или, возможно, в коде попытаться выяснить, что они ввели, и если они ввели "blahblah", показать ошибку. Однако это было очень маленькое приложение для HR-специалиста, которого я знал лично. Поэтому, люди, прочитайте первую строчку этого сообщения: В зависимости от вашей пользовательской базы...

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

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

По возможности ориентируйтесь на свою аудиторию и избегайте скучных, как все неземное, общих ошибок, таких как: "please enter email" или "please enter valid email".

10
ответ дан 23 November 2019 в 20:27
поделиться

Короткий ответ: Нельзя.

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

11
ответ дан 23 November 2019 в 20:27
поделиться

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

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

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

Хорошее сообщение об ошибке должно содержать:

  1. В чем заключается проблема и почему она возникла.
  2. Как решить проблему.

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

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

1
ответ дан 23 November 2019 в 20:27
поделиться

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

1
ответ дан 23 November 2019 в 20:27
поделиться

Меньше ошибок

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

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

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

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

1
ответ дан 23 November 2019 в 20:27
поделиться

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

Вы должны написать сначала самое важное, что нужно прочитать, а более подробную информацию предоставить во вторую очередь.

Другими словами, это не годится:

There was a problem loading the file, the file might have been deleted, or
it might be present on a network share that you don't have access to at
your present location.

Do you want to retry opening the file?

Вместо этого измените порядок:

Problem loading file, do you want to retry?

There was a problem loading the file, the file might have been deleted, or
it might be present on a network share that you don't have access to at
your present location.

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

2
ответ дан 23 November 2019 в 20:27
поделиться

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

{{ 1}}
1
ответ дан 23 November 2019 в 20:27
поделиться

Я читал кандидата на самое ужасное решение на slashdot:

Мы обнаружили, что единственный способ заставить пользователей брать на себя ответственность для ошибок - это наказание за принудительное устранение ошибки. Для начинающих, где это возможно, ошибка фактически не исчезнет для них, если мы не введем пароль администратора, чтобы она исчезла , и если они перезагрузятся в избавьтесь от этого (Диспетчер задач отключен на всех клиентских компьютерах) машина не откроет приложение, в котором произошел сбой в течение 15 минут. Конечно, все это зависит от типа пользователей, с которыми вы имеете дело , поскольку более технически опытные пользователи не примут такую ​​систему, но после пытаясь буквально ГОДЫ заставить пользователей брать на себя ответственность за сбои и следить за тем, чтобы ИТ-отдел знал о них, чтобы исправить проблему до того, как она станет слишком сложно управлять, это единственные шаги, которые сработали. Теперь все наши конечные пользователи знают, что если они проигнорируют ошибки, они сами пострадают от ошибок.

0
ответ дан 23 November 2019 в 20:27
поделиться

«ВНИМАНИЕ! ВНИМАНИЕ! Если вы не прочтете сообщение об ошибке, вы УМЕРЕТЕ!»

0
ответ дан 23 November 2019 в 20:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: