GOMS is the acronym of the term Goals, Operators, Methods and Selection rules. It is an evaluation model developed by Stuart Card, Thomas P. Moran and Allen Newell in 1983. The model is a specialized human information processor model designed to observe human-computer interaction. Based on this GOMS model, many other models for analysis have been developed. In the following post, we would look at what constitutes the GOMS, the advantages & disadvantages of the GOMS and how GOMS has evolved over the years.


Goals are defined as what the user wants to accomplish. Operators are the actions performed by the user to accomplish the goal. Methods are a combination or a sequence of operators used in order to accomplish the goal. In many cases, there is more than one method that can be used to achieve the same goal. This is where the Selection rules come into play, where the rules are used to describe when a user would choose a method over another method.

By breaking down a user’s interaction with the computer into these 4 simple elementary actions, the interface can be studied. The evaluator can also pin-point on specific aspects to improve on.

Advantages & Disadvantages

The GOMS may not be the most accurate of all the evaluation methods available, but like all methods, it has its advantages and disadvantages.

One advantage is that it is fairly simple, cost-efficient and less time-consuming to calculate the GOMS estimate of an interaction. In order to do so, the average methods-time measurement data for each specific task has to be previously measured experimentally, and needs to have a high degree of accuracy. By using the GOMS, each step that the user uses to interact with the interface is broken down into detailed steps. For each of these detailed steps, the time used can be measured and the total time a user needs to complete a desired task is just a simple addition of the time used for each of these detailed steps.

However, the major disadvantage of the GOMS is pretty similar to most disadvantages of HCI evaluation methods. That is, the GOMS is not able to handle user unpredictability. The GOMS method relies heavily on the prediction of user methods. It does not take into account user behaviour such as fatigue, social factors, etc. Furthermore, GOMS assumes that the user knows what to do throughout the whole process of completing the task, as such, GOMS applies to veteran users and not those who are new to the interface.

Also, as we can see from the overview of the GOMS, only the usability of the system is considered, not the functionality. What this means is that the evaluation does not improve on the functionality of the system.

Furthermore, out of all the GOMS models (which we will look at in a short while), only the KLM method does not require a deep understanding of GOMS in order to evaluate. As such, if a company decides to use GOMS for evaluation, they would need to hire someone who has the expertise of GOMS evaluation in order to effectively make use of the GOMS.

Evolution of GOMS


The very first version was the plain GOMS created by the original three founders, which is now commonly referred to as the CMN-GOMS, taking after the names of creators, Stuart Card, Thomas P. Moran and Allen Newell. What this method does is that it follows a rigid goal-method-operation-selection rules structure. This structure allows the evaluator to represent all the tasks in a pseudo-code format, and at the same time, a guide is provided to assist in formulating selection rules. The method is also able to estimate how much time it takes for a user to complete a task.


Based on the CMN-GOMS, the keystroke-level model (KLM) was developed. This model is an 11-step model that can be used to estimate time taken to complete simple data input with just the mouse and the keyboard. With KLM-GOMS, it is easier to use than the other GOMS, and evaluators often find more efficient ways to complete a task by analysing individual steps and sift out unneeded steps. The KLM-GOMS is best suited to evaluate tasks that take, on average, less than 5 minutes to complete, due to its constraints. The 11 steps are as follows.

Step 1–Obtain a working prototype of computer interface or a step by step operational description of a task.

Step 2–Identify the goals or the desired outcome of work .

Step 3–For each of these goals, find subgoals or tasks that achieve the main goals.

Step 4–Identify methods to main goals and all subgoals.

Step 5–Convert description of methods to pseudo-code (the terminology that is described above).

Step 6–State any and all assumptions used in the making of pseudo-code and goals.

Step 7–Determine appropriate mental or keystroke operators for each step.

Step 8–Assign time values to mental or keystroke operators.

Step 9–Add up execution times for operators.

Step 10-Adjust total time of task to be sensitive by age of expected.

Step 11-Verify validity of results


CPM-GOMS is the Cognitive Perceptual Motor GOMS model developed in 1988 by Bonnie John, a former student of Allen Newell. It is basically similar to the CMN-GOMS method in most of its model, except that it determines which actions can be done parallel at the same time and create blocks whereby the many actions are performed at the same time. What this means that CPM-GOMS allows for multi-tasking when evaluating the time needed to complete a task.

A more in-depth look at the different GOMS, together with examples can be found on http://members.tripod.com/elena_chmil/thegomsmodel/id10.html.


For most parts, the GOMS is not a very advanced method of evaluation, but it is able to provide us with a fast and efficient evaluation method to calculate time required to complete a task. The way GOMS has evolved over the years have also provided us with different methods that we can use to evaluate human computer interaction.


The Cognitive Process of Humans


The cognitive process is the performance of some composite activity. It is also known as the “the process of thinking”.

A child studying Cognitive Development

In Human-Computer Interaction, understanding how a human think when interacting with computers is crucial. The feedback, the information transfer between parties, the input and output are the concepts involved in the cognitive process. Overall, it affects how the design of various computers or devices are implemented.

For this week blog, we will focus on 2 of the core cognitive processes, the Memory and the learning process.

Memory is probably one of the most important cognitive process. It involves invoking the brain to recall knowledge that has been acquired through the experiential process such as navigating a set of menu for a particular software, or in a non computing scenario it can be the daily routine of going grocery shopping. The ability of the human brain to save the things learned is a key tool during designing.

For an example we will look at SenseCam, a neckworn camera that helps to take picture of the daily life of the user. The main purpose is to help users who are suffering from poor memory to aid in recalling events that they have been through.

User using a SenseCam

Employing a technique called Rapid Serial Visual Presentation (RSVP), it allows a increased reading rate of text/images and users are able to recall the day events in just a matter of minutes.

As of October 2009, SenseCam technology was licensed to Vicon and more products such as Vicon Revue are readily available on the market.

The Cognitive Aspect & the Design Implications
This is a very reflective cognition as users are required to invoke on their thoughts to stimulate the recovery of his or her memory. Playing on the human abilities to remember images than text, the projection of the images will greatly aid in these situations.

Another important point is the way the device operates. Dealing with the issues of ‘forgetfulness’, the device does not need to be operated manually any time of the day. It captures photo based on the sensors that are built in it and users do not have to worry about having to operate the device to ensure that there is sufficient or even critical pictures that should be taken.

In the learning cognitive process, learning play a important part in affecting how a human react to certain scenarios. It changes the behavior of the human based on the experiential experience that the person been through, and it can also affect the brain in doing mental association. In short it can also be known as “using thinking to learn”.

Learning can be broken down in 4 basic levels

The different levels of Learning

For example, a flight instructor may explain to a beginning student the procedure for entering a level, left turn. The procedure may include several steps such as: (1) visually clear the area, (2) add a slight amount of power to maintain airspeed, (3) apply aileron control pressure to the left, (4) add sufficient rudder pressure in the direction of the turn to avoid slipping and skidding, and (5) increase back pressure to maintain altitude. A student who can verbally repeat this instruction has learned the procedure by rote. This will not be very useful to the student if there is never an opportunity to make a turn in flight, or if the student has no knowledge of the function of airplane controls.

With proper instruction on the effect and use of the flight controls, and experience in controlling the airplane during straight-and-level flight, the student can consolidate these old and new perceptions into an insight on how to make a turn. At this point, the student has developed an understanding of the procedure for turning the airplane in flight. This understanding is basic to effective learning, but may not necessarily enable the student to make a correct turn on the first attempt.

When the student understands the procedure for entering a turn, has had turns demonstrated, and has practiced turn entries until consistency has been achieved, the student has developed the skill to apply what has been learned. This is a major level of learning, and one at which the instructor is too often willing to stop. Discontinuing instruction on turn entries at this point and directing subsequent instruction exclusively to other elements of piloting performance is characteristic of piecemeal instruction, which is usually inefficient. It violates the building block concept of instruction by failing to apply what has been learned to future learning tasks. The building block concept will be covered later in more detail.

The correlation level of learning, which should be the objective of aviation instruction, is that level at which the student becomes able to associate an element which has been learned with other segments or blocks of learning. The other segments may be items or skills previously learned, or new learning tasks to be undertaken in the future. The student who has achieved this level of learning in turn entries, for example, has developed the ability to correlate the elements of turn entries with the performance of chandelier and lazy eights.

(taken from http://www.dynamicflight.com/avcfibook/learning_process/)

The Cognitive Aspect & the Design Implications
Both experiential and reflective cognition are involved in the learning process. As seen in an example above, the act of thinking and decision making is part of the process of learning what makes a good and effective choice. Coupled with the experiential learning such as reacting or perceiving each and every action, it combines together to form the human cognitive learning.

How does this thinking process affects a design? Knowing how a user can learn through a device will indicate to a designer what are the various aspect that the designer should look out for. For example, making users to execute repetitive steps every time he or she uses a particular software will over time teach the user how to use the software, making it a much more pleasant experience for the user. Another example is designing of a smartphone. Having learned how a smartphone should react to a user input, users are given an expectation of what to expect from a smartphone. Therefore to remove certain functionality from a smartphone will not be ideal.

There is no doubt a association between the human cognition and a design of a device of software. Understanding how to human process its thoughts and predicting certain feedback is key in facilitating the design process.

The process of thinking