If we wanted to attempt to quantify the cognitive load — i.e., the thinking and effort involved — for performing a particular task, we could write out a list of the actions or operations that a user would have to do to carry out that task under normal circumstances. We could then estimate or assign a score, representing our idea of the effort involved, to each individual action, and then sum up all of the scores to get a total effort score for the task.
The KLM-GOMS model, the Keystroke-Level Model for the Goals, Operators, Methods, and Selection Rules analysis approach (Card, Moran, and Newell, 1983), is one analysis technique based on this idea, but instead of assigning scores representing effort, an estimate of the time required to do each action is estimated instead. The amount of time it takes to complete a task is a good proxy for physical effort, although it does not accurately measure the intensity of mental effort.
Let’s take a very condensed tour of the KLM-GOMS approach.
To accomplish a goal, the user will break the work into tasks, and for each task unit, the user will take a moment to construct a mental representation and choose a strategy or method for carrying out the task. This preparation time is called the “task acquisition” time, and can be very short — perhaps 1 to 3 seconds — for routine tasks, or much longer, perhaps even extending into several minutes, for creative design and composition tasks.
After the task acquisition, the user carries out the task by means of a sequence of actions or operations. The total time taken to carry out the actions is called the “task execution” time. Thus the total time required to complete a task is the sum of the task acquisition and task execution times.
To estimate the task execution time, KLM-GOMS defines basic operations (we assume here that we are dealing with a keyboard-and-mouse system):
|Operation||Description||Suggested average values|
|K||Keystroking||Pressing a key or mouse button, including the Shift key and other modifier keys||Best typist: 0.08 sec
Good typist: 0.12 sec
Average typist: 0.20 sec
Worst typist: 1.20 sec
|P||Pointing||Moving the mouse pointer to a target on the screen||1.1 sec|
|H||Homing||Moving a hand from the keyboard to the mouse or vice-versa||0.40 sec|
|M||Mental operation||Preparation||1.35 sec|
|R||System response operation||Time taken for the system to respond||varies|
So to use the mouse to click on a button, we would have a sequence of operations encoded as “HPK”: homing, to move the hand to the mouse; pointing, to point the mouse cursor to the button; and a keystroke, representing the pressing of the mouse button.
In addition to these operators, the KLM-GOMS model also includes a set of heuristic rules governing how the “M” operation, the mental operation, is to be inserted into an encoded sequence. For instance, “M” operations should be placed before most “K” and “P” operations, except for various special cases. So the “HPK” sequence discussed above would become “HMPK”. The rules are fairly arcane and we won’t go into the details here.
As an example, let’s consider the task of finding instances of a search term in a document in a text editor. One possible sequence of actions to accomplish this might be:
- Click on the “Search” menu
- Click on the “Find text” item
- Enter “puppy” as the search term in dialog
- Click on the “OK” button
This can be encoded using KLM-GOMS and used to formulate an estimate of the average time required as follows:
|Click on the “Search” menu||H[mouse]||0.40|
|MP[“Search” menu]||1.35 + 1.1|
|Click on the “Find Text” item||MP[“Find Text” item]||1.35 + 1.1|
|K[“Find Text” item]||0.20|
|Enter “puppy” as the search term||5K[p u p p y]||5(0.20)|
|Click on the “OK” button||H[mouse]||0.40|
|MP[OK button]||1.35 + 1.1|
Of course, we would expect a more skilled user to be able to accomplish the same task in substantially less time by using shortcut keystrokes rather than the mouse, and by typing faster than an “average” user.
There are obviously limitations to this kind of analysis; it provides a general rough estimate only, and it assumes that users know the right sequences of actions to complete a task. It also does not account for errors and mistakes. But when you are designing an interface and considering how to design an interaction, methods such as the KLM-GOMS model give you a way to compare the efficiency of different alternatives, and all other things being equal, the alternative that can be done in the least amount of time is the most convenient to the user, and may involve the least cognitive load.