Key-stroke Level Model

Peter Zalman
Enterprise UX
Published in
4 min readMar 4, 2016

Predictive behaviour models are heuristic evaluations, that help product designers to predict and understand, how the interface will perform a task.

I recently decided to add few new heuristics methods into my toolset:

  • Keystroke-level-model (KLM)
  • Fitts’s law
  • Hick's law

Heuristic evaluations cannot replace testing with real users. But especially in enterprise environment, they are helpful in many situations:

  • Compare two variants. When building up the design framework, the designer is making many small decisions along the way. It might be not time and cost effective to set-up a number of user testing sessions for each of these. Heuristic evaluations can also guide opinionated stakeholders feedback and introduce measurable UI quality metric.
  • Common benchmarking. When having multiple product bundles, a common method how to measure time on task enables teams to compose the result into overall user journeys.
  • Project OKRs. The primary objective of our product is to reduce time-on-task by {N}%. Every next feature and improvement should bring us closer to the goal, and heuristics such as KLM helps us to measure this improvement.
  • User testing. Even that theoretical heuristic evaluations can not replace user testing on real users, sometimes there is no other way to evaluate the design, especially when you cannot observe Jim in his cabin.

In this article, I am sharing my experiences with applying Key-stroke level model to a real use case analysis of a future product increment. The precondition was existing click-through prototype of the feature.

The Feature

This new feature should reduce repetitive task that users need to perform over and over. KLM comes handy in comparing Before|After interaction flows used to achieve the same goal.

Feature overview.

KLM Operators

As a first step, I defined my KLM operators table. I used various sources listed at the end of the article and compiled the list containing operators that I needed.

KLM Operators table.

Analysis

The interaction design is straight-forward, so the analysis was not complicated at all. I used click-through prototype to mock the feature and record the interaction.

KLM Analysis.

Guesstimate

Since most of the key-stroke operators are defined by uncertainty ranges, I experimented with Ozzie Gooen's Guesstimate to model the same task analysis.

KLM Time-on-task using Guesstimate.
Time-on-task result detail.

Conclusions

After I measured time-on-task difference in [%], I continued with basic ROI calculation. I estimated assumed frequency of the task and an hourly wage of the user and calculated expected cost-savings in [$].

The most important conceptual aspect of KLM that I needed to explain to stakeholders is its "precision". Your stakeholders might question, why you have scored certain task 4.51 sec and not 6,98 sec. For these conversations, you can find resources below that compares real user testing with KLM heuristics proving that KLM is a very accurate heuristic method.

My pain argument is the relative task difference. It is not really that important if Task A took 4.51 sec or 6.98 sec. The important aspect is, that the relative difference to Task B is pretty accurate since I used exact same method and operators to measure A and B. Again, there are data listed in resources proving this with real user research.

Even that initially I struggled to find simple how-to guide KLM "Cookbook for dummies", the overall concept ends to be dead simple and I am already working on much more complex KLM analysis.

I highly recommend this Heuristic method and include measurable metrics into your design process before investing your time and resources into the actual usability testing.

Resources

Olivier Georgeon & Frank Ritter | Key-Stroke Level Model

Lorin Hochstein | GOMS

Jeff Sauro | Estimating Productivity

Jeff Sauro | Measuring task times without users

David Kieras | Estimate Execution Times

Jakob Nielsen | Mental Models

Various contributors | KLM Form Analyzer

--

--

Peter Zalman
Enterprise UX

I am crafting great ideas into working products and striving for balance between Design, Product and Engineering #UX. Views are my own.