Jeder Benutzer hat seine eigenen Vorlieben und Tendenzen, und wenn man
diese mit der Unmenge an möglichen Anwendungssituationen bzw.
Einsatzgebieten von User-Interfaces multipliziert, kommt man auf eine
unglaubliche Vielfalt an Interaktionsmöglichkeiten.
Unterschiede in Vorwissen, Einschulung und Häufigkeit der Benutzung
erfordern auch unterschiedliche Interface-Lösungen.
Verwendung von Profile
Am Beginn jedes Design-Prozesses sollte der Versuch stehen die EndBenutzer
zu verstehen. Geeignete Mittel dafür sind Benutzerprofile mit Angaben
über Alter, Geschlecht, Ausbildung, kulturellem und ethnischem
Hintergrund, Einschulung, Motivation, Ziele und Persönlichkeit. Zumeist
gibt es für ein Produkt mehrere zum Teil sehr unterschiedliche
Benutzergruppen, was das Design eines für alle geeigneten User-Interfaces
zusätzlich erschwert. Außer der Benutzung solcher statistischer Profile
ist auch noch ein User-Testing am (fast) fertigen Produkt (Beta)
empfehlenswert.
Man könnte zum Beispiel auch versuchen die Anwender in folgende drei
Kategorien einzuordnen:
- Anfänger / erstmalige Benutzer
Sie besitzen kaum, oder nur sehr wenig Vorwissen. Wenn Wissen
vorhanden ist, dann ist dieses meist fachlicher Natur
(Anwendungsgebiet des Programms). Im Umgang mit Computern sind diese
Benutzer nicht erfahren. Für die erfolgreiche und vor allem einfache
Benützung der Anwendung sollte man für diese User Anleitungen,
ausführliche Dialogboxen und eine übersichtliche Online-Hilfe
inkludieren. Die Zahl der notwendigen Aktionen um einen Task
auszuführen sollte möglichst klein gehalten werden, da sich die User
umständliche Befehlsfolgen nicht merken können. Das Feed-Back sollte
sehr informativ sein und die Fehlermeldungen sollten eine detailierte
Beschreibung des aufgetretenen Fehlers enthalten sowie auch eine
Anleitung zur Behebung des aufgetretenen Problems.
- Benutzer mit Computervorwissen / zeitweilige Benutzer
Diese User verwenden die Anwendung regelmäßig und/oder haben
bereits Erfahrung mit Computern und einer Zahl an verschiedenen
Interfaces und gängigen Paradigmen. Prinzipiell sollten diese User
nach etwas Einübung keine Schwierigkeiten haben ihre Tasks
auszuführen. Zur Erleichterung des Wiederfindens gewünschter
Funktionen empfiehlt es sich eine klar strukturierte Menüführung und
konsistente Bezeichnungen. Online-Help-Screens sollen Lücken im
Wissen des Users ausfüllen.
- Experten / häufige Benutzer der Anwendung
Experten kennen sich optimal mit der Anwendung und mit Computern
aus und sind nur darauf aus, ihre Arbeit mit möglichst geringem
Zeitaufwand durchzuführen. Schnelle Antwortzeiten und kein
überdetailiertes Feed-Back sind erwünscht. Keyboard-Shortcuts und
die Möglichkeit Makros für häufiger auftretende Tasks zu erstellen
können helfen die Arbeitsgeschwindigkeit weiter zu erhöhen.
Die unterschiedlichen Interaktionsstile
Sehr wichtig für ein gelungenes User-Interface ist auch die Wahl des
richtigen, beziehungsweise des am besten geeigneten Interaktionsstiles.
Nur in seltenen Fällen lässt sich ein bestimmter Aktionsstil als der
einzig richtige definieren. Oft trifft man folgende Stile auch in
Kombinationen an.
- Direkte Manipulation
Durch die virtuelle Reprästentation der Interaktions-Objekte und
-Methoden ist die Bedienung hier besonders leicht zu erlernen. Zudem
werden viele Fehler bereits von vornherein vermieden (Tippfehler,
...). Der Benutzer wird ermutigt neues auszuprobieren. Direkte
Manipulation ist aber sehr aufwendig zu programmieren.
- Menüauswahl
Durch die Verwendung von Menüs sind weniger Tastenanschläge
notwendig und das Erinnern an die einzelnen Befehle fällt leichter.
Die strukturierte Anordnung der Befehle in den Menüs hilft auch bei
der strukturierten Entscheidungsfindung. Menüs erlauben die
Verwendung von Dialog-Tools und einfaches Fehlerhandling. Nachteilhaft
können Menüs sein, wenn es zu viele Befehle anzuordnen gilt, und die
Menüstruktur dadurch zu groß wird und unübersichtlich wirkt. Menüs
verbrauchen auch große Mengen an Platz auf dem Bildschirm und geübte
Benutzer können durch das Durchsuchen der Menühierarchie in ihrer
Geschwindigkeit gebremst werden.
- Forms
Formulare vereinfachen besonders die Eingabe von Daten und sie
benötigen kein (kaum) Training, da ihre Benützung ziemlich intuitiv
ist. Es ist auch sehr einfach Hilfestellungen bezüglich der Eingabe
zu geben, aber der Platzverbrauch von Formularen ist massiv.
- Kommandosprache
Ist im Prinzip nur für Experten geeignet, da die Kommandos alle
zuvor erlernt werden müssen. Das Fehlerhandling ist sehr schlecht,
Möglichkeiten zur Fehlervermeidung sind kaum gegeben.
Kommandosprachen sind aber sehr einfach zu Programmieren und auch
Makro-Erstellung ist sehr einfach zu realisieren.
Die 8 goldenen Regeln des User-Interface-Design
Die 8 goldenen Regeln des User-Interface Designs nach Ben Shneiderman:
- Nach Konsistenz streben
Dies ist eine sehr einsichtige, aber dennoch sehr oft verletzte
Regel, da es sehr viele unterschiedliche Formen von Konsistenz gibt:
Terminologie in Menüs, Prompts, Help-Screens, ... Weiters sollten
auch noch die Farbgebung, die Schriftauswahl, die Klein- und
Großschreibung, ... konsistent sein. Ähnliche Tasks sollten durch
ähnliche Abläufe erreicht werden (sequences of action).
- Shortcuts
Abkürzungen, Keyboard Shortcuts, Möglichkeiten Macros zu
erstellen und ähnliche Dinge (in Kombination mit kurzen Antwortzeiten
und schnellen Anzeigeraten) zur Erhöhung der Geschwindigkeit,
besonders für fortgeschrittene User.
- Informatives Feedback
Es sollte für jede Aktion Feedback geboten werden. Umso häufiger
diese Aktion benutzt wird, umso knapper sollte das Feedback aber
ausfallen, da es sonst lästig wirkt. Selten auftretende Fälle
sollten aber detailierter beschrieben werden.
- Geschlossene Dialoggruppen
Geschlossene, zusammengehörige Handlungsabläufe sollte man in
Gruppen mit Anfang, Mitte und Ende organisieren. Das erleichtert das
Handling, da der User durch den ganzen Vorgang geleitet wird, sobald
er den Anfang erreicht hat und nach Beendigung der Gruppe seine volle
Aufmerksamkeit der nächsten Tätigkeit widmen kann.
- Fehlervermeidung und einfache Fehlerhandhabung
Das Interface sollte bereits so designt sein, das es kaum möglich
ist fehlerhafte Eingaben zu machen. Tritt dennoch ein Fehler auf,
sollte die Fehlermeldung möglichst konstruktiv ausfallen und
Vorschläge zur Behebung des Fehlers erscheinen.
- Umkehrbarkeit von Aktionen
Möglichst alle Aktionen sollten einfach umkehrbar sein, weil der
Benutzer damit zum Ausprobieren von neuen Funktionen ermutigt wird, "weil
ja eh nichts kaputt gemacht werden kann".
- Interne Kontrollmöglichkeiten bieten
Erfahrene User wollen über alle Vorgänge des Systems Kontrolle
besitzen. Es sollte keine unvorhersehbaren Systemaktionen auftreten
und der momentane Status sollte immer leicht abfragbar sein. Der User
sollte immer das Gefühl haben die Aktionen auszulösen und nicht nur
darauf zu reagieren.
- Möglichst geringe Belastung des Kurzzeitgedächtnisses
Menschen sind nicht in der Lage sich durchschnittlich mehr als
sieben Chunks im Kurzzeitgedächtnis zu behalten. Darum sollten alle
Screens des Interfaces nicht zu überfüllt und auch einzelne
Befehlsfolgen nie zu lange sein, damit man das Wichtigste einfach im
Gedächtnis behalten kann.
Unterstützung zur Vermeidung von Fehlern
Bei Anwendungen treten sehr häufig Fehler auf, die leicht zu vermeiden
wären. Auch erfahrenen Benutzern unterlaufen aufgrund von Unachtsamkeit
immer wieder unnötige Fehler. Die Geschwindigkeit und Produktivität wird
dadurch aber entschieden beeinträchtigt.
Diese Verluste sind am einfachsten durch aussagekräftige
Fehlermeldungen zu verringern. Wenn genau die Art und die Stelle des
Auftretens des Fehlers beschrieben werden, sollte dieser ohne Probleme
behoben werden können. Meist ist der Fehler (solange der Befehl nicht
wirklich falsch verstanden wurde) auch leicht aus der Eingabe ersichtlich.
Noch besser ist es aber, solchen Fehlern bereits durch das Interface
vorzubeugen. Das lässt sich unter anderem durch folgende drei Techniken
erreichen:
- Vervollständigen von "matching Pairs"
z.B. Klammer auf / Klammer zu oder Beginn- und End-Tags im
HTML-Code. Es ist möglich, dass beim Tippen einer öffnenden Klammer
auch die schließende gleich mit eingefügt und der Cursor dazwischen
plaziert wird. Durch ähnliche Effekte beim Löschen einer Klammer ist
es nicht möglich eine falsche Klammerung zustande zu bekommen. Manche
User finden diesen Eingriff aber bereits zu restriktiv und zu streng
und würden eher bevorzugen beim Fehlen einer Klammer nur am Rande des
Bildschirms eine Warnung angezeigt zu bekommen.
- Sequenzen vervollständigen
Sind für eine Aktion mehrere Kommandos notwendig, so sollte man
diese soweit wie möglich zu einem Kommando zusammenfassen. Ist dies
nicht möglich, können über das Interface nach der Eingabe des
ersten Kommandos weitere Möglichkeiten vorgeschlagen werden. Damit
muss die komplette Abfolge der Befehle nicht im Gedächtnis behalten
werden.
- Kommandokorrektur
Tipp- und Syntaxfehler sind oft dadurch zu vermeiden, dass man nach
Eingabe von nur wenigen Zeichen mögliche Vervollständigungen des
Kommandos vorgibt. Diese Vorgehensweise ist sinnvoller als
Fehlermeldungen, da der Fehler zumeist ohnehin klar ersichtlich ist,
und dann das Kommando erneut eingetippt werden muss. Eine
Fehlermeldung wird eigentlich erst benötigt, wenn der Fehler durch
ein falsches Verständnis des Befehles entstand.
Noch weniger Fehlermöglichkeiten bei der Eingabe hat man bei der
Verwendung eines Interaktionsstils über direkte Manipulation.
|