Gute Bedienungsoberflächen programmieren, die vom User als "intuitiv" und "einfach zu bedienen" beschrieben werden, ist schwer. Jeder Programmierer hat hier zwangsläufig "Scheuklappen" auf - er weiß ja alles über das Programm und seine Bedienung - kann sich nur schwer in jemanden hinein versetzen, der keine Kenntnis über die Programmstruktur hat. Folgende Fragestellung hilft hierbei, die typischen Programmierer - Scheuklappen abzulegen, und sich in die Situation eines Users hinein zu versetzen:
Eine Anwendung muß intuitiv zu bedienen sein, und in jeder Situation Hilfestellungen abbieten. Intutitiv bedeutet, daß die GUI das an Auswahlmöglichkeiten stets anbietet, was in der Erwartungshaltung des Anwenders liegt. Eine GUI muß "erraten" können, was der Anwender denkt, bzw. sucht: Beim ersten Öffnen der GUI, was könnte der User an Informationen erwarten, welche benötigt er, was ist seine Absicht?
Falls er in die GUI zurückkehrt (aus einem anderen Programmteil), welche Informationen benötigt er, um seine Arbeit fortzuführen, welche Informationen hat er z.B. vergessen? In früheren Programmiersprachen gab es ein "GOTO". Wie wäre es mit einem "COME-FROM"? Dies ist die Kunst der Gestaltung einer statefull gui.
Die Gestaltung für Einsteiger und Fortgeschrittene muß unterschiedlich sein.
Der Benutzer muß zu jedem Zeitpunkt erkennen können, in welchem Kontext er sich befindet.
Er muß schnell und jederzeit in andere Kontexte wechseln, und wieder zurückkehren können (z.B. bei Unterbrechungen durch Telefonanrufe).
Der Benutzer muß gelegentlich auf ungenutzte Features aufmerksam gemacht werden, wie z.B. schnelle Bedienung über Tastendrücke. Nutzt er diese, so müssen sich die Hilfestellungen verändern, reduzieren, oder abschalten.
Die Anwendung muß sich dynamisch dem Benutzerverhalten anpassen. Häufig genutzte Funktionen müssen schneller erreichbar sein.
Der Programmierer muß bei dem Design jeder Eingabe - und Ausgabemaske genau überlegen, was der Benutzer weiß, aus welchem Kontext dieser kommt, also welche Informationen dieser bereits hat, und welche er benötigen könnte.
Teilausgefüllte Eingabe - Masken müssen stets wiederhergestellt werden, nach einem Kontextwechsel, oder sogar nach einem Reboot der WS.
Eine GUI muß statefull sein, also genau wissen, welche Vorgänge vom User abgebrochen, welche nur unterbrochen, aber wieder aufgenommen wurden - ähnlich einer TODO Liste. Daten aus Eingabemasken müssen zwischengepuffert werden.
Die Arbeit auf dem Desktop muß am nächsten Tag ununterbrochen fortgesetzt werden können, der User muß trotz Neustart seine Arbeit sofort fortsetzen können, siehe Terminal - Server.
Eine Applikation in der GUI muß Multithreaded sein. Wartezeiten für z.B. Druckaufträge oder Reports dürfen nicht auftreten, die GUI muß den User über die erfolgreiche Ausführung eines Hintergrund - Taskes informieren.
Eine GUI muß den User darüber informieren, wie fleißig dieser war (Datenerfassung, Hotline), woran er gearbeitet hat, welche Programme oder Teile der Anwendungsprogramme er nutzt oder nicht nutzt. Das Prinzip Wettbewerb (Agonalität) funktioniert auch hier.
| Zurück | Inhaltsangabe | Weiter |
| Unit Testing | Design Pattern |