Benutzerschnittstellen zwischen Exploration und Expertise
Inhaltsverzeichnis
Meine Motivation für diesen Artikel ist es, meine Perspektive auf den Entwurf von Benutzerschnittstellen zu formulieren und damit einen Satz an möglichst präzisen Werkzeugen zu definieren, mit denen ich die von mir selbst geschaffenen Benutzerschnittstellen reflektieren kann. Unzufriedenheit mit verschiedenen Benutzerschnittstellen führt mich zu der Frage, wie eine gute Strategie für die Implementierung von Benutzerschnittstellen aussehen kann. Eine Strategie die meine Freude an den von mir implementierten Anwendungen vergrößert und deren Nutzen für andere maximiert.
Das Spektrum #
Bei der Benutzung unterschiedlicher Benutzerschnittstellen lässt sich ein Spektrum in Gestaltung und Interaktionsform beobachten. An dem einen Ende des Spektrums stehen Benutzerschnittstellen, die mit Piktogrammen, beschreibenden Texten und übersichtlichem grafischem Layout leicht zu bedienen sind und auch bei seltener Nutzung keine Hürden in den Weg stellen. Am anderen Ende stehen solche, die mit einer maximierten, oft textorientierten Arbeitsfläche und einer Vielzahl an konfigurierbaren Tastaturbefehlen sehr effizientes Arbeiten erlauben. Dabei kann es auch durchaus vorkommen, dass eine Anwendung Benutzerschnittstellen beider Extreme mitbringt. Die beiden Enden des Spektrums nenne ich hier zugänglich und avanciert.
Die folgende Tabelle assoziiert verschiedene Begriffe mit den beiden Enden des Spektrums.
Zugänglich | Avanciert |
---|---|
sichtbar | verdeckt |
entdecken | wissen |
selbsterklärend | platzsparend |
Berührung, Maus | Tastatur |
Grafik | Text |
interaktiv | automatisiert |
menschenlesbar | maschinenlesbar |
seltene Nutzung | häufige Nutzung |
alltägliche Metaphern | abstrakte Konzepte |
aufwändig | flexibel |
Exploration | Expertise |
Die etablierten Paradigmen für Benutzerschnittstellen ordnen sich irgendwo auf diesem Spektrum ein.
Die Interaktion #
Die unterschiedlich gestalteten Elemente einer Benutzerschnittstelle fordern zu unterschiedlichen Wegen der Interaktion auf. Das eine Element ist vollständig sichtbar und kann mit einer Fingerberührung oder der Maus bedient werden. Ein anderes ist nur teilweise zu sehen und muss durch einen Mausklick oder einen Tastaturbefehl erst aufgeklappt werden, bevor es genutzt werden kann. Wieder andere sind gar nicht sichtbar und können nur durch eine Tastenkombination aktiviert werden.
Einige Anwendungen nutzen Modes, mit denen der Benutzer eine bestimmte Gruppe zulässiger Interaktionen aktiviert oder deaktiviert. Einige Texteditoren nutzen Modes intensiv. Eine Form von Modes sind auch Werkzeuge für die Maus, die oft in Grafikprogrammen zum Einsatz kommen. Einige Anwendungen erlauben es, eine Reihe von Interaktionen in Makros aufzuzeichnen und damit eigene neue Interaktionen zu schaffen. Die unterstützten Befehlszeilenargumente eines Programms gehören auch zur Benutzerschnittstelle. Bei Programmen ohne grafische Benutzeroberfläche sind sie häufig der einzige Weg, auf dem der Benutzer mit der Anwendung interagiert. Manche Funktionen einer Benutzerschnittstelle können nur durch die Eingabe von textbasierten Befehlen in einer Konsole genutzt werden. Und zuletzt implementieren einige Anwendungen auch Funktionen, die gar nicht interaktiv, sondern nur durch die Nutzung einer Programmierschnittstelle (API) zu Verfügung stehen. Hier verschwimmt die Grenze zwischen Anwendung und Programmierbibliothek oder Programmierumgebung. Im weiteren Sinne sind auch Netzwerkschnittstellen und Dateiformate Teil der Benutzerschnittstelle. Werden selbstbeschreibende textbasierte Formate für Konfiguration und Datenaustausch genutzt (z. B. JSON oder XML) und sind diese dokumentiert, kann ein kundiger Benutzer die Anwendung leichter in eigene Abläufe integrieren.
Wege der Interaktion:
- Schaltflächen mit Symbolen, direkt sichtbare Beschriftungen
- Menüpunkte zum Aufklappen, Dialoge
- Tastaturbefehle
- Modes
- Makros
- Befehlszeilenargumente
- Befehlszeile, Skriptsprache
- Netzwerkschnittstelle
- Dateiformat
- Programmierschnittstelle
So wie Software ganz allgemein in unterschiedlichsten Anwendungsfällen genutzt wird, so wird auch ihre Benutzerschnittstelle und damit die unterstützten Interaktionswege in einer Vielzahl von Anwendungsfällen genutzt. Dabei passt jeder Interaktionsweg mehr oder weniger gut zu einem konkreten Anwendungsfall.
Ein Anwender der zweimal im Jahr mit der Webcam seines Notebooks ein Objekt aufnimmt, um es als Vorlage für einen 3D-Druck zu verwenden, freut sich über eine übersichtliche Benutzerschnittstelle mit ein paar eindeutig gekennzeichneten grafischen Schaltflächen. Er kann auf verschachtelte Menüs und Tastaturbefehle gut verzichten. Die gleiche Anwendung wird aber vielleicht auch von Designern in einem Studio als Teil eines optimierten Arbeitsablaufs genutzt. Da kostet jeder unnötige Zeitaufwand Geld und eine Schnittstelle zur effizienten Bedienung und Integration mit anderen Softwarepaketen könnte einen großen Mehrwert bieten.
Von den vielen üblichen Interaktionswegen hat jeder seinen ganz eigenen Charakter. Man könnte sie nach verschiedenen Kriterien ordnen.
Eingabemethode #
Das folgende Diagramm zeigt einige Möglichkeiten zur Klassifikation nach Eingabemethode dar.
Präsentation #
Mögliche Klassifikationskriterien nach der Ausgabeform sind im folgenden Diagramm dargestellt.
Konfiguration #
Wenn ein Interaktionsweg parametrisierbar ist, z. B. die Tasten für eine Tastenkombination, kann man die Art der Konfiguration zur Klassifikation nutzen. Das folgende Diagramm zeigt dafür einige Optionen.
Aktivierung #
Ob ein Interaktionsweg zu einem bestimmten Zeitpunkt verfügbar ist oder nicht wird durch seine Aktivierung gesteuert. Interaktionswege können auch nach der Art der Aktivierung geordnet werden.
Das Einsatzfeld #
Versucht man die konkreten Anwendungsfälle, die man sich für eine Benutzerschnittstelle mit seinen verschiedenen Elementen vorstellen kann, zu verallgemeinern, kommt man zu einem Einsatzfeld. Das Einsatzfeld für eine Benutzerschnittstelle besteht nicht nur aus ein oder zwei konkreten Anwendungsfällen, sondern beschreibt die wesentlichen, gemeinsamen Parameter und Randbedingungen einer ganzen Reihe von üblichen Anwendungsfällen. Ein Einsatzfeld könnte mit den folgenden Dimensionen charakterisiert werden.
- Häufigkeit der Nutzung
- Aufwand für Einarbeitung
- Gewinn oder Ersparnis durch Nutzung
- Integration in externe Arbeitsabläufe oder isolierte Ausführung
- Abstraktionswillen und -vermögen der Benutzerinnen und Benutzer (Power User vs. DAU)
Einsatzfelder können auch mit einer Persona1 für den erwarteten Anwender und seine Tätigkeit beschrieben werden. Die Persona dient hier als Kommunikationsmittel, um einen Stereotyp zu vermitteln. Sie hilft dabei, das Einsatzfeld intuitiv verständlich zu machen.
Aus dem Einsatzfeld kann man ableiten, welche Interaktionswege für die Benutzerschnittstelle sinnvoll sein könnten. Je konkreter ein Einsatzfeld beschrieben ist, desto leichter fällt es, eine minimale Anzahl erforderlicher Interaktionswege auszuwählen. Das Spektrum der Interaktionswege wird dabei stark eingegrenzt. Üblicherweise, um den Aufwand für die Implementierung der Benutzerschnittstelle zu beschränken.
Das Einsatzfeld ist Teil der Anforderungen, die als Grundlage für die Entwicklung einer Benutzerschnittstelle verwendet werden. Dabei besteht die Gefahr das Einsatzfeld zu schmal einzuschätzen und damit das Spektrum zu eng zu fassen. Dies führt dazu, dass die Software in weniger Anwendungsfällen effizient genutzt werden kann, als es für die Funktionalität der Software sinnvoll wäre. Die Software behält ungenutztes Potential und der Wert der Anwendung wird reduziert.
Der Konflikt #
Da die Kreativität der Menschen kaum Grenzen kennt und Anwendungen immer auf eine zur Entwicklungszeit nicht antizipierten Weise eingesetzt werden, könnte man zu dem Schluss kommen, dass es grundsätzlich falsch ist, das Spektrum der unterstützen Interaktionen einzugrenzen. Jede Anwendung sollte also das ganze Spektrum der verschiedenen Interaktionswege unterstützen. Aus dieser Perspektive stellen also Anwendung ein Optimum dar, die grafische Bedienelemente, konfigurierbare Tastaturbefehle, flexibles grafisches Layout, Automatisierungsmöglichkeiten und Integrationsschnittstellen anbieten.
Da die Ressourcen für eine Implementierung aber begrenzt sind, wird häufig nur ein kleiner Teil des Spektrums unterstützt. Dafür wird mit Hilfe des erwarteten Einsatzfeldes ein Schwerpunkt im Spektrum gewählt.
Steht eine niedrige Lernkurve und eine breite Anwendergruppe im Vordergrund, entstehen dabei oft einfache aber unflexible Benutzerschnittstellen. Für Anwenderinnen und Anwender, die eine schnelle Auffassungsgabe besitzen und nach hoher Effizienz bei der Mensch-Maschine-Interaktion suchen, ist es aber besonders frustrierend, wenn die Benutzerschnittstelle nur das zugängliche Ende des Spektrums unterstützt. Und das obwohl avancierte Interaktionswege oft mit relativ wenig Aufwand implementiert werden könnten.
Ein Beispiel sind aktuelle Smart-TV-Apps großer Video-Plattformen oder Streaming-Dienstleister. Sie unterstützen oft nicht einmal eine Bluetooth-Tastatur für die Eingabe in der Suche. Und das obwohl sowohl die Hardware als auch das Betriebssystem des Fernsehers Bluetooth-Tastaturen unterstützen.
Und ist der Fokus umgekehrt eine spezialisierte Nutzerschaft, die tiefes Vorwissen mitbringt, fehlen Möglichkeiten der explorativen Nutzung oft vollständig, was wiederum Neulinge, die einen einfachen Zugang benötigen, im Anwendungsfeld behindert.
Ein Beispiel dafür könnten die äußerst leistungsfähigen und vielseitigen Befehlszeilenwerkzeuge ImageMagick2 und FFmpeg3 sein. Ihr Funktionsumfang erschließt sich erst durch sorgfältiges und geduldiges Studium der ausführlichen Referenzhandbücher.
Anwendungen die sich auf das avancierte Ende des Spektrums konzentrieren, bieten jedoch einen Vorteil gegenüber denen die nur das zugängliche Ende des Spektrums bedienen: Sie lassen die Möglichkeit offen, unabhängige Frontends zu entwickeln. Dies sind zusätzliche Anwendungen mit einer grafischen Benutzeroberfläche, die keine eigene Funktionalität besitzen, sondern Interaktionen umformen und an die eigentliche Anwendung durchreichen. Ein Beispiel dafür ist FotoKilof4 für ImageMagick.
Es gibt auch Anwendungen, die es schaffen selbst ein breites Spektrum abzudecken. Ein beeindruckendes Beispiel ist die Open Source Medienproduktionssuite Blender5. Blender bietet Symbole, Tooltips, Tastaturbefehle und Programmierbefehle in der UI, besitzt ein flexibles Panel-System für das Layout der Oberfläche und eine integrierte Programmierumgebung für Automatisierung und Erweiterung. Dabei muss man allerdings berücksichtigen, dass die frühen Anfänge von Blender in das Jahr 1994 zurückreichen. Und es wird aktuell nicht nur von einer großen Community von Freiwilligen weiterentwickelt. Es beteiligen sich auch mehrere große Unternehmen, die von Blender profitieren. Daher verfügt das Projekt über eine hohe Reife. Und vergleichsweise viele Ressourcen fließen in die Implementierung.
Ökonomisch motivierte Projekte neigen dazu, das zugängliche Ende des Spektrums zu betonen und das avancierte Ende zu vernachlässigen. Technisch motivierte Projekte neigen zum umgekehrten Extrem.
Der Aufwand für den Entwurf und die Implementierung einer guten zugänglichen Benutzeroberfläche ist in der Regel ungleich größer als der einer avancierten Schnittstelle. Das ist darin begründet, dass die zweidimensionalen Beziehungen und Beschränkungen einer grafischen Oberfläche inhärent komplexer sind, als eindimensionale Ein- und Ausgaben auf einer Befehlszeile. Dazu kommen eine Vielzahl von zusätzlichen Parametern und Freiheitsgraden wie Symbole, Farben, Schriftstile, Rahmenformen und Leerräumen. Diese fordern sorgfältig abgestimmte Entscheidungen, die bei einer avancierten Schnittstelle nicht notwendig sind.
Weil der Aufwand dafür relativ gering ist, werden Befehlszeilenargumente und Programmierschnittstellen von den Entwicklern manchmal auch einfach nebenbei und ohne explizite Anforderungen implementiert. Dies dient häufig dazu, die Entwicklung zu vereinfachen und die Testbarkeit zu verbessern. Wenn Projekte durch Projektleiter mit einem detailliertem Anforderungsmanagement und im Rahmen eines engen Budgets gesteuert werden, erhalten die Entwickler jedoch selten genug Spielraum, um solche “Goldenen Wasserhähne” umzusetzen. Und das obwohl der Aufwand dafür verhältnismäßig gering wäre. Das liegt nicht zuletzt daran, dass den steuernden Personen der Mehrwert von avancierten Schnittstellen häufig unbekannt ist.
Der Kompromiss #
Offensichtlich lässt sich der Konflikt nicht in jedem Projekt ohne weiteres lösen. Aber einige Daumenregeln helfen dabei, das Thema im Blick zu behalten und die Weichen dafür zu stellen, die möglicherweise wertvolle Funktionalität einer Anwendung in möglichst vielen Anwendungsfällen nutzen zu können.
- In der Phase der Anforderungsanalyse sollte ein Einsatzfeld definiert oder eine Persona beschrieben werden.
- Mit Hilfe des Einsatzfeldes oder der Persona sollten im Spektrum der Interaktionswege bewusst Prioritäten gesetzt werden.
- Alle möglichen Interaktionswege sollten frühzeitig in der Softwarearchitektur berücksichtigt werden, auch wenn nicht beabsichtigt ist, sofort alle vollständig zu implementieren.
- Es sollte ein stabiles gemeinsames Konzept für alle Interaktionen (z. B. Bearbeiten, Einfügen, Speichern) entwickelt werden, welches von allen Interaktionswegen (z. B. Maus, Tastatur, HTTP-API, Skriptsprache) genutzt werden kann und von Frameworks unabhängig ist. Dadurch fällt die Implementierung zusätzlicher Interaktionswege zu einem späteren Zeitpunkt leichter.
Wenn das Einsatzfeld nicht gut abgeschätzt werden kann, und anfänglich trotzdem nur wenige Interaktionswege implementiert werden können, sollte die Implementierung zusätzlicher Interaktionswege aber unbedingt vorbereitet und erleichtert werden. Sogar dann wenn man der Meinung ist, das Einsatzfeld gut abschätzen zu können, sollte die Tür für zusätzliche Wege der Interaktion offen bleiben. Denn nur dann kann zu einem späteren Zeitpunkt das unterstützte Spektrum mit geringerem Aufwand verbreitert und damit das Einsatzfeld vergrößert werden.
Der folgende Gedanke kann zur Motivation dieser Strategie dienen: Gerade nicht vorhergesehene Einsatzszenarien können für einen hohen Nutzen bei der Anwenderin und dem Anwender sorgen. Aber unvorhergesehene Einsatzszenarien setzen oft ebenso unvorhergesehene Interaktionswege voraus. Eine gute Integrationsfähigkeit und Interoperabilität von Anwendungen können eine breitere Nutzerschaft und auch eine erhöhte Nutzerbindung bewirken.
-
Persona in der Wikipedia: https://de.wikipedia.org/wiki/Persona_(Mensch-Computer-Interaktion) ↩︎
-
ImageMagick: https://imagemagick.org ↩︎
-
FFmpeg: https://ffmpeg.org ↩︎
-
FotoKilof: https://github.com/TeaM-TL/FotoKilof ↩︎
-
Blender: https://blender.org ↩︎