Как бы вы улучшили наше сообщение об ошибке Unhandled Exception Handler? - PullRequest
5 голосов
/ 06 июня 2009

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

Цель состоит в том, чтобы побудить пользователя ввести информативную ошибку, а не просто двигаться дальше. Когда они нажимают первую кнопку, мы делаем работу, чтобы разместить их на нашем сайте проекта с новым делом. Они просто должны заполнить поле для комментариев. Я спорю о том, "Что мы делаем?" раздел должен существовать.

Каково ваше мнение?

http://thegollys.smugmug.com/photos/555553239_LxEPK-S.jpg


Взять два

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

Прочитав ответ Эндрю, он подтолкнул меня к тому, о чем я уже думал ... проще всегда лучше. Я все вместе удалил раздел «Что мы делаем» и добавил пару слов. http://www.thegollys.com/photos/555771972_VUTxK-S.jpg


Взять три

Спасибо за все отзывы. Это то, что мы реализуем. http://thegollys.smugmug.com/photos/558265081_5sPG2-O.jpg

Ответы [ 4 ]

2 голосов
/ 06 июня 2009

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

(Кстати, после этого приложение завершается или вы восстанавливаете и позволяете им продолжить то, что они делали?)

Таким образом, вы предоставляете пользователю две опции: «расскажите нам, что вы делали» и «продолжайте в том же духе» (но с гораздо большим количеством слов, чем на кнопке, даже в Take Two). Вы действительно хотите, чтобы они выбрали «рассказать нам, что вы делали», но, насколько я понимаю, вы реализуете это, открывая веб-браузер. Огромное прерывание. Как только пользователь закончил, он полностью забыл, где он остановился. Они также будут ненавидеть вас и не дадут вам полезных комментариев. (Черт, к тому времени, когда браузер заканчивает загрузку, они, вероятно, отвлеклись на другое приложение (или перезапустили ваше приложение) и покинули веб-страницу «на потом», и к тому времени они забыли какой-либо полезный контекст .)

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

Я думаю примерно так:


(источник: excastle.com )

  • Извините, извините, сервер «Ублюдок из ада» в стиле *1029*. У них есть больше.
  • Начните с курсора в текстовом поле «Скажите нам, что вы только что делали», так что просто для них, чтобы дать вам обратную связь: просто введите что-то и нажмите Enter (или нажмите кнопка только с тремя словами).
  • Сделать гиперссылку "Готово уже", так что она есть, но не подчеркнута. Выровняйте его по левому краю, чтобы люди не сразу связали его с кнопкой «Отмена».
  • Если кто-то заполняет поле и отправляет отчет об ошибке, ваше «эй, спасибо!» диалоговое окно может упомянуть «кстати, если вы получите это снова, вы можете нажать гиперссылку« Я уже сообщал об этом »» и показать скриншот с красным кружком и стрелкой, чтобы они могли заметить.
  • Любой другой текст, который вы хотите, может находиться на боковой панели с другим цветом фона. Слепота, связанная с рекламой баннера, не даст людям даже увидеть ее, если только у них нет любопытного (и терпеливого) настроения.
1 голос
/ 06 июня 2009

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

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

РЕДАКТИРОВАТЬ : Теперь, когда я увидел изображение, мои комментарии все еще стоят. Упростите и уберите любой страшный язык. Я бы удалил ссылки на "Dev team"; вместо этого используйте «нас». Удалить ссылки на "нормальный английский". Вы хотите задать простые вопросы: «Чем вы занимались?».

0 голосов
/ 06 июня 2009

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

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

0 голосов
/ 06 июня 2009

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

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

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

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

...