Usability Pattern Nachsichtiges Format
Alias Forgiving Format
Problem Benutzer möchten Eingabewerte frei eingeben, ohne sich um das korrekte Format kümmern zu müssen.
Lösung

Akzeptiere Eingaben in verschiedenen Formaten, und interpretiere unvollständige oder nicht eindeutige Eingabewerte im Sinne des Benutzers.

Ergänze oder korrigiere dabei unvollständige oder fehlerhafte Eingabewerte so, dass sie der angenommenenen Intention des Benutzers entsprechen.

Beispiel
Freie Datumseingabe
Vergrößern
Freie Eingabe eines Datums in Remember The Milk
Sinnvolle Interpretation (12 Uhr mittages des Folgetags) durch das System
Vergrößern
Sinnvolle Interpretation des Eingabewerts durch Remember The Milk

Remember The Milk

Die Web-Anwendung Remember The Milk (RTM) zur Aufgabenverwaltung erlaubt Benutzern, das Fälligkeitsdatum von Aufgaben in verschiedenen, auch ungewöhnlichen Formaten einzugeben. Im Beispiel gibt ein Benutzer das Datum in natürlicher Sprache als „morgen Mittag“ ein. Das System interpretiert diese Eingabe als 12 Uhr des Folgetages.



Nutzungskontext
  • Nutzungssituationen, in denen ungeübte Benutzer mit dem System arbeiten
  • Eingaben, für die verschiedene Formate möglich und sinnvoll sind (z. B. Datums- oder Adresseingaben)
  • Eingaben in Formaten, die komplex oder für Benutzer ungewohnt sind
Begründung Mit der Unterstützung für nachsichtige Eingabeformate passt sich das System an die Benutzern an – und erfordert nicht, dass sich die Benutzer an das System anpassen. Benutzer müssen sich nicht das eine zulässige Eingabeformat merken, sondern können Werte in verschiedenen, aus ihrer Sicht sinnvollen Formaten eingeben, auch unvollständig oder sogar fehlerhaft. Das System interpretiert die Eingaben im (vermuteten) Sinne der Benutzer und korrigiert oder ergänzt sie gegebenenfalls. Das System ist fehlertoleranter, für Benutzer wird die Arbeit mit dem System leichter.
Gestaltungsgrundsätze Aufgabenangemessenheit, Fehlertoleranz, Individualisierbarkeit
Risiken, Nachteile, Kosten Die Unterstützung für nachsichtige Eingabeformate birgt das Risiko einer Fehlinterpretation der Benutzereingaben durch das System. Korrigiert das System Benutzereingaben mehrfach falsch, werden Benutzer bei ihrer Arbeit mit dem System behindert und können verärgert reagieren. Nachsichtige Formate sollten deshalb nur dann unterstützt werden, wenn das System mit hoher Wahrscheinlichkeit den korrekten beabsichtigten Eingabewert erkennen kann (z.B. bei Datums-, Uhrzeit- oder Ortsangaben).
Zusammenspiel

Ergänzung Direkte Validierung

Nachsichtiges Format und Direkte Validierung können kombiniert werden. Dabei ist jedoch zu beachten, dass das das System bei der Validierung die vom System interpretierten bzw. korrigierten Eingabewerte prüfen muss (nicht die tatsächlichen Eingabewerte der Benutzer).

Anforderungserhebung

Identifiziere Eingaben, bei denen verschiedene Eingabeformate denkbar sind.

  • Welche Eingabeformate können und sollen unterstützt werden?
  • Wie können unvollständige oder fehlerhafte Eingaben interpretiert werden?
Anforderungsspezifikation

Spezifiziere globale Anforderungen für das Usability Feature „Nachsichtiges Format“ des Systems:

  • Globaler ParameterInterpretationsregelnOptional
    Vorgabe der Regeln für die Interpretation von Eingabewerten.
    Beispiel: „ Wird bei Datumseingaben keine Uhrzeit eingegeben, nimmt das System als Uhrzeit 12:00 an. “
  • Globaler ParameterDarstellungOptional
    Vorgabe für die einheitliche Darstellung der Hinweise für Benutzer, wenn das System Eingabewerte ergänzt oder korrigiert.
    Beispiel: „ Automatisch ergänzte oder korrigierte Eingabewerte sollen im Dialog kurz farblich hervorgehoben werden, wenn der Benutzer die Eingabe abgeschlossen hat. “

Spezifiziere, in welchen Interaktionen zwischen Benutzern und System das Usability Feature „Nachsichtiges Format“ eingesetzt werden soll. Annotiere und ergänze dazu vorhandene Use Cases in der Spezifikation:

  • Annotation @ Schritt Nachsichtige EingabeBenötigt
    Das System soll bei diesem Eingabeschritt des Benutzers verschiedene Eingabeformate erlauben und, falls nötig, den Eingabewert im vermuteten Sinne des Benutzers interpretieren.
    Lokaler ParameterEingabeformateOptional
    Angabe der zulässigen Eingabeformate und spezielle Vorgaben für die Interpretation
    Beispiel: „Numerisches Datum in den Formaten TT.MM.JJJJ und JJJJ.MM.TT, alphanumerisches Datum mit ausgeschriebenem Monatsnamen im Format TT. MMMM JJJJ, relative Datums- (gestern, heute, morgen) und Zeitangaben (morgen = 8 Uhr, mittag = 12 Uhr, abend = 18 Uhr) “
Architekturentwurf

Das System muss Eingaben der Benutzer parsen und prüfen, ob sie mit einem der zulässigen Eingabeformate übereinstimmen. Für die Prüfung können reguläre Ausdrücke verwendet werden, die von vielen Programmierplattformen nativ unterstützt werden. Eingabefelder können mit dem Dekorierer-Entwurfsmuster (decorator pattern) um die Darstellung der interpretierten Werte erweitert werden. Um die Interpretation unmittelbar bei der Eingabe durchzuführen, kann das Beobachter-Entwurfsmuster (observer pattern) eingesetzt werden, um direkt auf Änderungen der Eingabewerte zu reagieren.