Designing user support

von Stefan Karl

Inhalt

0. gute Benutzerunterstützung wird immer wichtiger

1. Anforderungen an Benutzerunterstützung

1.1 Präsentationsanforderungen

1.2 Anforderung bezüglich der Implementierung

2. Möglichkeiten, Benutzerunterstützung zu entwerfen

2.1 Arten von Benutzerunterstützung

2.2 Implementierungsdetails

3. Regeln für den Entwurf von Benutzerunterstützung

0. gute Benutzerunterstützung wird immer wichtiger

Moderne Software bietet dem Benutzer in der Regel eine Vielzahl von Funktionen, die oft weit über das, was sich der Benutzer von dem jeweiligen Programm erwartet, hinausgeht. Aber gerade diese Fülle von Funktionen überfordert den Durchschnittsbenutzer meist, so dass eine gute und umfassende Benutzerunterstützung (engl.: "user support") immer wichtiger wird. Der Entwurf von Benutzerunterstützung darf deshalb keinesfalls willkürlich erfolgen, sondern muss bestimmten Anforderungen genügen. Beim Entwurf von Benutzerunterstützung muss sowohl auf Präsentations- als auch auf Implementierungsaspekte geachtet werden, wobei es in beiden Bereichen verschiedene Anforderungen und Möglichkeiten gibt, aus denen man letztendlich einige Leitlinien für das Design von Benutzerunterstützung ableiten kann.

1. Anforderungen an Benutzerunterstützung

1.1 Präsentationsanforderungen

Eine der Anforderungen, die für alle Arten der Benutzerunterstützung gelten, ist, dass dem Benutzer jederzeit Unterstützung zur Bedienung des Programms zur Verfügung steht. Diese Unterstützung darf sich dem Benutzer aber nicht, wie beispielsweise plötzlich auftretende Pop-ups, aufdrängen oder ihn gar behindern, sondern soll nur dann in Erscheinung treten, wenn der Benutzer auch wirklich Hilfe bei der Benutzung des Programms benötigt. Zudem ist es erforderlich, dass die bereitgestellte Benutzerunterstützung dem Benutzer bei allen Funktionen des Programms zur Verfügung steht und dabei auch dem Benutzer so hilft, dass dieser auch das beabsichtigte Ziel erreicht. Um den Benutzer nicht zu verwirren, soll die Benutzerunterstützung außerdem in ihrer Bedienung, inhaltlich und auch optisch konsistent sein. So ist es beispielsweise sehr wichtig, dass alle Assistenten in einem Programm dasselbe Design haben und gleiche Bedienung auch zu gleichen Ergebnissen führt. Bei Benutzerunterstützungsarten, die dem Anwender mit Hilfe von längeren Textpassagen weiterhelfen, ist besonders zu beachten, dass der Text am Besten nicht in längeren Blöcken zusammengefasst wird und die Sprache darin eher aus Bedienungsanweisungen besteht als das Programm beschreibt. Die Benutzerunterstützung darf aber nicht nur für einen bestimmten erfahrenen oder weniger erfahrenen Benutzer entworfen werden, sondern muss schon flexibel an den Kenntnisstand des Benutzers anpassbar sein. Im Idealfall ist die Benutzerunterstützung dabei in der Lage, ein Profil vom Benutzer zu erstellen und sich dadurch automatisch an den Benutzer anzupassen.

1.2 Anforderung bezüglich der Implementierung

Bei der Implementierung der Benutzerunterstützung ist besonders darauf zu achten, dass der Code korrekt ist und das Programm, wie z.B. ein Konfigurationsassistent, die gewünschten Ergebnisse liefert und der Benutzer so die Hilfe erhält, die er haben wollte. Dabei muss auch die Benutzerführung selbst problemlos benutzbar sein und auch über eine passende Fehlerbehandlung verfügen.

2. Möglichkeiten, Benutzerunterstützung zu entwerfen

2.1 Arten von Benutzerunterstützung

Es existieren viele verschiedene Arten von Benutzerunterstützung, aus denen der Entwickler eine oder mehrere wählen kann, um dem Benutzer im Bedarfsfall zu helfen. Eine recht einfache Möglichkeit stellt eine auf dem Computer verfügbare Dokumentation des gesamten Programms dar, welche dann auch von jedem Status des Programms aus aufrufbar sein muss. Dieser systembasierende Ansatz hat allerdings den Nachteil, dass die Dokumentation für den Benutzer etwas unübersichtlich ist und dieser erst einige Zeit suchen muss, bevor er die gewünschte Information findet. Mit Hilfe von Hyperlink kann das Durchsuchen der Dokumentation etwas vereinfacht und dieser Nachteil damit etwas vermindert werden. Ebenfalls eine recht simple Form der Benutzerunterstützung ist die Kommando-Assistenz bei kommandobasierenden Benutzerinterfaces. Dabei kann der Benutzer für ein bestimmtes Kommando Hilfe anfordern, wie beispielsweise mit „man“ bei UNIX-Systemen oder mit „help“ bei DOS. Diese Art der Benutzerunterstützung ist allerdings nur sinnvoll, wenn der Benutzer weiß, was er sucht und eignet sich auch dann nur für ein kurzes Nachsehen. Auch „Command prompts“ findet man in kommandobasierenden Benutzerschnittstellen. Hierbei wird dem Benutzer angezeigt, wie das Kommando richtig zu benutzen ist, wenn er es falsch benutzt hat. Dies eignet sich daher gut für kleine Syntaxfehler und erfordert, dass der Benutzer das Kommando grundsätzlich versteht. Dem Benutzer kann auch durch Tutorials geholfen werden, wobei dieser dabei die grundsätzlichen Funktionen des Programms in einer Testumgebung ausprobiert. Shortcuts, mit denen man bestimmte Kommandos schneller ereichen kann als über die Menüstruktur, helfen dagegen vor allem erfahrenen Benutzern, die Anwendung einfacher bedienen zu können. Kontextsensitive Hilfe ist dagegen eine wesentlich komplexere Art der Benutzerunterstützung. Dabei wird auch der Kontext, in dem der Benutzer die Hilfe angefordert hat, berücksichtigt und daran angepasste Hilfestellungen angeboten. Es sind aber neben „Command prompts“ auch andere Formen von Feedback, wie z.B. kurze Textnachrichten in Statusleisten oder Fortschrittsanzeigen bei länger dauernden Aktionen sinnvoll, damit der Benutzer über den Status des Programms Bescheid weiß und entsprechend reagieren kann. Noch höher entwickelte Benutzerunterstützungsarten sind so genannte Wizards und Assistenten. Ein Wizard ist ein Werkzeug das den Benutzer schrittweise durch eine Aufgabe führt und die Antworten des Benutzers auf vom Wizard gestellten Fragen benutzt, um die Aufgabe sicher und vollständig bis zum Ende abzuarbeiten. Der Benutzer kann dabei auch immer zumindest den letzten Schritt rückgängig machen, um z.B. fehlerhafte Eingaben zu korrigieren. Da ein Wizard aber immer noch seine spezifische Aufgabe abarbeitet, ist seine Flexibilität stark eingeschränkt. Assistenten, wie die aus Microsoft Word bekannte Büroklammer, dagegen beobachten zunächst das Verhalten des Benutzers und bieten dann kontextsensitive Hilfe an. Am komplexesten sind letztendlich die adaptiven Hilfesysteme, welche sowohl Informationen über den Kontext, die auszuführende Aufgabe und den aktuellen Arbeitsbereich des Programms als auch den Kenntnisstand des jeweiligen Benutzers verwenden, um genau die Hilfestellung zu liefern, die der Benutzer in der jeweiligen Situation am Besten brauchen kann. Höher entwickelte, grafische Arten von Benutzersupport stellen den Entwickler aber jeweils erneut vor die Frage, wie er die Präsentation der Benutzerunterstützung am Besten umsetzt. Bei grafischen Benutzerunterstützungen muss festgelegt werden, ob diese den ganzen Bildschirm oder nur einen Teil davon einnehmen soll, oder, ob diese in einem eigenen Fenster angezeigt werden soll. Außerdem muss an dieser Stelle auch entschieden werden, wie Pop-ups, Hilfesymbole und Buttons für das Navigieren durch die Hilfe verwendet werden sollen.

2.2 Implementierungsdetails

Auch bei der Frage wie die Benutzerunterstützung implementiert werden soll, steht der Entwickler vor vielen kleinen Einzel-Fragestellungen und einer ebenso großen Anzahl von Entscheidungsmöglichkeiten. So muss er sich beispielsweise entscheiden, ob die Daten des Benutzerunterstützungssystems als eine einzige Datei, als mehrere hierarchisch geordnete Dateien oder als Datenbank organisiert werden sollen. Zudem muss er sich u.a. auch bewusst machen, welche Ressourcen, wie beispielsweise Bildschirmfläche, Arbeitsspeicher oder Bandbreite, zur Verfügung stehen, ob die Hilfe nun eine eigene Anwendung oder nur ein Betriebsystem-Kommando sein soll und wie flexibel und erweiterbar das Hilfe-System werden soll.

3. Leitlinien für die Entwicklung von Benutzerunterstützung

Aus den vorangegangenen Ausführungen über die präsentationsspezifischen und implementierungstechnischen Anforderungen und Möglichkeiten, die es bei Benutzerunterstützungssystemen gibt, lassen sich einige Leitlinien für dessen Entwicklung ableiten. Erstens wird deutlich, dass die Benutzerunterstützung, besonders im Fall von kontextsensitiven Systemen, sehr stark auf die jeweilige Situation beim Ausführen des Programms bezogen sein und in jedem Fall passend zu allen Situationen und Funktionen des Programms entwickelt sein muss. Daher ist es sehr sinnvoll, die Benutzerunterstützung nicht erst nach der Fertigstellung des Programms hinzuzufügen, sondern diese gleichzeitig mit dem Programm zu entwickeln. Neben dieser allgemeineren Regel hat der Entwickler auch spezielle Leitlinien für die Präsentation und die Implementierung zu beachten, wobei er dem Inhalt und dem Kontext, also den Präsentationsaspekten, der Hilfefunktion mehr Beachtung schenken sollte als den technischen Aspekten bzw. den Implementierungsdetails. Auf der Präsentationsseite muss der Entwickler selbstverständlich darauf achten, dass die Benutzerunterstützung auch zum Kontext, in dem sie benötigt wird, passt und entsprechend eine angemessene Art der Benutzerunterstützung wählen. Neben der Frage, welche Benutzerunterstützung angemessen ist, muss auch erörtert werden, auf welche Weise die Benutzerunterstützung angezeigt wird, also welchen Anteil am Bildschirm die Benutzerunterstützung einnehmen soll und in wie weit Pop-ups, Hilfesymbole, spezielle Navigationsbuttons usw. verwendet werden sollen. Die Benutzerunterstützung soll auch stets gleich gestaltet sein, möglichst keine größeren Textblöcke beinhalten und dem Benutzer besser Bedienungsanweisungen geben, als das Programm zu beschreiben. Es ist auch wichtig, den Benutzer durch Feedback immer über den aktuellen Zustand des Programms zu informierem, was allerdings unaufdringlich, z.B. über kurze Texte in einer Statusleiste, geschehen sollte. Bei der Implementierung der Benutzerunterstützung muss zunächst entschieden werden, wie der innere Aufbau ist, also beispielsweise, ob die Benutzerunterstützung eine eigenständige Anwendung oder nur eine Menge von Betriebssystem-Kommandos sind oder, ob die Daten hierarchisch, in einer einzelnen Datei oder als Datenbank organisiert werden. Zudem muss man bei der Implementierung auch immer bedenken, welche Ressourcen, wie z.B. Arbeitsspeicher, Bildschirmplatz oder Bandbreite zur Verfügung stehen. Insbesondere wird hier aber auch über die Flexibilität des Programms zur Benutzerunterstützung entschieden und der Grundstein für dessen spätere Erweiterbarkeit gelegt.

Verwendete Quellen:

http://www.hcibook.com/e3/chapters/ch11/ [11.11.2007]

http://www.hcibook.com/e3-docs/slides/notes-pdf/e3-chap-11-6up.pdf [11.11.2007]

http://www.medien.ifi.lmu.de/lehre/ws0708/mmi1/mmi2a.pdf [11.11.2007]