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

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

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

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

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


person Community    schedule 01.03.2010    source источник
comment
вики сообщества ....   -  person jldupont    schedule 01.03.2010
comment
На какую аудиторию вы нацеливаете свое программное обеспечение? Например. мало компаний или интернет-пользователей? Есть ли отношения, которые вы можете установить с пользователями?   -  person Janusz Skonieczny    schedule 01.03.2010
comment
@WooYek: Это будет (в моем случае) довольно большая база пользователей, но с ограниченным временем использования (т.е. это не программное обеспечение, которое вы используете так часто, это скорее случайное использование с большой возможной базой пользователей).   -  person F'x    schedule 01.03.2010
comment
@MikeJ Может быть, это один и тот же человек размещает вопрос на нескольких сайтах?   -  person 7wp    schedule 01.03.2010
comment
@FX Я не должен быть ворчанием в понедельник. Возможно, небольшая заметка в вопросе - я видел это на slashdot, но подумал, какой stackoverflow будет предлагать как полезный.   -  person MikeJ    schedule 01.03.2010
comment
Я был в компьютерном классе в колледже. Кто-то сел рядом со мной и попытался войти в систему. Вышло сообщение об ошибке: Неверный пароль. Убедитесь, что у вас не включен Caps Lock. Она отклонила его, не читая, и попыталась снова. Несколько раз. Когда она попросила меня о помощи, я просто сказал ей прочитать сообщение.   -  person TRiG    schedule 01.03.2010
comment
Это сообщения об ошибках, как будто кто-то не заполнил все поля формы, или сообщения об ошибках, как будто что-то взорвалось?   -  person Tom    schedule 03.03.2010
comment
Почему вы говорите для нетехнической аудитории? Вы уже обнаружили уловку, заставляющую технических пользователей читать сообщения об ошибках? Если да, поделитесь, пожалуйста, так как это может быть полезно при поиске решения для нетехнических пользователей!   -  person Ken    schedule 13.03.2010
comment
Для технической аудитории выбор другой, потому что они несут ответственность за свой выбор. Или должно быть!   -  person F'x    schedule 13.03.2010


Ответы (26)


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

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

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

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

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

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

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

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

person t0mm13b    schedule 01.03.2010
comment
Интересно насчет строки состояния. Я бы сказал, что люди действительно замечают эти яркие цветные полосы в верхней части веб-страницы, указывающие, например, на то, что вы только что получили значок "Хороший ответ". Это не эквивалент строки состояния, но он говорит мне, что положение и цвет фона сообщения об ошибке являются важными факторами. Да, и небольшое правописание: это Fiat Punto. Пинто был продуктом Ford, печально известным своим расположенным сзади бензобаком, который иногда взрывается. Я бы избегал обоих имен :) - person devuxer; 02.03.2010
comment
@DanM: Гоша! ты прав! Это был форд ... о чем я думал, когда писал ответ ... да, это был Ford Pinto defo !!! Спасибо за внимание !!! - person t0mm13b; 02.03.2010
comment
@tommie, не забывай про Нову (как в Шеви Нова). На испанском это переводится как «Не пойдет или не пойдет» :-P - person devuxer; 02.03.2010
comment
@DanM: исправил - эй, это интересный .... ой! Похоже на деревянную машину с деревянными колесами, которая едет по дереву .... :) - person t0mm13b; 02.03.2010
comment
Спасибо за очень хороший ответ! - person F'x; 04.03.2010
comment
@DanM, я только что прочитал ваш первый комментарий, затем посмотрел и заметил, что строка состояния говорит мне, что у меня есть новые ответы и комментарии. : / - person NibblyPig; 05.03.2010
comment
это все равно, что размахивать красным флагом перед быком! ... Я немного сбит с толку ... это напоминание о том, что значительный процент пользователей страдает дальтонизмом? - person Ken; 13.03.2010
comment
@Ken красный флаг злит быка, заставляя его броситься на флаг. Это сравнение ярких цветов, вызывающих у пользователя раздражение, а не дальтонизм (хотя в некотором смысле они ослеплены цветом :)). - person Ricket; 13.03.2010

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

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

person MikeJ    schedule 01.03.2010
comment
Большой +1 за это. Обратите внимание, что часть разработчика может содержать полную трассировку стека и другие детали. При желании вы даже можете делать снимки экрана приложений (особенно для собственных приложений WinForms). - person TrueWill; 01.03.2010
comment
Я неохотно считаю, что снимки экрана приложения для захвата являются хорошим советом: в конце концов, это звучит как серьезная утечка личных данных (даже если ваше приложение никогда не было разработано для обработки информации NS ‹nogrep› A-класса в первую очередь). .. - person F'x; 07.03.2010
comment
Я думаю, что это скорее бизнес / политическое решение, которое должно быть принято пользователями домена, чем технические аспекты предоставления более качественной поддержки за счет поддержки диагностики сбоев черного ящика. Я ожидал бы, что внутренние LOB-приложения имеют другие задачи / цели, чем отношения внешней клиентской поддержки с конфиденциальной информацией. - person MikeJ; 08.03.2010

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

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

person Matt Garrison    schedule 01.03.2010
comment
Эта привычка щелкать диалоговые окна была настоящей проблемой для старого диалогового окна установки IE ActiveX. - person Alex Jasmin; 01.03.2010

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

person Bob Moore    schedule 01.03.2010
comment
Моя проблема с этой идеей в том, что она нарушает единообразие пользовательского интерфейса, которого ожидают люди. Кроме того, откуда им знать, что пустой стол - более опасная проблема, чем парень, пьющий кофе? - person F'x; 02.03.2010
comment
Мы создаем специализированные системы (центры аварийного управления), поэтому мы заботимся только о единообразии пользовательского интерфейса внутри этой системы. В любом случае здесь не подразумевается никакой иерархии угроз. Цель - просто запомнить. Эти две графики на самом деле представляют схожие ситуации бездействия (оператор отошел от стола, оператор, вероятно, пребывает в перерыве), поэтому они будут значимыми ... но это не их настоящая цель. Мы просто хотим, чтобы они запомнились. Пожалуй, не стоит упоминать о танцующей мышке :-). - person Bob Moore; 03.03.2010

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

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

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

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

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

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

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

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

person Jack Marchetti    schedule 01.03.2010
comment
Напоминает совет в слове MS: бег с ножницами может быть опасным - person MikeJ; 01.03.2010
comment
Есть небольшая опасность, несмотря на то, что это весело, ваша избранная группа пользователей может обидеться, сохранить нейтральный язык - что, если бы это было переведено на другой язык? Это может нанести удар нескольким иностранным гражданам ... тон вашего творчества может иметь впечатляющие обратные последствия ... - person t0mm13b; 01.03.2010
comment
Следовательно, первая строка гласит: В зависимости от вашей пользовательской базы - person Jack Marchetti; 01.03.2010
comment
научитесь вводить дату !! - Конечно, но дай мне ключ к разгадке. Мне не нужно было угадывать правильный формат. - person Alex Jasmin; 01.03.2010
comment
... и не только это, в первую очередь не заставляйте меня вводить дату. Сделайте предположение (). Если предположение неверно, худшее, что может случиться, - это научить пользователя последствиям отказа от ввода даты. И если вы немного умны, добрая половина ваших пользователей согласится с вашим предположением, и вы сэкономите им время, а не будете тратить время. () совет не действует при планировании запуска ракеты. Или свадьбу. - person Bryan Oakley; 02.03.2010
comment
+1 за сообщение в стиле барокко, меня всегда развлекало такое творчество :) - person medopal; 02.03.2010
comment
Не уверен, что мне очень нравятся такие сообщения ... В конце концов, зачем мне учиться вводить дату? - person F'x; 02.03.2010
comment
Вместо того, чтобы требовать от пользователей определения формата даты, потратьте пару дополнительных минут и научите свое программное обеспечение, как анализировать даты в нескольких форматах. Компьютер умен - пусть помогает пользователю, а не хлопает его по запястьям. - person Bryan Oakley; 18.07.2010
comment
Фу, никогда даже не думайте о том, чтобы шутить с незнакомыми пользователями. Даже вместе с другом измените сообщение на скучное после 2 или 3 случайных появлений смешного. И больше никогда не получи одно забавное шоу. Юмор - это НЕ юмор со 2-го по 10-тысячный раз. Это глупо. Сообщения об ошибках ввода данных утилитарны, поэтому ДОЛЖНЫ быть скучными. «Введите значение» во всплывающей подсказке, указывающей на поле. НЕ избегайте скучных сообщений. - person FastAl; 24.09.2010
comment
@FastAl - Юмор определенно может помочь, в зависимости от сайта. Например, помните Winamp? [Это действительно шлепает ламу по заднице!] Весело. Или на их сайте говорилось, как это вроде как работает, мы думаем, что это отличный материал. А юмористические сообщения читаются с большей вероятностью. - person Jack Marchetti; 25.09.2010

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

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

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

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

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

person medopal    schedule 01.03.2010
comment
1 и 3 хороши. 2 сомнительно по причинам доступности. Системные стандартные элементы управления могут обрабатываться особым образом. Ваши варианты не могут. - person Phil Miller; 02.03.2010
comment
@Novelocrat, велики шансы, что если остальная часть вашего приложения будет доступна, ваш настраиваемый диалог ошибки тоже будет. И если в остальной части вашего приложения уже есть проблемы с доступностью, еще один диалог с проблемами не будет иметь значения. - person Mike Daniels; 02.03.2010
comment
@Novelocrat, я в основном говорю о веб-приложениях, вместо окна предупреждения JavaScript по умолчанию вы можете создать новый стильный блок и дать ему те же свойства. Но та же идея могла бы быть применена к настольным приложениям, если цель - заставить прочитать сообщение. - person medopal; 02.03.2010
comment
То же самое с Новелократом, мне не очень нравится, что в ответе никогда не используется системный пользовательский интерфейс. Люди хотят чувствовать себя на известной территории. - person F'x; 03.03.2010
comment
Кроме того, доступность всегда лучше для пользовательского интерфейса системы. - person F'x; 04.03.2010

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

person Bryan Oakley    schedule 01.03.2010

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

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

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

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

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

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

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

person Community    schedule 01.03.2010
comment
Затем администратор / служба поддержки / и т. Д. Слышит о сообщении и спрашивает: «Что, черт возьми, мне с этим делать?». Ваше второе сообщение носит общий характер до бесполезности. Что касается первого, я никогда не использовал программное обеспечение Oracle (предположение на основе префикса), я все еще могу предположить, что я должен с этим делать. - person Phil Miller; 02.03.2010
comment
Что ж, служба поддержки может сообщить разработчику, как исправить проблему. Поможет ли написать техническое сообщение об ошибке клиенту или службе поддержки? Все, что пользователь хочет знать на данный момент, это: что произошло и где я могу получить помощь, если это не ошибка, которую он сделал (неправильный ввод или что-то в этом роде). И не поймите меня неправильно, это, конечно же, сообщение на уровне представления. В журналах сервера есть конкретное сообщение об ошибке, которое поможет вам ее исправить. - person bl4ckb0l7; 02.03.2010
comment
@Novelocrat, именно так. Персонал службы технической поддержки часто кричит: «Но я системный администратор и понятия не имею, в чем проблема! Тебе лучше добавить к своим ошибкам опцию «Покажи мне техно-болтовню». - person Mike Daniels; 02.03.2010
comment
служба поддержки не может оказать особой помощи, если это коммерческое готовое приложение, а ошибка не содержит полезной информации. - person Mike Daniels; 02.03.2010

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

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

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

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

РЕДАКТИРОВАТЬ:

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

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

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

person Janusz Skonieczny    schedule 01.03.2010

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

person wersimmon    schedule 01.03.2010

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

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

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

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.

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

person Community    schedule 05.03.2010
comment
Отличный момент! Пользователи читают первое предложение или первую половину предложения, и если оно слишком сложно по структуре, или слишком технически для них, чтобы понять, или кажется неуместным для того, что они намеревались сделать, они обязательно пропустят остальное. Я бы даже добавил предложение перед пояснительной частью, в котором говорилось бы что-то вроде: «Это то, что могло произойти» - даже лучше, предлагайте решения с точки зрения того, что может сделать пользователь: «Проверьте, был ли файл перемещен, или сетевой диск, на котором он находится, необходимо повторно подключить » - person not2savvy; 07.04.2021

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

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

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

person anthares    schedule 01.03.2010

Хочу добавить одну вещь.

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

person Mark    schedule 01.03.2010
comment
Некоторые платформы не позволяют этого делать. Для этих ограничений тоже есть почти веские причины. - person Phil Miller; 02.03.2010
comment
Я решительно поддерживаю комментарий Новелократа. Стандартизированный пользовательский интерфейс хорош для пользователей (а значит, и для вас). Я думаю, что использование стандартных меток кнопок позволяет добиться того, что вы не хотите упускать, даже для привлечения внимания (за исключением, может быть, исключительных случаев). - person F'x; 02.03.2010
comment
Вам не нужно использовать JS alerts () для отображения сообщений об ошибках. Вы можете создать собственное диалоговое окно. Также цель использования глаголов, а не просто восклицаний, заключается в том, что если вы видите кнопку «ОК», вам придется прочитать содержимое диалогового окна. Проблема в том, что у некоторых пользователей нет времени на это, поэтому они просто нажимают ОК. Если вы используете глаголы для описания действия, то пользователь будет знать, что происходит, даже не читая диалоговое окно. - person Mark; 02.03.2010
comment
Закрыть - это глагол. Вы использовали это в своем собственном предложении; чтобы закрыть ваши сообщения об ошибках - person Ricket; 13.03.2010
comment
Но @Mark, этот вопрос заключается в том, чтобы позволить им прочитать это: p - person Bart van Heukelom; 13.03.2010

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

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

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

«Мне жаль, что мы облажались, мы хотели бы отправить некоторую информацию об этом сбое, вы позволите нам сделать это? ДА / НЕТ»

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

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

РЕДАКТИРОВАТЬ:

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

person 7wp    schedule 01.03.2010
comment
Вы можете найти подходящую карикатуру Дилберта здесь: bfmartin.ca/finder - person SLaks; 01.03.2010
comment
Десять секунд? Посмотрите на часы и отсчитайте десять секунд. Когда ты пытаешься выполнить какую-то чертову работу, это вечность. - person Mike Daniels; 02.03.2010
comment
Майк, это должно было быть примером, а не высеченным на камне. Выберите любой тайм-аут, который хотите. Кроме того, вы когда-нибудь устанавливали Firefox adon? Этот обратный отсчет действительно вас так сильно раздражает? Я не слышал, чтобы слишком много людей жаловались на это. - person 7wp; 02.03.2010
comment
@Roberto - кстати о обратном отсчете плагина Firefox ... это ДЕЙСТВИТЕЛЬНО меня раздражает. Я просто хочу нажать установить. Зачем мне нужен обратный отсчет, когда я щелкнул по установке плагина, а теперь мне нужно подождать 10 секунд, чтобы подтвердить установку. - person Mark; 03.03.2010
comment
@Mark именно по той причине, по которой был задан этот вопрос о переполнении стека. Слишком много людей довольны кликами и не утруждают себя чтением сообщений и их последствий, а в конечном итоге делают то, чего не хотели. Марк, ты знаешь и понимаешь, на что нажимаешь. Однако, имея опыт работы в технической поддержке HP в прошлом, есть люди, которые нажимают на вещи только потому, что могут. Задержка вынуждает пользователя остановиться и взглянуть на сообщение, вместо того, чтобы сказать «да, да, что бы то ни было, я просто нажму ОК, иди уже». - person 7wp; 03.03.2010
comment
@Mark & ​​@EveryoneElse Кроме того, я не говорил, что следует использовать 10-секундный тайм-аут для каждого отдельного сообщения. Я имею в виду использовать его для важных и неизбежных сообщений. Сообщения, которые программист хочет, чтобы пользователь прочитал, потому что это влияет на некоторые важные аспекты функциональности приложения. - person 7wp; 04.03.2010
comment
& Роберто: обратный отсчет плагина Firefox очень раздражает; каждый раз, когда я это вижу, мне кажется, что это оскорбление для меня (и это действительно так!). Может быть, статистически это имеет смысл, но если бы это было в месте, которое я видел чаще, я бы просто прекратил использовать их программное обеспечение! - person F'x; 08.03.2010
comment
@Everyone, Значит, мы должны занять другую позицию? Если пользователь доволен щелчком, то это его собственная вина? Я полагаю, что лучшей альтернативой было бы избавиться от окон подтверждения, вместо этого предоставить способ отменить последнее действие. Но что, если конкретное действие является постоянным и не может быть отменено природой? например, Вы хотите отформатировать жесткий диск? Если они случайно щелкнули «Да» только потому, что были счастливы в тот день, то это вина самого пользователя? - person 7wp; 08.03.2010
comment
@Mark @FX @Roberto Я всегда думал, что обратный отсчет Firefox был таким, чтобы вы не нажали Enter и случайно не активировали кнопку ... Это обычная проблема, например, с кнопкой Windows Update Restart Now после установки обновлений. Кто-то набирает текстовый документ, нажимает Enter или пробел в тот момент, когда система запрашивает перезагрузку, и все уносится из-под них, прежде чем они смогут сохранить или отменить. - person Ricket; 13.03.2010

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

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

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

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

person Select0r    schedule 01.03.2010
comment
Этот JavaScript-обратный отсчет - самая неприятная вещь, которую вы можете сделать. Пользователь будет ненавидеть ждать, пока часы обратный отсчет, и уделять больше внимания тексту ошибки, чем своему гневу. - person bl4ckb0l7; 01.03.2010

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

Красный означает «предупреждение» и т. Д., Поэтому его читают чаще.

person Tyzak    schedule 01.03.2010
comment
а как насчет людей с дальтонизмом? - person Natrium; 01.03.2010
comment
Как дальтоник, я даже не знаю, как выглядит красный цвет. - person MikeJ; 01.03.2010
comment
Красный цвет не всегда интерпретируется как предупреждение. В некоторых культурах, например, это толкуется как счастье. Выбирая цвета, знайте, кто ваши потенциальные пользователи. - person Bryan Oakley; 02.03.2010
comment
@MikeJ: очевидно, вместо этого Тайзак должен заставить его мигать. Это было бы намного полезнее. Есть разница в значении (яркости) между полями, которые другие люди называют «красными», и полями, которые, по их словам, чистыми, не так ли? - person Phil Miller; 02.03.2010
comment
хм, я не думал о дальтониках, это хороший момент. да, цвет интерпретируется повсеместно (Китай, Индия). Это зависит от аудитории, верно. - person Tyzak; 02.03.2010
comment
Для США существует раздел 508 ADA, который регулирует требование доступности. Я почти уверен, что в Великобритании есть аналогичный закон. вы можете узнать об этом подробнее здесь: thirdwave-websites.com/508-accessible.cfm и WCAG от W3C для реализации. - person MikeJ; 02.03.2010
comment
@PhilMiller, заставь его мигать? Я очень надеюсь, что это ироничный комментарий! :-) - person not2savvy; 07.04.2021

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

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

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

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

  1. В чем проблема и почему это произошло.
  2. Как решить проблему.

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

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

person Community    schedule 05.03.2010

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

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

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

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

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

person Community    schedule 05.03.2010

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

person Community    schedule 04.03.2010

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

person Jim    schedule 01.03.2010
comment
Несмотря на то, что ответы, на которые вы ссылаетесь, могут быть превосходными, просто разместить ссылку и позволить читателю понять, что вы имеете в виду, - плохой ответ. - person not2savvy; 07.04.2021

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

person Community    schedule 13.03.2010

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

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

person naivists    schedule 01.03.2010
comment
Ваши два абзаца кажутся противоречивыми: дать немедленную обратную связь, но собрать ее в конце страницы? - person F'x; 02.03.2010
comment
@FX, Идея заключалась в том, что вы делаете обе вещи - немедленно предупреждаете пользователя, но, поскольку он / она все еще может игнорировать это, собирайте все ошибки в конце страницы. - person naivists; 02.03.2010

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

Есть много веб-сайтов, на которых можно поговорить с реальным человеком.

person JonnyBoats    schedule 02.03.2010
comment
Дело в том, чтобы пользователи сами исправляли ошибки, по крайней мере, там, где это возможно. Такая кнопка была бы заявлением о полном провале намерений. - person Seether; 07.03.2017

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

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

person Community    schedule 06.03.2010

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

person Community    schedule 14.03.2010

Несмотря на все рекомендации в принятом ответе, мои пользователи продолжали нажимать первую кнопку, которую смогли найти. Итак, теперь я показываю это:

Прочтите это!

Пользователь должен сделать выбор до появления кнопки ОК.

Выберите правильный вариант

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

person Community    schedule 17.10.2014