# Keystroke-Level-Model

Das Keystroke-Level-Model (KLM) erlaubt es, Aussagen darüber zu treffen, wie lange ein Experte für die fehlerfreie Bearbeitung einer Aufgabe mit einem interaktiven Computersystem benötigt. Im Forschungsgebiet der Mensch-Computer-Interaktion zählt das KLM zu den meistverbreiteten Herangehensweisen und wird hauptsächlich auf Textverarbeitungsaufgaben angewandt. Um die benötigte Arbeitszeit vorherzusagen, wird eine Folge von Interaktionsschritten, eine sogenannte Methode, vorgegeben. Die Durchführungszeit ergibt sich dann aus der Summe der Operatoren der einzelnen Arbeitsschritte. Durch Anpassung des Modells an mobile Endgeräte und Touchscreens gilt das KLM auch heute noch als relevant.

## Struktur des Keystroke-Level-Models

Das Keystroke-Level-Model umfasst sechs Operatoren, von denen die ersten vier Operatoren als physisch-motorische Operatoren definiert werden. Hinzu kommen ein mentaler Operator und ein Operator, der die Antwortzeit des Systems repräsentiert.
* K (Tastenanschlag oder Mausklick): Dies ist der häufigste Operator. Er beschreibt jedoch nicht nur Buchstaben, sondern jeden einzelnen Tastendruck (bspw. wird ein Tastendruck auf die Hochstelltaste (SHIFT) als einzelne K-Operation gewertet). Die benötigte Zeit hängt von den motorischen Fähigkeiten des Benutzers ab und wird mittels einminütiger Schreibtests bestimmt, wobei die Testzeit durch die Gesamtzahl fehlerfreier Tastenanschläge geteilt wird.
* P (Zielerfassung auf einem Display mit Hilfe einer Maus): Diese Zeit ist abhängig von der Distanz zum Ziel und der Größe des Ziels. Ein Mausklick ist dabei nicht enthalten. Er zählt als separate K-Operation.
* H (Wechsel der Hand oder der Hände zwischen unterschiedlichen Eingabegeräten): Die Zeit für diesen Operator beinhaltet die Bewegung beim Wechsel von Eingabegeräten oder die Feinpositionierung der Hand.
* D (Zeichnen (manuell): n$_D$ geradlinige Segmente, die eine Gesamtlänge von D(n$_D$, l$_D$) cm haben): Dabei stellt n$_D$ die Anzahl der Liniensegmente und l$_D$ die Gesamtlänge der Liniensegmente dar. Dieser Operator ist sehr restriktiv, denn es wird vorausgesetzt, dass mit einer Maus gezeichnet wird, wobei das Zeichensystem den Cursor auf ein 0,56 cm großes Rechteck begrenzt. Die ermittelte Zeit für diesen Operator ist ein Durchschnittswert.
* M (mentale Vorbereitung zur Ausführung physischer Aktionen): Beschreibt die Zeit, die ein Benutzer für Denkprozesse oder für die Entscheidungsfindung benötigt. Die Anzahl von M-Operatoren in einer Methode hängt vom Wissensstand und Können des Benutzers ab. Heuristiken geben Auskunft darüber, an welcher Stelle in einer Methode ein M-Operator gesetzt werden muss. Wird beispielsweise mit der Maus ein Ziel angesteuert, so wird gewöhnlich auch ein Mausklick vorausgesetzt, weshalb kein M-Operator zwischen diesen beiden Operatoren benötigt wird. Punkt 2 erklärt die Heuristiken für das Setzen eines M-Operators.
* R (Antwortzeit des Systems): Die Antwortzeit hängt vom System, dem Kommando und dem Kontext des Kommandos ab. Es wird nur dann benötigt, wenn der Benutzer tatsächlich auf das System warten muss. Bereitet der Benutzer beispielsweise seine nächste physikalische Aktion vor (M), so wird nur der nicht-überlappende Teil der Antwortzeit für R benötigt, da der Benutzer die Antwortzeit für die M-Operation benötigt (zum Beispiel R von 2 Sekunden - M für 1,35 Sekunden = R von 0,65 Sekunden). Kieras schlägt eine Namensänderung des Operators zu W (Wartezeit) vor, um Verwirrung zu vermeiden. Sauro hingegen bevorzugt einen Test, der die Antwortzeit des Systems vorab bestimmt.
Nachfolgende Tabelle zeigt neben einem Überblick der Zeiten für die erwähnten Operatoren auch Zeiten für weitere von unterschiedlichen Autoren vorgeschlagene Operatoren.
| Operator | Zeit (Sekunden) |
| K | Gesamtzeit des Schreibtests geteilt durch die Gesamtzahl fehlerfreier Tastenanschläge Richtlinien: 0,08 (135 wpm: beste Schreibkraft) 0,12 (90 wpm: gute Schreibkraft) 0,20 (55 wpm: durchschnittliche Schreibkraft) 0,28 (40 wpm: durchschnittliche Schreibkraft (nicht Sekretär)) 0,50 (typing zufällige Buchstaben) 0,75 (Schreiben eines komplexen Codes) 1,20 (schlechteste Schreibkraft und nicht mit der Tastatur vertraut) |
| P | 1,1 |
| H | 0,4 |
| D | 0,9 n$_D$ + 0,16 l$_D$ |
| M | 1,35 |
| R | Systemabhängig |
| Weitere vorgeschlagene Operatoren ||
| B (Mausklick oder Loslassen der Maustaste) | 0,1 |
| Klick auf einen Button / Link | 3,73 |
| Pull-Down-Liste (Ohne Laden der Seite) | 3,04 |
| Pull-Down-Liste (Mit Laden der Seite) | 3,96 |
| Datumsauswahl | 6.81 |
| Ausschneiden & Einfügen (Tastatur) | 4,51 |
| Text in ein Textfeld schreiben | 2,32 |
| Scrolling | 3,96 |

## Methodik zum Setzen des M-Operators

Beim Setzen des M-Operators wird wie folgt vorgegangen:
Beginne mit einer Methode, die alle physischen Operatoren und Antwortoperationen umfasst.
Benutze Regel 0, um ein M-Operatoren zu platzieren. Iteriere für jedes M durch Regel 1 bis 4, um zu sehen, ob es entfernt werden sollte. :
| Regel 0 | Setze Ms vor alle K-Operatoren, die nicht Teil einer durchgehenden Zeichenkette sind (zum Beispiel Texte oder Zahlen). Setze Ms vor alle P-Operatoren, die Befehle wählen (keine Argumente). |
| Regel 1 | Wenn ein Operator nach einem M bereits im Operator vor dem M vorausgeahnt werden kann, dann entferne das M (zum Beispiel PMK -> PK). |
| Regel 2 | Gehört eine Kette von MKs zu einer kognitiven Einheit, so lösche alle Ms bis auf das erste. |
| Regel 3 | Ist ein K ein redundanter Terminator (zum Beispiel das Ende eines Befehls direkt nach dem Ende eines Arguments), dann entferne das M davor. |
| Regel 4 | Wenn ein K eine konstante Zeichenkette (beispielsweise einen Befehlsnamen) beendet, so entferne das M davor. Beendet ein K jedoch eine variable Zeichenkette (zum Beispiel ein Argument), so muss das M stehen bleiben. |

## Vergleich zu GOMS

Das KLM ist die einfachste Version der GOMS-Technik. Einer der Hauptunterschiede zwischen dem KLM und anderen Modellen der GOMS-Familie ist, dass das KLM die Arbeitsschritte eines Nutzers nicht vorhersieht, sondern diese vorgibt. Daher enthält das KLM im Gegensatz zum GOMS-Modell keine Ziele und Auswahlregeln. Außerdem ist das KLM anders als übrige GOMS-Modelle auf Aufgaben beschränkt, bei denen es keine parallelen Arbeitsschritte, verschachtelte Ziele oder Unterbrechungen gibt.

## Vorteile

Das KLM ist ein schnelles und einfaches Modell, das ohne tieferes Wissen über die menschliche Psychologie verwendet werden kann. Des Weiteren können Bearbeitungszeiten ohne die Anfertigung von Prototypen und das Testen mit tatsächlichen Nutzern vorausgesagt werden, was Zeit und Geld spart.

## Einschränkungen

Das KLM ist durch mehrere Faktoren eingeschränkt:
* Es wird lediglich die Zeit gemessen und übrige Performancemaße werden nicht erhoben.
* Es kann nur Zeiten für Experten voraussagen. Generell unterscheiden sich Nutzer durch ihr Vorwissen und ihre Erfahrungen bezüglich unterschiedlicher Systeme und Aufgaben, durch motorische Fähigkeiten und technisches Können.
* Es werden nur bekannte und routinemäßige Aufgaben betrachtet.
* Die Methode muss schrittweise vorgegeben werden.
* Die Ausführung der Methode muss fehlerfrei sein.
* Der M-Operator umfasst unterschiedliche mentale Operationen und gibt keine genauere Auskunft über die mentalen Operationen des Nutzers. Ist dies erforderlich, muss auf ein GOMS-Modell zurückgegriffen werden.
Allgemein sollte man sich darüber bewusst sein, dass beim Umgang mit Computersystemen auch andere Performancemaße (Fehler, Lernen, Funktionalität, Recall, Konzentration, Müdigkeit sowie Aufgabenangemessenheit) sowie andere Nutzertypen (Anfänger, gelegentliche Nutzer) und nicht routinemäßige Aufgaben eine Rolle spielen. Außerdem benötigt das Anfertigen einer Prognose für Aufgaben, die länger als ein paar Minuten dauern, meist mehrere Stunden. Auch dass Operationen vergessen werden, ist eine häufige Fehlerquelle. Das bedeutet, dass das KLM sich am besten für kurze Aufgaben mit einer nicht allzu hohen Anzahl an Operatoren eignet. Zudem kann das KLM keine wirklich präzise Vorhersage treffen und ist mit einer mittleren quadratischen Abweichung von 21 % oftmals nicht korrekt.

## Beispiel

Das folgende Beispiel, eine Adaption einer Berechnung von Kieras, zeigt den praktischen Gebrauch des KLMs. Hierbei werden zwei Möglichkeiten eine Datei zu löschen verglichen, wobei der Auszuführende eine durchschnittliche Schreibkraft ist. Für den M-Operator werden 1,35 Sekunden, wie im KLM vorgegeben, anstatt der von Kieras verwendeten 1,2 Sekunden eingesetzt. Der zeitliche Unterschied bleibt in diesem Falle jedoch unverändert.
| Design A: Ziehen der Datei in den Papierkorb | Design B: Verwenden des Shortcuts “control + T” |
| Methoden Enkodierung: Befehlskette | Methoden Enkodierung: Befehlskette |
| Vorbereiten des Löschens (M) Auffinden des Datei Icons (M) Navigieren zum Datei Icon (P) Drücken und Halten der Maustaste (B) Ziehen der Datei zum Papierkorb (P) Loslassen der Maustaste (B) Zeigen auf das Ursprungsfenster (P) | Vorbereiten des Löschens (M) Auffinden des Datei Icons (M) Navigieren zum Datei Icon (P) Drücken und Halten der Maustaste (B) Loslassen der Maustaste (B) Bewegen der Hand zur Tastatur (H) Drücken der Steuerungstaste (K) Drücken der T Taste (K) Bewegen der Hand zur Maus (H) |
| Benötigte Zeit | Benötigte Zeit |
| 3P + 2B + 2M = 3 × 1,1 s + 2 × 0,1 s + 2 × 1,35 s = 6,2 Sekunden | P + 2B + 2H + 2K + 2M = 1,1 s + 2 × 0,1 s + 2 × 0,4 s + 2 × 0,2 s + 2 × 1,35 s = 5,2 Sekunden |
Dies zeigt, dass Design B schneller ist, obwohl es mehr Operationen beinhaltet.

## Anpassung

Die sechs Operatoren des KLM können weiter reduziert werden, was jedoch die Präzision des Models verringert. Für grobe Berechnungen ist das aber durchaus praktikabel.
Da das bestehende KLM an Desktop Computer angepasst ist, trifft es nur beschränkt auf mobile Endgeräte zu. So geben Dunlop und Cross zu bedenken, dass das KLM für den mobilen Kontext nicht mehr korrekt ist. Es gibt einige Versuche das Model zu erweitern, sodass es auch für mobile Endgeräte und Touch-Oberflächen verwendet werden kann.
Ein signifikanter Beitrag zu dieser Forschungsfrage stammt von Holleis et al., die die existierenden Operatoren beibehalten und nur die Zeitspannen dieser verändern. Des Weiteren führen sie weitere neue Operatoren ein: Ablenkung (X), Geste (G) und anfängliche Handlung (IA). Während sich Holleis et al. und Li et al. darüber einig sind, dass das KLM auch für mobile Geräte verwendet werden kann, schlagen Li et al. eine weitere Adaption des Modells vor. So stellen sie ein neues Konzept, die Operator-Blocks, vor. Dabei handelt es sich um „eine oft wiederkehrende Reihenfolge von Operatoren des erweiterten Models“. Darüber hinaus verwerfen Li et al. die ursprünglichen Operatoren und definieren fünf neue mentale und neun neue physische Operatoren, wobei vier der physischen Operatoren stiftbasiert sind.
Rice und Lartigue entwerfen das Touch Level Model. Dafür passen sie nicht nur die bereits bestehenden Operatoren an, sondern schlagen auch mehrere Operatoren für Touchgeräte vor. Sie behalten die Operatoren Keystroke (K), Homing (H), Mental Act (M) sowie Response Time (R(t)) bei und schlagen neue auf den Berechnungen von Holleis et al. basierende touch-spezifische Operatoren vor:
* Distraction: Ein multiplikativer Operator, der Zeit zu anderen Operatoren hinzufügt.
* Pinch: Eine Geste zum heraus-zoomen, die mit zwei Fingern oder mehr ausgeführt wird.
* Zoom: Eine Geste zum hinein-zoomen, die mit zwei Fingern oder mehr ausgeführt wird.
* Initial Act: Die Schritte, die nötig sind das System auf die Benutzung vorzubereiten (zum Beispiel Entsperren des Geräts, Drücken eines Icons, Eingabe eines Passworts).
* Tap: Antippen des Bildschirms, um eine Aktion zu beginnen oder eine Veränderung zu erreichen.
* Swipe: Eine Geste, bei der ein oder mehrere Finger auf dem Bildschirm platziert und dann wiederholt für eine bestimmte Zeit in eine Richtung bewegt werden.
* Tilt: Neigen oder Rotieren des Endgeräts um d Grad.
* Rotate: Eine Geste, bei der zwei oder mehr Finger auf dem Bildschirm platziert und dann um d Grad um eine Achse rotiert werden.
* Drag: Eine Geste, bei der ein oder mehrere Finger auf dem Bildschirm platziert und dann, häufig in einer geraden Linie, zu einem anderen Punkt bewegt werden.