Plädoyer für den Beruf des Dialogdesigners

Gestaltung von Oberflächen überfordert die Programmierer

13.11.1992

Kaum ein Anwender wehrt sich heute noch gegen den Einsatz grafischer Benutzeroberflächen. Die Vorteile von Mausbedienung und WYSIWYG-Prinzip scheinen auf der Hand zu liegen. Ob ein Programm einfach zu bedienen ist, hängt allerdings keineswegs nur von seinen grafischen Möglichkeiten ab. Entscheidend ist vielmehr das Design für den Benutzerdialog. Den herkömmlichen Programmierern mangelt es dafür an ergonomischen Kenntnissen. Gefragt ist deshalb der Dialogdesigner .

Fast zwei Jahrzehnte nach ihrer Erfindung im Xerox Palo Alto Research Center haben sich grafische Benutzeroberflächen (Graphical User Interfaces, GUIs) durchgesetzt. Immer mehr Anwender bevorzugen die darauf aufsetzenden Anwendungen wegen ihrer leichten Erlernbarkeit und unkomplizierten Bedienung. Deshalb statten immer mehr Softwarehersteller ihre Produkte mit einer solchen Oberfläche aus. Wahrscheinlich werden zeichenorientierte Oberflächen bald nur noch geringe Chancen auf dem engen Softwaremarkt haben.

Im folgenden soll gezeigt werden, daß GUIs tatsächlich viele Vorteile bringen. Allerdings stellen sich diese Vorteile nicht automatisch ein. In der Praxis bedeutet der GUI-Einsatz, daß auf Designer und Entwickler eine Reihe von neuen Aufgaben zukommt. Der Erfolg der grafischen Anwendung hängt wesentlich davon ab, wie diese gelöst werden.

Toolkits auf allen wichtigen Plattformen

Technisch ist der Einsatz eines GUIs kein Problem mehr. Die hohen Anforderungen an Rechenleistung, Grafikauflösung und Speicherbedarf werden heute von fast allen handelsüblichen Rechnersystemen erfüllt. Auf allen wichtigen Plattformen haben sich Toolkits etabliert, die dem Entwickler die nötigen Grundfunktionen für die Programmierung grafischer Benutzeroberflächen zur Verfügung stellen.

Die bekanntesten GUI-Vertreter sind die Macintosh-Oberfläche von Apple, Microsofts Windows, der IBM Presentation Manager, Motif von der Open Software Foundation und Open Look von AT&T. Diese Umgebungen weisen zwar teilweise einen sehr unterschiedlichen internen Aufbau auf, die zugrundeliegenden Dialogkonzepte sind aber weitgehend identisch. Alle verfügen über Features wie Pulldown-Menüs, Aktionsknöpfe, Rollbalken, Fenstertechnik, WYSlWYG-Darstellung, Cut & Paste etc. Eine unschöne Eigenschaft ist ihnen ebenfalls gemein: Sie sind sehr umfangreich.

Allein die Referenzhandbücher für das Unix-Oberflächen-System und Motif haben einen Umfang von über 2000 Seiten. Dort werden lediglich die aufrufbaren Funktionen und Datenstrukturen aufgelistet. Hinzu kommt die eigentliche Programmierdokumentation .

Um die Komplexität der GUI-Programmierung zu reduzieren empfiehlt sich der Einsatz von User Interface Management Systems (UIMS). Mit diesen Werkzeugen läßt sich eine grafische Oberfläche schnell und einfach entwerfen oder simulieren. Später wird die Beschreibung der Oberfläche von dem UIMS in die entsprechenden Systemaufrufe des Toolkits umgesetzt.

Der Programmierer muß also nicht unbedingt auf der komplexen Ebene des Toolkits arbeiten. Obwohl diese Werkzeuge sehr hilfreich sind, ist der Lernaufwand für ihre Beherrschung beträchtlich.

Der wesentliche Vorteil einer GUI-Anwendung ist die Bedienungsfreundlichkeit. Da die Steuerung üblicherweise mit Maus und über Zeigeoperationen erfolgt, fällt das Erlernen von Kommandos weg. Durch das WYSIWYG-Konzept muß sich der Anwender auch nicht merken, was ein Befehl bewirkt - er sieht den Effekt direkt am Bildschirm. Diese Eigenschaft verringert den Lernaufwand und sorgt dafür, daß der Anwender effektiver arbeiten kann.

Neben der Benutzerfreundlichkeit hat der Einsatz von grafischen Systemen auch prinzipielle Vorteile. Mit Grafik können auf einem Bildschirm gleichzeitig mehr Informationen dargestellt, und kann übersichtlicher aufbereitet werden. Für den kommerziellen Erfolg einer Anwendung spielt sicher auch ein ansprechendes grafisches Design eine große Rolle, wie es mit einem GUI realisierbar ist.

Wenig Ablaufsteuerung bei grafischen Systemen

Die benutzerfreundlichen Konzepte der GUIs beruhen auf einer für sie spezifischen Struktur. Alphanumerische Programme verändern beim Ablauf ihr Aussehen, je nachdem, ob dem Benutzer Fragen gestellt oder Menüs präsentiert werden. Die Eingabe des Benutzers löst diese Veränderungen aus. Man spricht hier von modalem Dialog.

Bei einer grafischen Dialogsteuerung dagegen hat nicht das Programm, sondern der Benutzer die Initiative. Er kann jederzeit bei allen angezeigten Dialogobjekten Eingaben machen (freier Dialog). Programmtechnisch wird dies über eine zentrale Ereignissteuerung realisiert, die die entsprechenden Verarbeitungsfunktionen aktiviert. Durch diese unterschiedliche Struktur ist es außerordentlich schwierig, ein bestehendes Programm im nachhinein mit einer grafischen Dialogsteuerung zu versehen.

Entwickler, die bisher an hierarchisch aufgebaute Programme gewöhnt waren, haben mit dieser Sichtweise oft Probleme. Auch sind die verbreiteten prozeduralen Programmiersprachen wie C nicht optimal für die Realisierung von Oberflächen mit Dialogobjekten Ideal wäre der Umstieg auf objektorientierte Programmierung zum Beispiel mit C + + .

Großer Lernaufwand und viel Umdenken ist also erforderlich, bevor eine gute grafische Anwendung geschrieben werden kann. Doch selbst dann, wenn der Entwickler das Toolkit beherrscht, gibt es noch keine Garantie dafür, daß das erstellte Programm auch wirklich unkompliziert zu bedienen und leicht zu erlernen ist.

Mit den vielen Möglichkeiten, die ein GUI bietet, ergeben sich nämlich auch viele Gelegenheiten, Fehler in der Dialoggestaltung zu machen. So lassen sich unter den Programmen mit grafischer Benutzeroberfläche neben zahlreichen guten auch einige mit problematischem Dialogdesign finden. Eine Ursache dafür kann sein, daß versucht wurde, eine bestehende alphanumerische Anwendung ohne entsprechendes Re-Design

für ein GUI zu implementieren.

Auch mit grafischer Oberfläche kommen durchaus Anwendungen vor, die umständlich zu bedienen sind. Dann haben die Entwickler Dialogarten gewählt, die sich für die Anwendung oder für den Benutzer als unpassend erweisen. Im DV-Bereich hat sich im Laufe der Zeit eine Reihe unterschiedlicher Techniken zur Kommunikation zwischen Mensch und Maschine herausgebildet. Abbildung 1 zeigt eine Übersicht.

Während konventionelle Systeme auf bestimmte Dialogarten festgelegt waren, lassen sich mit einer grafischen Benutzeroberfläche im Prinzip alle Arten von Kommunikation verwirklichen. Beim Programmdesign ist nun zu entscheiden, welche Funktionen des Programmes über welche Dialogarten gesteuert werden sollen. Diese Entscheidung ist schwierig, weil sie von vielen Faktoren abhängt.

Die direkte Manipulation beispielsweise gilt allgemein als sehr bedienungsfreundlich. Sie wird aber nur dann vom Benutzer sofort verstanden, wenn ihm das mentale Modell, das hinter den angezeigten Objekten steht, auch bekannt ist. Ein gutes Beispiel dafür ist das Ordner-Icon beim Macintosh Finder. Es zeigt das Bild eines in den USA gebräuchlichen Folders. Die meisten europäischen Benutzer können mit diesem Symbol vermutlich auf Anhieb nichts anfangen; sie müssen erst in einem Lernprozeß erfahren, daß das Objekt zur Ablage von Dokumenten benutzt werden kann.

Allgemein ist die direkte Manipulation von Objekten dann schwierig, wenn die zugrundeliegenden Metaphern dem Benutzer nicht bekannt sind oder die gewünschte Funktion sich nicht durch eine geläufige Metapher wiedergeben läßt. Ein Beispiel für diesen Sachverhalt ist das Macintosh-Programm "Font/DA Mover".

Auf dieses Programm waren die Anwender bis zur Version 6 des Macintosh-Betriebssystems angewiesen, wenn sie zusätzliche Schriftarten und Tools installieren und entfernen wollten (siehe Abbildung 2)**. Die dort dargestellten Dialogobjekte geben dem Benutzer allerdings kaum Hinweise auf die Funktion des Programmes. Auch der freie Dialog erweist sich hier eher als verwirrend. Da der Benutzer die Funktion des Programmes nicht versteht, weiß er auch nicht, in welcher Reihenfolge er die Dialogknöpfe bedienen soll. Vielleicht wäre in diesem Fall ein konventioneller Frage-Antwort-Dialog bedienungsfreundlicher gewesen, zum Beispiel:" Wollen Sie Schriftarten installieren oder entfernen?"

Wie soll ein Entwickler nun herausfinden, wie er den Dialog in seinem Programm am besten gestaltet? Die Antwort auf diese Frage findet er unter dem Stichwort Software-Ergonomie. Dieser Bereich der Wissenschaft beschäftigt sich mit der Erforschung der Einflüsse des Mensch-Maschine-Dialogs auf den Benutzer eines Dialogsystems sowie mit den Fähigkeiten des Benutzers im Hinblick auf den Dialog mit dem Computer.

Neben allgemeiner Literatur zu diesem Thema gibt es zu jedem der oben genannten User-Interface-roolkits auch noch einen Style Guide. In dieser Dokumentation gibt der Hersteller des Toolkits Hinweise zur Dialoggestaltung Ziel dieser Style Guides ist es, die Dialoggestaltung zu vereinheitlichen. Es soll erreicht werden, daß ein Benutzer sein Wissen über die Bedienung einer Anwendung auf eine andere übertragen kann.

Die in den Style Guides aufgeführten ergonomischen Richtlinien sind leider sehr allgemein und abstrakt gehalten. So lauten die Grundsätze ergonomischer Dialoggestaltung nach DIN 66234: Aufgabenangemessenheit, Selbsterklärungsfähigkeit, Steuerbarkeit, Erwartungskonformität, Fehlertoleranz und Fehlertransparenz. Für einen Informatiker oder Programmierer, der an eine streng mathematisch-logische Denkweise gewohnt ist, bereitet die Umsetzung derart vager Grundsätze einige Schwierigkeiten. Das hat sicher auch den Grund, daß die genannten Berufsgruppen nur selten über eine Ausbildung in Sachen Ergonomie verfügen.

Welche Konsequenzen sind nun aus den aufgezählten Problemen zu ziehen? Der Anwender könnte die Verwendung von GUIs aufschieben, bis bessere Werkzeuge auf den Markt kommen, die die Oberflächenentwicklung vereinfachen Allerdings liegt schon heute die eigentliche Schwierigkeit eher beim Design der Oberfläche als bei der Implementierung. Um diese Arbeit wird der Entwickler auch in Zukunft nicht herumkommen .

Wer erfolgreich grafische Anwendungen erstellen will, muß akzeptieren, daß das Oberflächendesign ein wesentlicher Bestandteil im Software-Entwicklungsprozeß ist. Dieses Design muß sorgfältig durchgeführt, und die entsprechenden Erkenntnisse sowie Methoden aus der Software-Ergonomie sollten konsequent angewendet werden. Dann kann der Einsatz des GUIs auch effektiv sein.

Es gibt viele Möglichkeiten das nötige Know-how in den Entwicklungsprozeß einzubringen. Ein Aspekt ist die intensive Ausbildung der Programmentwickler. Das Angebot an Literatur und Schulungen für Oberflächengestaltung und GUI-Programmierung ist umfangreich.

Besonders bei größeren Projekten erscheint es sinnvoll, das Gebiet der Dialoggestaltung als getrennten Entwicklungsbereich zu sehen. Die Oberfläche der gesamten Anwendung wird dann von einer spezialisierten Entwicklergruppe entworfen und implementiert. Diese Vorgehensweise stellt auch sicher daß die Oberfläche der Anwendung einheitlich wird. Schließlich besteht auch noch die Möglichkeit, Beratungsleistungen für die Oberflächengestaltung in Anspruch zu nehmen. In einer Zeit, in der Designer alle Produkte des täglichen Lebens gestalten, drängt sich die Etablierung des Berufsbildes "Dialogdesigner" fast schon zwangsläufig auf.

*Dipl. Inf. Stefan Bressler ist Software - Entwickler bei der CAT GmbH, Unterföhring.