Object-Action Interface Model

Stefan Freund, 28.11.2004


Die Vermittlung von Befehlen an einen Computer kann mit der menschlichen Sprache verglichen werden denn auch hier wird eine komplexe Grammatik verwendet. In der menschlichen Sprache werden ein oder mehere Objekte werden mit einem Verb in Verbingung gesetzt. Das Objekt wird bei der Kommunikation mit dem Computer von einem Datensatz dargestellt, z.B. ein Textdokument oder eine Audio Datei. Das Verb ist eine Aktion die der Benutzer mit diesem Objekt ausführen kann, z.B. speichern oder löschen. Auch Adjektive und Adverben können integriert werden als Parameter des Objekts oder der Aktion z.B. abspielen in 2-facher Geschwindigkeit. Bei der Interaktion mit Objekten gibt es zwei verschiedene Arten von Schnittstellen die sich in der Informatik entwickelt haben:

Das Action-Object Interface Model

Diese Art der Grammatik wird auch als modal bezeichnet. Der Benutzer wählt zuerst eine Aktion aus und dann ein Objekt was diese Aktion ausführen soll. Anders gesehen wechselt der Benutzer mit dem Auswählen einer Aktion in einen anderen Modus in dem er nun mit jedem Objekt die ausgewählte Aktion ausführen kann, bis er die Aktion beendet oder eine andere wählt. Der Vorteil dieser Methode ist dass der Benutzer vollen Zugriff auf alle ihm zu Verfügung stehenden Funktionen hat, diese allerdings schon kennen muss denn schon wegen der Anzahl an verschiedenen Befehlen können sie dem Benutzer nicht visuell angeboten werden. Dieser Art der Interaktion wurde vor allem in den früheren Betriebssystemen verwendet bei denen die Eingabe noch über eine Kommandozeile ging. Dies führte allerdings dazu, dass der Benutzer zwar eine sehr große Freiheit in der Interaktion mit Objekten besaß, aber nur die wenigsten wichtigsten Befehle wirklich kannte und anwenden konnte. Ein weiteres Problem ist: Wenn für eine Aktion ein Objekt ausgewählt wird für das die gewünschte Aktion nicht zur Verfügung steht. Der Benutzer bekommt in diesem Fall eine Fehlermeldung und wenn überhaupt eine Hilfe erscheint dann ist dies eine lange Liste die die Parameter des verwendeten Befehls erklärt. Eine vollständige Liste von Objekten, auf die die Funktion angewendet werden kann, kann meistens wegen der immensen Länge nicht visuell mit angeboten werden.

Das Object-Action Interface Model

Als immer neuerere Betriebsysteme und Benutzerschnittstellen entwickelt wurden, wurde mehr und mehr Wert darauf gelegt dem Benutzer einen Arbeitsplatz zu schaffen indem er intuitiv agieren konnte. Dies geschah indem man sich an der realen Welt orientierte und auch den Aufbau der Interaktion zwischen Benutzer und Computer näher an der realen Welt entwickelte. Der Gedanke war: In der realen Welt nimmt ein Mensch einen Gegenstand und führt dann damit eine Aktion aus. Abhängig von dem Gegenstand den der Mensch ausgewählt hat, gibt es verschiede Aktionen die ihm offen stehen. Der Benutzer, der sich z.B. einen Fussball genommen hat, wird nicht auf die Idee kommen damit zu schreiben oder ihn zu kochen. Der Benutzer kennt, aus seiner bisherigen Erfahrung eine Sammlung an Aktionen die er mit dem Objekt durchführen kann und natürlich auch welche davon nicht in Frage kommen. Dieser Ansatz ist der nicht modale, da alle Aktionen des Benutzers vom Objekt abhängen und der Benutzer nicht in einen Modus geht in dem eine Aktion vorbestimmt ist. Diese Art von Schnittstelle wird in den meisten Betriebssystemen mit GUI verwendet, z.B. Linux oder Windows. Der Benutzer wählt zunächst ein Objekt aus und erhält dann nach einem Rechts-Klick eine Liste von Aktionen die er mit dem Objekt ausführen kann. Damit sich der Benutzer schneller in dieser Liste zurecht finden kann sind die zuletzt benutzten oder wahrscheinlichsten Aktionen oben aufgelistet. Beim Gestalten dieser Listen wird darauf geachtet die Aktionen gleicher Reihenfolge darzustellen wie bei ähnlichen Objekten. Der Benutzer muss so nur einmal die Reihenfolge bei der Auswahl der Aktionen lernen. Aktionen die Situationsbedingt nicht ausführbar sind werden nicht von der Liste gestrichen sondern sind ausgegraut und damit nicht vom Benutzer selektierbar. Damit wird dem Benutzer klar gemacht, dass es diese Aktion für dieses Objekt gibt aber sie momentan nicht verfügbar ist.

Bei der Entwicklung einer Benutzerschnittstelle nach dem Object-Action Interface Model muss man sich als aller erstes im Klaren sein wie der Benutzer die betroffenen Objekte in der realen Welt sieht. Deswegen wird für das Design der Benutzerschnittstelle eine Hierarchie der Objekte und Aktionen benötigt. Diese sollte möglichst mit der realen Welt übereinstimmen ansonsten kann es dazu führen dass der Benutzer sich nicht zurecht findet oder andere Ergebnisse erwartet. Bei einem Textdokument z.B. weiß der Benutzer, aus seinen Erfahrungen mit der realen Welt, er kann damit grundsätzlich alles machen was man mit Papier machen kann z.B. beschreiben, verschicken und wegwerfen. Diese Aktionen sind dem Benutzer schon bekannt und sollten mit einer möglichst eindeutigen Bezeichnung versehen werden. "Löschen" für das wegwerfen eines Textdokuments ist, von der Bezeichnung her, fast schon zu weit entfernt. Zusätzlich zu diesen Aktionen können nun Aktionen aufgelistet werden die nicht intuitiv vom Benutzer bedacht werden z.B. kopieren, speichern, drucken und Verknüpfungen erstellen. Der Benutzer erlernt die Funktionen und wird sie zukünftig auch bei allen anderen Arten von "Papier"-Objekten erwarten. Auch bei den Aktionen tritt eine solche Hierarchiestruktur auf. Z.B. sind die Aktionen: Textdokument Verknüpfung erstellen, per Email versenden oder auf einen externen Datenträger abspeichern, alle unterschiedliche Aktionen aber der Benutzer sieht nicht den technischen Aspekt sondern, dass er das Dokument an Andere abgibt, somit "sendet". Unter Microsoft windows wurden deshalb die gerade genannten Aktionen zusammengefasst unter der Aktion "Senden an ->". Hier steht der Gedankengang des Benutzers im Vordergrund der ein Objekt nimmt, eine Aktion damit machen möchte und dann sieht dass diese Aktion weitere Möglichkeiten bietet und genauer spezifiziert werden muss. Dem Benutzer Aktionen zu geben die von den hierarischen Modellen der realen Welt abweichen führt meistens dazu, dass der Benutzer nicht sicher ist was genau passieren wird wenn er die Aktion auswählt. Ein gutes Beispiel ist die Funktion "Play in Winamp" Funktion eines Audioplayers, die bei jedem Ordner angezeigt wird.

Theories in computer human interaction (http://www.cs.umd.edu/class/fall2002/cmsc838s/tichi/oai.html)

A summary of Principles for User-Interface Design (http://www.sylvantech.com/~talin/projects/ui_design.html)

User Interface Design & Development (http://www.sims.berkeley.edu/courses/is213/s01/lectures/Lecture6.ppt)