Zurück zur Übersicht

Das Keystroke-Level Model

Erhardt Christoph

Einführung und Einordnung

Das Keystroke-Level Model (KLM) ist eine vereinfachte Variante des GOMS-Modells. GOMS steht für 'Goals', 'Operators', 'Methods' und 'Selection Rules'. Das GOMS-Modell kann verwendet werden um aufzuzeigen, welche Alternativen ein Nutzer bei einem bestimmten Interface hat um gewisse Aufgaben zu erledigen. Geeignet ist das Modell allerdings nur für kleine Aufgaben, die nicht viel kreatives Denken erfordern, wie z.B. das Verschieben eines Wortes in einem Text. Dazu muss zuerst das Ziel (Goal) definiert werden und anschließend die alternativen Lösungswege (Methods) aufgelistet werden. Diese wiederum müssen in Teilziele zerlegt werden (eventuell wieder mit mehreren Alternativen), bis die Aufgabe auf atomare Operationen (Operators) zurückgeführt ist. Zusätzlich gibt es noch Kriterien, nach denen der Nutzer einen Lösungsweg wählt (Selection Rules).

Die Operatoren des KLM

Folgende Operatoren gibt es:
K (Keystroke): Das Drücken einer Taste auf der Tastatur
P (Point): Den Cursor mit der Maus an einen Punkt auf dem Bildschirm bewegen
B (Button): Eine Maustaste drücken oder loslassen (ein Klick besteht aus zwei B)
H (Home): Eine Hand von der Tastatur zur Maus bewegen bzw. von der Maus zur Tastatur
M (Mental): Denken/Überlegen was als nächstes zu tun ist
R (Response): Auf eine Reaktion des Systems warten
D (Draw): Zeichnen

Mit Hilfe des Keystroke-Level Models lassen sich anschließend Vorhersagen treffen, wie lange ein geübter Nutzer benötigen um einen Lösungsweg bis zum Ziel auszuführen, unter der Annahme, dass er keine Fehler macht. Dazu wird jedem Operator eine Dauer zugewiesen. Anschließend müssen die Zeiten lediglich addiert werden um eine Vorhersage für die Dauer zum Erreichen des Ziels zu erhalten.

Für die Zeiten, die den verschiedenen Operatoren zugewiesen werden, gibt es Tabellen mit empirisch bestimmten Werten. Ausnahmen sind die Operatoren R und D. Für diese Operatoren ist eine Generalisierung nicht möglich und die Werte müssen in den Anwendungsfällen gesondert bestimmt werden.

Üblich sind folgende Werte:
K: 280ms
P: 1100 ms
B: 100 ms
H: 400 ms
M: 1200 ms

Platzierung des Mental-Operators

Ein etwas schwieriger Aspekt bei der Zerlegung eines Lösungsweges in Operatoren stellt das Setzen von M-Operatoren dar. Um diesen Aspekt zu erleichtern gibt es ein Verfahren, das mit Hilfe von Regeln angibt, wo ein M-Operator gesetzt werden muss und wo keiner nötig ist:

Als Beispiel soll hier ein Lösungsweg für das Windows-NT Login mit dem Namen "MAX" und dem Passwort "XAM" dienen:
1. H:      Hände an die Tastatur legen      0,4 s
2. 3*K:      Strg-Alt-Entf drücken      3* 0,28 s
3. 3*K:      M A X eingeben      3* 0,28 s
4. K:      TAB drücken      0,28 s
5. 3*K:      X A M eingeben      3* 0,28 s
6. H:      Eine Hand an die Maus legen      0,4 s
7. P:      Cursor auf OK      1,1 s
8. BB:      Klick      0,2 s

Regel 0: M überall dort setzen, wo es nötig sein könnte:

Setze ein M vor jedes K oder B, das nicht Teil einer längeren Kette von Eingaben (z.B. eines Strings) ist. Setze ein M vor jedes P, das einen Befehl auswählt oder den Anfang einer Sequenz von direkten Manipulationsoperationen, die zu einer kognitiven Einheit gehören, darstellt.

Das Beispiel von vorhin würde anschließend so aussehen:
1. H:      Hände an die Tastatur legen      0,4 s
2. M      1,2 s
3. 3*K:      Strg-Alt-Entf drücken      3* 0,28 s
4. M      1,2 s
5. 3*K:      M A X eingeben      3* 0,28 s
6. M      1,2 s
7. K:      TAB drücken      0,28 s
8. M      1,2 s
9. 3*K:      X A M eingeben      3* 0,28 s
10. H:      Eine Hand an die Maus legen      0,4 s
11. M      1,2 s
12. P:      Cursor auf OK      1,1 s
13. M      1,2 s
14. BB:      Klick      0,2 s

Regel 1: Löschen der Ms vor vollständig vorausgeahnten Operatoren:

Wenn ein Operator hinter einem M bereits vollständig im Operator vor dem M vorausgeahnt wird, dann lösche das M (z.B. PMK wird zu PK oder PMBB wird zu PBB).
"Vollständig vorausgeahnt" bedeutet, dass der Operator vor dem M ähnlich lange benötigt wie das M selbst z.B. P benötigt 1100 ms und M benötigt 1200 ms. Man geht dann davon aus, dass der Nutzer sich bereits während des P-Operators auf die nächste Aktion vorbereitet.
Im obigen Beispiel muss dieser Regel nach das M an der Stelle 13 gelöscht werden.

Regel 2: Löschen der Ms innerhalb kognitiver Einheiten:

Wenn eine Kette von MKs und MBs zu einer kognitiven Einheit gehört, dann lösche jedes M bis auf das erste. Dies ist z.B. der Fall, wenn der Nutzer eine Reihe von Tastenkürzel als Einheit verwendet. Ein Beispiel wäre, wenn der Nutzer in einer Textverarbeitung ein markiertes Wort duplizieren will und dazu STRG+C, STRG+V, STRG+V drückt. Diese Kombination wird dann mit MKKK repräsentiert und nicht mit MKMKMK, da diese 3 Tastenkürzel eine kognitive Einheit bilden.
Diese Regel lässt sich im obigen Beispiel an den Stellen 6 und 8 anwenden, da das Eingeben von Name und Passwort zusammen mit dem TAB dazwischen eine kognitive Einheit bildet.

Regel 3: Löschen der Ms vor aufeinanderfolgenden Terminatoren:

Wenn ein K ein redundanter Terminator ist (z.B. das Ende eines Befehls direkt hinter dem Ende seiner Argumente), dann lösche das M davor.
Im obigen Beispiel lässt sich argumentieren, dass diese Regel auf das M an Stelle 11 zutrifft. An dieser Stelle ist die Eingabe der Argumente (Name und Passwort) bereits abgeschlossen und das Klicken auf OK stellt einen redundanten Terminator dar, der den Befehl abschließt.

Regel 4: Löschen der Ms, die einen Befehl abschließen:

Wenn ein K das Ende eines konstanten Strings ist (z.B. eines Befehls) dann lösche das M davor. Wenn das K jedoch einen variablen String beendet, (z.B. ein Argument) dann muss das M davor stehen bleiben.
Diese Regel findet im obigen Beispiel keine Anwendung.

Regel 5: Löschen überlappender Ms:

Wenn ein M direkt neben einem R liegt, kann es entfallen.
Da im obigen Beispiel kein R vorkommt, kann diese Regel natürlich nicht angewendet werden.

Das Ergebnis ist demnach:
1. H:      Hände an die Tastatur legen      0,4 s
2. M      1,2 s
3. 3*K:      Strg-Alt-Entf drücken      3* 0,28 s
4. M      1,2 s
5. 3*K:      M A X eingeben      3* 0,28 s
6. K:      TAB drücken      0,28 s
7. 3*K:      X A M eingeben      3* 0,28 s
8. H:      Eine Hand an die Maus legen      0,4 s
9. P:      Cursor auf OK      1,1 s
10. BB:      Klick      0,2 s
-------------------------------------------------------------
Ergebnis:      7,3 s

In der Praxis sind diese Regeln nicht vollkommen ausreichend um eindeutig festzulegen, wo ein M gesetzt werden muss. Diese Regeln können auch nur als Leitfaden dienen. Darum eignet sich das KLM eher um verschiedene Interfaces relativ zueinander zu vergleichen als dazu, absolute Bearbeitungsdauern zu bestimmen. Dies gilt natürlich auch nur unter der Annahme, dass der Vergleich von einer Person durchgeführt wird und diese Person konsistente Entscheidungen zum Setzen der Ms trifft.

Quellen und weitere Ressourcen

http://www.rpi.edu/~glasse/HCI-HOWTO/ar01s03.html
http://www.cc.gatech.edu/classes/cs6751_97_fall/projects/!rodney/HAR_KLM.html
http://www.collide.info/Lehre/DidaktikSeminar/BuA/page10.php
http://www.sju.edu/~jhodgson/gui/goms_keys.html
http://www.cs.umd.edu/class/fall2002/cmsc838s/tichi/printer/goms.html