5 Stimmen

Wie würden Sie die Fehlermeldung des Unhandled Exception Handlers verbessern?

Wir sind drei interne Entwickler mit einer Benutzerzahl von etwa zwanzig. Wir haben die Behandlung unbehandelter Ausnahmen in unserer Winforms-App implementiert. Sie erzeugt ein Ticket mit dem Stack-Trace in unserem FogBugz (intern umbenannt in DevTracker) Bug-Tracking-System.

Ziel ist es, den Benutzer zu ermutigen, einen informativen Fehler einzugeben, anstatt einfach weiterzugehen. Wenn sie auf die erste Schaltfläche klicken, machen wir uns die Arbeit, sie auf unsere Projektseite zu bringen und einen neuen Fall zu beginnen. Sie müssen nur noch das Kommentarfeld ausfüllen. Ich diskutiere darüber, ob der Abschnitt "Was tun wir?" existieren sollte.

Was ist Ihre Meinung?

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


Nimm zwei

Ein wenig mehr Hintergrund... Die Benutzer sind mit der Verwendung von FogBugz (Dev Tracker) gut vertraut, da sie auf diese Weise derzeit Funktions- und Fehlerbehebungen anfordern. Zusätzlich zur Behandlung unbehandelter Fehler haben wir für die nächste Version log4net in den Mix aufgenommen. Es schiebt den Stack-Trace in ein Protokoll auf dem lokalen Rechner des Benutzers (im Falle eines Netzwerkausfalls), eine interne Datenbank und einen FogBugz-Fall.

Nachdem ich Andrews Antwort gelesen habe, hat sie mich zu dem gebracht, was ich ohnehin schon dachte: Einfacher ist immer besser. Ich habe den Abschnitt "Was wir tun" komplett gestrichen und die Formulierungen gekürzt. http://www.thegollys.com/photos/555771972_VUTxK-S.jpg


Take drei

Vielen Dank für die vielen Rückmeldungen. Das ist es, was wir implementieren werden. http://thegollys.smugmug.com/photos/558265081_5sPG2-O.jpg

2voto

Joe White Punkte 90737

Benutzer hassen wenn sie versuchen, etwas zu erledigen, und du sie dabei unterbrichst. (Ich weiß, ich gehöre dazu.) Und hier geben Sie ihnen nicht einmal die Chance, das Thema zu wählen. Standardantwort . Ich kann das durchaus verstehen, aber seien Sie vorsichtig. Unterbrechen Sie ihren Gedankengang so wenig wie möglich.

(Übrigens, wird die Anwendung danach beendet, oder können Sie sie wiederherstellen und sie mit dem fortfahren lassen, was sie getan haben?)

Sie geben dem Benutzer also zwei Möglichkeiten: "Sagen Sie uns, was Sie getan haben" und "Machen Sie weiter" (aber mit viel mehr Wörtern auf der Schaltfläche, sogar in Take Two). Eigentlich wollen Sie, dass der Benutzer "Sag uns, was du gemacht hast" wählt, aber so wie ich es verstehe, wird dies durch das Öffnen eines Webbrowsers umgesetzt. Riesig Unterbrechung. Wenn der Benutzer fertig ist, hat er völlig vergessen, wo er aufgehört hat. Außerdem werden sie Sie hassen und Ihnen keine nützlichen Kommentare geben. (Zu dem Zeitpunkt, an dem der Browser fertig geladen ist, werden sie wahrscheinlich durch eine andere Anwendung (oder durch einen Neustart Ihrer Anwendung) abgelenkt und verlassen die Webseite "für später", wodurch sie jeden nützlichen Kontext vergessen haben).

Warum nicht stattdessen ein Textfeld direkt in den Dialog einfügen? Das könnte anfangs ein wenig mehr Arbeit für Sie bedeuten, aber ich denke, Sie würden ein besseres Feedback erhalten.

Ich denke etwa so:


(Quelle: <a href="http://www.excastle.com/misc/so958196.png" rel="nofollow noreferrer">excastle.com </a>)

  • Entschuldigung mit freundlicher Genehmigung der Ausrede-Server im Stil von "The Bastard Operator From Hell". . Sie haben mehr.
  • Beginnen Sie mit dem Cursor im Textfeld "Erzählen Sie uns, was Sie gerade getan haben", so dass es einfach Sie brauchen nur etwas einzutippen und die Eingabetaste zu drücken (oder auf die Schaltfläche mit nur drei Wörtern zu klicken), um Ihnen ein Feedback zu geben.
  • Machen Sie "Absturz bereits beenden" zu einem Hyperlink, so dass es zwar da ist, aber nicht so stark hervorgehoben wird. Richten Sie es linksbündig aus, damit die Leute es nicht sofort mit der Schaltfläche "Abbrechen" assoziieren, die es eigentlich ist.
  • Wenn jemand das Kästchen ausfüllt und einen Fehlerbericht einreicht, könnte Ihr "Hey, danke!"-Dialog erwähnen: "Übrigens, wenn das Problem wieder auftritt, können Sie auf den Hyperlink 'Ich habe das schon einmal gemeldet' klicken", und einen Screenshot mit einem roten Kreis und einem Pfeil zeigen, damit sie es vielleicht bemerken.
  • Jeder andere Text, den Sie wünschen, kann in einer Seitenleiste mit einer anderen Hintergrundfarbe erscheinen. Die Blindheit der Banner wird die Leute davon abhalten, sie überhaupt zu sehen, es sei denn, sie sind in einer neugierigen (und geduldigen) Stimmung.

1voto

Andrew Punkte 11722

Ich habe den Ansatz gewählt, es dem Nutzer so einfach wie möglich zu machen. Er macht sich bereits Sorgen darüber, dass Sie ihm eine beängstigend aussehende Fehlermeldung präsentieren, also wollen Sie ihn nicht noch zusätzlich belasten, indem Sie ihn befragen. Bitten Sie um einen kurzen Kommentar und nehmen Sie so viel wie möglich automatisch auf.

Es ist erwähnenswert, dass Sie mit FogBugz eine Nachricht zu einem Fall speichern können, sobald Sie ihn diagnostiziert haben. Wenn derselbe Fehler erneut auftritt, können Sie diese Nachricht vom Server abrufen, um sie den Benutzern zu präsentieren. Ich habe mich in den letzten Jahren von FogBugz entfernt, so dass meine Erinnerung daran, wie das genau funktioniert, etwas verschwommen ist, aber ich erinnere mich daran, dass ich in der Lage war, eine Meldung über eine Korrekturmaßnahme zu speichern und diese den Benutzern zu präsentieren, wenn es sinnvoll war.

EDITAR : Jetzt, wo ich das Bild gesehen habe, bleiben meine Kommentare bestehen. Vereinfachen Sie den Text und streichen Sie alle gruseligen Ausdrücke. Ich würde Verweise auf "Entwicklungsteam" streichen und stattdessen "wir" verwenden. Entfernen Sie Verweise auf "normales Englisch". Sie wollen einfache Fragen stellen: "Was haben Sie gemacht?".

0voto

Steve Wortham Punkte 21010

Ich weiß nicht, ob Sie dies bereits hinter den Kulissen tun, aber mir gefällt der Ansatz, dass der Benutzer einfach seine E-Mail-Adresse eingeben und auf "Fehlerbericht senden" klicken kann.

Wenn ich dann die Fehlerdetails erhalte, untersuche ich das Problem, behebe es und antworte ihnen sofort, um ihnen mitzuteilen, dass das Problem gelöst ist.

Dies bewirkt mehrere Dinge. Es macht es dem Benutzer extrem einfach, den Fehler zu melden, und gibt ihm die Möglichkeit, sich benachrichtigen zu lassen, wenn der Fehler behoben ist. Und es macht mir Feuer unterm Hintern, die Probleme so schnell wie möglich zu beheben, damit ich nicht von Dutzenden von Benutzern denselben Fehlerbericht erhalte.

Wenn ich diese Methode angewandt habe, dann natürlich nur für Websites, nicht für Desktop-Anwendungen. Und es sind Websites, an denen ich sehr schnell Änderungen vornehmen kann.

0voto

JP Alioto Punkte 44283

Wir haben etwas Ähnliches (nicht ganz so seltsam - Hut ab vor Ihnen), aber wir haben auch die Möglichkeit, die Ausnahme (standardmäßig vor dem Benutzer verborgen) für Entwickler anzuzeigen, die bei einem Benutzer auf Fehlersuche sind oder für Benutzer, die den Helpdesk anrufen.

Sie könnten ihnen auch sagen, dass Sie den Mann rechts im Bild zu ihrem Schreibtisch schicken werden, um ihnen zu helfen, wenn sie den Bericht nicht einreichen. Das sollte sie abschrecken, es zu tun :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X