GOMS analysis of interface usability

image



This article is almost entirely based on quotes from the book by Jeff Raskin " Interface - New Directions in the Design of Computer Systems " with my additions and recreation of the example of the interface given in the book.



A quick answer to the question of whether it is worth using GOMS analysis to test usability: “If you are designing an interface, when working with which from a delay of 0.3 seconds. nobody dies - not worth it. "



So, "The model of Goals, Objects, Methods, and Selection rules" (GOMS) is an interface research method developed by Card, Moran and Newell in the 1980s. GOMS predicts how long it will take for an experienced user to complete a specific operation using a specific interface.



Now that we have got used to this term, strange for the Russian ear, we can describe its essence.



The GOMS developers noticed that the time it takes for the user to complete a task is equal to the sum of all the time intervals that were required to complete each specific user gesture (for example, move the hand from the mouse to the keyboard and type a letter). With the help of laboratory studies, a set of time intervals was obtained, required to perform various gestures.



GOMS gestures and timing



  1. H (transferring hand to mouse) = 0.4 sec
  2. K (pressing a keyboard or mouse key) = 0.2 sec
  3. P (moving the cursor to the position on the screen) = 1.1 sec
  4. M (thinking about next step) = 1.35 sec
  5. R (waiting for a response from the system) - the time depends on the speed of a particular system and does not participate in the calculations.


In further calculations, Gestures will be replaced by letters from the list above and will be called “Operators”.



Below are some rather intricate rules for working with these same gestures (operators). For now, just read them, and then I'll explain everything with an example.



Operator placement rules



  • 0. M

    M K ( ), P ( ), (, ); P, (, ), M .
  • 1. M

    , M, , M, M . , , M, 0.
  • 2. M

    M K M K M K… , M, . , «4564.23» « ».

  • 3. M

    K , (, « — »), M, .
  • 4. M,

    K , (, , ), M, . , M. K , M .
  • 5. M

    M, R, , , .




Given: The



user is asked to convert the temperature from Fahrenheit to Celsius or vice versa. For example, they might ask, "Convert 3.5 degrees Fahrenheit to degrees Celsius." The user can enter the temperature value only using the keyboard or mouse.



Objective:

Design an interface where the time to translate temperature values ​​is minimal.



Conditions

For simplicity, we will assume that the user enters a maximum of two characters and the user does not make mistakes.



Important : The examples below serve precisely to illustrate the rules described in the book. This problem could be solved in other, possibly more optimal, ways.



Decision. Option 1



Imagine that the user must first understand in which direction the transfer will take place, and if in the direction he needs, then he simply enters the numbers. If in the wrong direction, then he switches to the right one in the radio group.







Payment



H (hand on the mouse) + M (think) + P (move the cursor to the radio group) + K (click) + M (think) + P (cursor to the field) + K (click) + H (move the hand from the mouse to the keyboard) + M (think) + K (enter the first digit) + M (think) + K (enter the second digit).



According to rule 2, remove extra M and obtain

N + M + P + R + M + P + R + M + H + K + K



If not appropriate direction selected conversion temperature, we obtain:

0.4 + 1.35 + 1.1 + 0.2 + 1.35 + 1.1 + 0.2 + 0.4 + 1.35 + 0.2 + 0.2 = 7.85 sec



If a suitable direction of temperature conversion is chosen, then we get:

0.4 + 1.35 + 1.1 + 0.2 + 1.35 + 0.2 + 0.2 = 4.8 sec



Decision. Option 2



Saw out the need to switch the translation side. Making input fields draggable. If we change the position / value of one field, then the position / value of the other automatically changes.







Payment



H (0.4) + M (1.35) + P (1.1) + K (0.2) + P (1.1) = 4.15 sec



This implementation option is more "usable" than the first by 0.65 sec.



Method error



Raskin writes that using this method it is possible to predict how long the user will need for his tasks with an absolute error of less than 5% .



Also, do not assume that by this method we measured the specific time of working with the interface. This is strange, because, in fact, we did exactly that, but we must understand that seconds are used more as a kind of convention. After all, different users may have different speeds. We just needed to understand how concretely one interface is more "usable" than the other, and the units of measurement helped us with this. The actual speed of work may or may not coincide with our expectations - everything will depend on the specific user.



My opinion on GOMS analysis



When I first found out about it, I wanted to immediately start using it in all my projects. It seemed to me that this is it - getting rid of the age-old torment of choosing "which is the right way". Without subjectivity and trends. Real "dumb" math. But in fact, to describe even the most primitive interface, you need to spend twice as much time than designing it. And then you still have to design an alternative to calculate it. And even if in the end I find out which option is better, it turns out that it is better by 0.65 seconds. Taking 3-4 hours to win 0.65 seconds is powerful.

Nevertheless, I think that the method is still cool and worth using, but in some super important interfaces in which even 0.65 seconds matters. In most projects, it is more logical to rely on your experience and after the fact, just ask users how it is more convenient for them.



Raskin writes something like this:
“Developers who are familiar with the GOMS method rarely conduct detailed and formal analysis of the interface model. In part, this is because they know the basics of GOMS and other quantitative methods to the point that they are initially guided by these methods in the development process. "




PS



There are also modifications of GOMS analysis. For example, "Critical-path method GOMS" (CPM-GOMS) and a version called natural GOMS language (NGOMSL), which takes into account the behavior of an inexperienced user, for example, the time it takes to learn. You can read about these versions yourself.



All Articles