Schlechte Fehlermeldungen sind leider ein Ärgernis. Eines der wichtigsten Kriterien um Software »flüssig« bedienen zu können sind aussagekräftige Dialoge. Genau dort wo die Interaktion zwischen Mensch und Maschine von der Maschine gefordert wird, versagen die Programmierer. Ein Dialog der den Benutzer mehr als ein paar Sekunden aufhält oder gar es nötig macht den Inhalt ein zweites Mal zu lesen, ist schrecklich. Die Verwendung von Adverben wie »Ja« oder »Nein« als Optionen sind zudem schlecht. Viel mehr sollten Verben wie »Speichern«, »Nicht speichern« oder »Verwerfen« verwendet werden. Die Verwendung von Adverben macht es nötig die Fehlermeldung komplett zu lesen und hält den Benutzer dabei auf. Es wird für den Benutzer notwendig nach dem Satz mit dem Fragezeichen ausschau zu halten und diesen dann zu lesen. Wenn zudem die zur Verfügung stehenden Optionen andere Bedeutungen zugewiesen werden, wie in den Beispielen unten, ist es sogar nötig das der Benutzer sich abstrakte Dinge merken muß, bevor er seine Entscheidung treffen kann. Ich nenne solche Meldungen »Abstrakte Dialoge«.

Ein Beispiel für einen »Abstrakten Dialog«. Die Frage im Dialog ist »Möchten Sie die Änderungen, die von Ihnen oder einem anderen Benutzer vorgenommen wurden, ersetzen?«. Darunter werden die zur Verfügung stehende Optionen abstrahiert. Dies wäre nicht notwendig, wenn die Optionen »Ersetzen« und »Speichern unter« wären.

Der Benutzer kann innerhalb von Sekunden die Situation abschätzen und entscheiden. Die Optionen die ihm zur Verfügung stehen unterstützen ihn bei der Entscheidung, da sie die Konsequenzen in ein oder zwei Worte fassen. Mit den Buchstaben die unterstrichen sind oder der Taste »Enter«, kann der Benutzer die Optionen ebenfalls anwählen.

Ein weiteres Beispiel eines »Abstrakten Dialog«. Die Frage lautet hier »Möchten Sie die an der SQL-Anweisung vorgenommenen Änderungen speichern und die Eigenschat aktualisieren?«. Hier wird nur die Option »Nein«abstrahiert, während die Option »Ja« das macht was sie tun soll.

Meine Version nimmt einfach das Prädikat, »Aktualisieren«, aus der Frage und ersetzt das »Ja«. Für die Option »Nein« nehme ich statt dessen »Verwerfen«. »Schließen« würde sich hier nicht eignen, da es keine Aussage darüber macht das Daten verloren gehen.
Die API MsgDlg von Microsoft unterstützt leider nur vorgefertigte Optionen wie mbYes, mbNo, mbCancel und mbOK. Somit sind wohl »Abstrakte Dialoge« ein Workaround um diese beschränkte Möglichkeiten. Mein Vorschlag wäre es, seine eigenen Dialog in einer eigenen Klasse programmieren. Diesen aber an MsgDlg optisch anzulehnen.

8 Kommentare
Sehr wichtig ist eine einfache klare Sprache. Keine Schachtelsätze wie von Microsoft vorgemacht. Kein Sätze mit und, oder bzw.
Verwerfen ist ein seltsames Wort. Im Alltag habe ich das noch nie gehört. Wegwerfen schon eher. Im Englischen heißt es Destroy. Das passt besser ist aber etwas extrem.
Wenn man gefragt wird ob man Änderungen sichern will, sollten die Knöpfe immer mit Speichern und Nicht speichern (Sichern auf dem Mac) beschriftet sein. Konsistenz ist wichtig. Wenn gleiche Befehle, gleich heißen kann man sie schneller benutzen.
Wenn man in Apple Vorschau ein Bild dreht und dann schließt, bekommt man nicht die Standardbeschriftung, die man von allen anderen Programmen gewohnt ist, angezeigt (Nicht sichern, Abbrechen, Sichern), sondern Änderungen verwerfen, Abbrechen, Änderungen sichern. Dies irritiert, weil ungewohnt.
Bei dem Dialog “SQL-Anweisung speichern?” verstehe ich aus der Ferne nicht warum die Anwendung den Benutzer überhaupt belästigt. Hier sollten die Knöpfe auf jeden Fall mit Speichern, Nicht speichern, Abbrechen beschriftet werden.
Die Formulierungen von Microsoft erscheinen mir sehr umständlich. Müsste es nicht heißen: “An dem Dokument ‘Crossover actions’ wurden seit dem letzten SPEICHERN von einem andern Benutzer Änderungen vorgenommen”?
Dass mit dem technischen Fachbegriff “Instanz”, gemeint ist Microsoft Word ein zweites Mal zu öffnen, verstehen nur die Programmier unter den Word Benutzern. Auf dem Mac ist es gar nicht möglich Word zweimal zu starten, da es keinen Sinn macht.
Hier hat Microsoft außerdem den Befehl Abbrechen vergessen.
Ich würde die Knöpfe beschriften mit Speichern unter (dies ist der Standardbefehl), Trotzdem speichern (damit sich der Benutzer den Text durchliest; der Text muss umformuliert werden damit er verständlich ist), Abbrechen.
Ich träume von Computern die den Benutzer nicht mit Fragen nerven sondern einfach das richtige tun. Modale Dialoge müssen unbedingt vermieden werden. Sie halten einen solange fest und verhindern dass man weiterarbeitet bis man sich um sie gekümmert hat.
Dass es auch anders geht zeigen ein paar Anwendungen: In iPhoto muss man bearbeitete Fotos und Fotoalben nicht sichern. In iTunes muss man keine Wiedergabelisten öffnen und sichern, sie sind einfach immer da. In Apple Mail werden E-Mail Entwürfe automatisch gesichert und man hat eine Volltextsuche über alle E-Mails ohne diese erst einzeln öffnen zu müssen.
Wir brauchen Anwendungen die Dokumente nicht traditionell öffnen und sichern, sondern die Dokumente werden verwaltet. Mitsamt Versionsverwaltung und eines Rückgängig-Schiebereglers mit dem man alle Änderungen am Dokument wie einen Film ablaufen lassen kann. Die Suche ist nicht beschränkt auf geöffnete Dokumente sondern geht über alle Dokumente.
Es sollte keine Anwendungen mehr geben sondern Häuser mit Räumen in denen sich Werkzeuge befinden. Betritt man ein Haus ist man im Eingang. Dort stapeln sich die Dokumente, die man nicht in Ordnern organisiert hat. Im Eingang stehen eine überschaubare Anzahl Werkzeuge zur Verfügung um seine Dokumente zu verwalten. Bearbeitet werden Dokumente im nächsten Raum. Ausgegeben oder exportiert im Raum Ausgang.
»Bei dem Dialog “SQL-Anweisung speichern?” verstehe ich aus der Ferne nicht warum die Anwendung den Benutzer überhaupt belästigt. Hier sollten die Knöpfe auf jeden Fall mit Speichern, Nicht speichern, Abbrechen beschriftet werden.«
Stimmt, ich habe nichts zum Ursprung dieser Dialoge gesagt. Dieser ist, wenn man in einem Steuerelement, in einem Formular, die Datensatzherkunft als SQL-Query beschreibt, anstatt in einer Abfrage/Tabelle, und diesen versucht mit dem eingebauten Abfrage-Editor zu edieren. Im eigentlichen bezieht sich das »speichern« einfach auf das ersetzen oder aktualisieren des SQL-Strings in diesem Steuerelement. Ich finde meine Wortwahl ist dazu dann passend. »Ersetzen« wäre in diesem Zusammenhang auch in Ordnung gewesen. »Zerstören« klingt etwas negativ, »Wegwerfen« ebenso, zudem abwertend. »Verwerfen« ist zwar kein gebräuchlicher Begriff, aber dadurch unbelastet von Gefühlen.
»Hier hat Microsoft außerdem den Befehl Abbrechen vergessen.« Richtig, der Stress-mich-nicht-jetzt-Button fehlt hier eindeutig.
»Trotzdem speichern« ist eine super Idee!
»Ich träume von Computern die den Benutzer nicht mit Fragen nerven sondern einfach das richtige tun(…)« Dann träumst du ungefähr den selben Traum wie Jeff Raskin. Sein Computer »Cat« war eine Maschine mit eben jener dieser Funktionen. Das Dateisystem Metapher gab es nicht. Es gab nur einen Speicehr der voll mit Text war. Ein Überdimensionaler Arbeitsraum indem alles geschah.Seiner Zeit um Jahrzehnte vorraus. Aber Dinge die Menschen noch nicht verstehen, lassen sich nicht verkaufen.
»(…)Häuser mit Räumen in denen sich Werkzeuge befinden(…)« Kais PowerGoo das ich dir abgekauft habe, ist eines dieser beeindruckenden Programme die genau so funktionieren. Eine Schere zum geradewohl darauf zuschneiden. Eine Schneidemaschine für’s gerade Zuschneiden, etc.
Btw. ich hab auf den Performa Mac OS 8.1 installiert.
Der SQL-Anweisung-Sichern-Dialog sollte ganz vermieden werden.
Man benötigt einen einheitlichen Änderungen-Sichern-Dialog der immer die Knöpfe “Speichern”, “Nicht Speichern” und “Abbrechen” bietet (auf dem Mac: “Nicht sichern”, “Abbrechen” und “Sichern”; man beachte die Reihenfolge). Der Befehl “Verwerfen” in der Apple Vorschau Anwendung hat mich äußerst irritiert, da ich “Nicht sichern” gewohnt bin. Ich betrachte mich in diesem Fall als repräsentativ.
Auch wenn spitzfindige Programmierer der Meinung sind es muss alles absolut korrekt bezeichnet werden, so ist Verständlichkeit wichtiger. Bei meiner Digitalkamera gibt es ein Motiv “Sonnenuntergang”. Das ist auch für Sonnenaufgänge zuständig. Da man aber Untergänge öfters fotografiert als Aufgänge, hat man es so genannt.
Daraus ist eine Usability und Texter-Regel ableitbar: Wähle die Bezeichnung die in den meisten Fällen zutrifft. Keine Schachtelsätze, keine seltsam klingenden Begriffe die in der Realität nicht üblich sind.
ich wünsche mir manchmal einen “vielleicht”, “jetzt nicht” oder “mach mal” Knopf zum Drücken… da heisst es immer, die heutige Computer seinen Intelligent
“Jetzt nicht” wäre sicher der meistgenutzte Knopf. Noch besser wäre ein “Lass mich in Ruhe und mach immer das Richtige” Knopf, damit der Dialog nie wieder angezeigt wird.
lemming, du willst unbedingt einen “Verwerfen”-Knopf, da dir “Nicht speichern” nicht ausreicht. Meinst du der Benutzer sollte sich Gedanken machen müssen, den Unterschied zu erkennen ob es sich um Änderungen an einem Dokument oder Änderungen von Einstellungen handelt. Es sind beidesmal Änderungen, deshalb sollte es immer einheitlich heißen.
Techniker sehen Unterschiede wo keine sind. Man denke nur an das Kopieren von Dateien unter DOS mit “copy”. Um Ordner zu kopieren benötigte man “xcopy”.
»Immer einheiltich« ist nicht immer gut, Martzell. Man schaue sich die unnütze WinAPI MsgDlg an, die nur »Ja«, »Nein«, »Abbrechen« und »OK« kann, damit es einheitlich ist.
Wenn man »Speichern« verwendet, dann kann man auch »Nicht speichern« verwenden. Ich habe aber für »Speichern« das Wort »Aktualisieren« gewählt, da es in der Fragestellung als Prädikat auftaucht. Bei »Speichern« denkt der Benutzer, vielleicht (und vielleicht ist schon Zuviel), das er den SQL-String, den er im Abfrage-Editor ediert hat, nun als Abfrage in seine Datenbank speichern muss, was er ja nicht will. Sonst hätte er in der Steuerelementeigenschaft eine Abfrage ausgewählt statt einen SQL-String einzugegeben. Fazit: Somit ist »Verwerfen« vor »Nicht speichern« die bessere Wahl, da die Oppositionelle Option »Aktualisieren« ist und nicht etwa »Speichern«. An zweiter Stelle würde aber »Nicht speichern« kommen.
Bei dem Räume-mit-Werkzeugen-Konzept (wie in den Kai Krause Programmen Soap und GOO zu sehen) hat man nicht alle Werkzeuge zur Verfügung sondern muss erst in den jeweiligen Modus (Raum) wechseln. Das schafft Übersicht.
Jeff Raskin ist gegen solche modale Beschränkungen. Sein User Interface Konzept names THE (The Human Environment) bietet alle Befehle ohne Maus über eine Texteingabe an. Das ist auch ein sehr guter Ansatz.
Möchte man mit der herkömmlichen grafischen Oberfläche z. B. suchen, muss man ein Fenster öffnen und bürokratisch das Such-Formular ausfüllen und abschicken. In THE genügt das Halten einer Taste und die Eingabe von >test um zur nächsten Fundstelle von “test” zu springen. Die Return-Taste ist auch erlaubt um auf einheitliche Weise zum nächsten Absatz zu springen. Die grafische Oberfläche tut sich sehr schwer mit einer Text-Suche nach unsichtbaren Zeichen wie Tabulator und Zeilenumbruch.
In der grafischen Oberfläche gibt es Verbesserungen: Die Apple Vorschau Suche ist in einer Schublade angedockt und listet alle Fundstellen in einer Liste auf während man tippt.