
Este artigo é quase inteiramente baseado em citações do livro de Jeff Raskin " Interface - novas direções no design de sistemas de computador " com minhas adições e recriação do exemplo de interface dado no livro.
Uma resposta rápida para a pergunta se vale a pena usar a análise GOMS para testar a usabilidade: “Se você está projetando uma interface, ao trabalhar com a qual a partir de um atraso de 0,3 segundos. ninguém morre - não vale a pena. "
Assim, "O modelo de Metas, Objetos, Métodos e Regras de Seleção" (GOMS) é um método de pesquisa de interface desenvolvido por Card, Moran e Newell na década de 1980. O GOMS permite que você preveja quanto tempo levará um usuário experiente para concluir uma operação específica usando uma interface específica.
Agora que nos acostumamos com esse termo, estranho para o ouvido russo, podemos descrever sua essência.
Os desenvolvedores do GOMS perceberam que o tempo que o usuário leva para concluir uma tarefa é igual à soma de todos os intervalos de tempo necessários para concluir cada gesto específico do usuário (por exemplo, mover a mão do mouse para o teclado e digitar uma letra). Com a ajuda de estudos de laboratório, foi obtido um conjunto de intervalos de tempo, necessários para realizar vários gestos.
Gestos e tempo do GOMS
- H (transferindo a mão para o mouse) = 0,4 seg
- K (pressionando um teclado ou tecla do mouse) = 0,2 seg
- P (movendo o cursor para a posição na tela) = 1,1 seg
- M (pensando na próxima etapa) = 1,35 s
- R (aguardando resposta do sistema) - o tempo depende da velocidade de um determinado sistema e não participa dos cálculos.
Em cálculos posteriores, os Gestos serão substituídos por letras da lista acima e serão chamados de "Operadores".
Abaixo estão algumas regras bastante complicadas para trabalhar com esses mesmos gestos (operadores). Por enquanto, é só lê-los e depois explicarei tudo com um exemplo.
Regras de colocação de operador
- 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, , , .
Dado: O
usuário é solicitado a converter a temperatura de Fahrenheit para Celsius ou vice-versa. Por exemplo, eles podem perguntar: "Converta 3,5 graus Fahrenheit em graus Celsius." O usuário pode inserir o valor da temperatura apenas usando o teclado ou mouse.
Objetivo:
Projetar uma interface onde o tempo para traduzir os valores de temperatura seja mínimo.
Condições
Para simplificar, vamos supor que o usuário insira no máximo dois caracteres e não cometa erros.
Importante : Os exemplos abaixo servem justamente para ilustrar as regras descritas no livro. Esse problema poderia ser resolvido de outras maneiras, possivelmente mais otimizadas.
Decisão. Opção 1
Imagine que o usuário deve primeiro entender em que direção a transferência ocorrerá e, se for na direção que ele precisa, ele simplesmente insere os números. Se estiver na direção errada, ele muda para a direção certa no grupo de rádio.

Forma de pagamento
H (mão no mouse) + M (pensar) + P (mover o cursor para o grupo de rádio) + K (clicar) + M (pensar) + P (cursor para o campo) + K (clicar) + H (mover a mão do mouse ao teclado) + M (pense) + K (insira o primeiro dígito) + M (pense) + K (insira o segundo dígito).
De acordo com a regra 2, excluímos o M extra e obtemos:
H + M + P + K + M + P + K + H + M + K + K
Se a direção da conversão de temperatura NÃO for adequada, então obtemos:
0,4 + 1,35 + 1,1 + 0,2 + 1,35 + 1,1 + 0,2 + 0,4 + 1,35 + 0,2 + 0,2 = 7,85 seg.
Se uma direção adequada de conversão de temperatura for selecionada, então obtemos:
0,4 + 1,35 + 1,1 + 0,2 + 1,35 + 0,2 + 0,2 = 4,8 s
Decisão. opção 2
Viu a necessidade de mudar o lado da tradução. Tornando os campos de entrada arrastáveis. Se alterarmos a posição / valor de um campo, a posição / valor do outro mudará automaticamente.

Forma de pagamento
H (0,4) + M (1,35) + P (1,1) + K (0,2) + P (1,1) = 4,15 seg.
Esta opção de implementação é 0,65 mais "utilizável" do que a primeira seg.
Erro de método
Raskin escreve que usando este método é possível prever quanto tempo o usuário precisará para suas tarefas com um erro absoluto de menos de 5% .
Além disso, não presuma que por esse método medimos o tempo específico de trabalho com a interface. É estranho, porque, na verdade, fizemos exatamente isso, mas devemos entender que os segundos são usados mais como uma espécie de convenção. Afinal, usuários diferentes podem ter velocidades diferentes. Só precisávamos entender como concretamente uma interface é mais "utilizável" que a outra, e as unidades de medida nos ajudaram nisso. A velocidade real de trabalho pode ou não coincidir com nossas expectativas - tudo dependerá do usuário específico.
Minha opinião sobre a análise GOMS
Quando fiquei sabendo disso, quis começar a usá-lo imediatamente em todos os meus projetos. Pareceu-me que era isso - livrar-me do tormento antigo de escolher "qual é o caminho certo". Sem subjetividade e tendências. Matemática "burra" real. Mas, na verdade, para descrever até mesmo a interface mais primitiva, você precisa gastar o dobro de tempo do que projetá-la. E então você ainda precisa projetar uma alternativa para calculá-lo. E mesmo que no final eu descubra qual opção é melhor, descobri que é melhor em 0,65 segundos. Levar de 3 a 4 horas para ganhar 0,65 segundo é poderoso.
Apesar disso, acho que o método ainda é legal e vale a pena usar, mas em algumas interfaces superimportantes em que até 0,65 segundo interessam. Na maioria dos projetos, é mais lógico confiar na sua experiência e, após o fato, apenas perguntar aos usuários como é mais conveniente para eles.
Raskin escreve algo assim:
“Os desenvolvedores que estão familiarizados com o método GOMS raramente fazem uma análise detalhada e formal do modelo de interface. Em parte, isso ocorre porque eles conhecem os fundamentos do GOMS e de outros métodos quantitativos a ponto de serem inicialmente guiados por esses métodos no processo de desenvolvimento. "
PS
Existem também modificações na análise GOMS. Por exemplo, "Método de caminho crítico GOMS" (CPM-GOMS) e uma versão chamada linguagem GOMS natural (NGOMSL), que leva em consideração o comportamento de um usuário inexperiente, por exemplo, o tempo que leva para aprender. Você mesmo pode ler sobre essas versões.