Com o objetivo de medir a eficiência das interfaces e sistemas, utilizamos inúmeras técnicas de avalição, entrevistas e testes de usabilidade. Mas sabemos que nem sempre um projeto tem tempo e verba suficientes para aplicarmos todos esses métodos.

Um dos recursos que podemos utilizar como um guia de boas práticas desde a fase de desenvolvimento da interface são as 8 Regras de Ouro de Ben Shneiderman e as 10 Heurísticas de Nielsen, normalmente usadas como referência em técnicas de avaliação.

Jacob Nielsen descreve a avaliação heurística (uma das técnicas de avaliação) como um método rápido, barato e fácil de avaliar o design de uma interface. Este método deve dispor de 3 a 5 especialistas que farão suas avaliações individualmente, que depois serão comparadas gerando um relatório. Os problemas encontrados serão classificados em níveis de gravidade e tabulados. Dessa forma é possível conseguir uma visão geral dos problemas mais graves e que devem ser corrigidos prioritariamente.

Para ganharmos tempo e adotarmos um padrão de qualidade, podemos adotar esses princípios desde a fase em que estamos desenhando os fluxos, interfaces e interações. Certamente o produto será muito mais eficiente ao cliente e, ao mesmo tempo, poupará inúmeros ajustes que só seriam descobertos na fase de avaliação.

Abaixo, seguem as 8 Regras de Ouro de Ben Shneiderman e as 10 Heurísticas de Nielsen. Baseado nelas, você pode refinar seu próprio checklist para desenvolvimento ou avaliação e ter entregas rápidas com qualidade.

8 Regras de Ouro de Ben Shneiderman

1. Mantenha a consistência
Sequências consistentes de ações devem ser usadas em situações similares. Use terminologia idêntica em prompts, menus e telas de ajuda. Comandos devem ser utilizados da mesma maneira ao longo da interface.

2. Ofereça atalhos aos usuários experientes
Ao mesmo tempo que a frequência de uso de uma interface aumenta, o desejo do usuário é reduzir o número de interações e aumentar o compasso da interação. Abreviações, teclas de função, comando ocultos e facilidades de macros ajudarão o usuário mais experiente.

3. Ofereça feedbacks informativos
Para cada operação do usuário deve haver algum tipo de feedback do sistema. Ofereça respostas discretas quando as ações são frequentes ou de menor importância e respostas com maior prioridade para ações incomuns ou mais importantes.

4. Apresente as etapas do processo
Sequências de ações devem ser organizadas em grupos com início, meio e fim. O feedback informativo ao completar um grupo de ações dá ao usuário satisfação de realização, senso de distinção e uma indicação que o caminho é claro para se preparar para o próximo conjunto de ações.

5. Ofereça uma forma simples de correção de erros
Tanto quanto possível, o design do sistema não deve permitir que o usuário cometa erros graves. Se um erro for cometido, o sistema deve ser capaz de detectar e oferecer um mecanismo simples e compreensível para a solução.

6. Permita fácil reversão de ações
Esta funcionalidade diminui a ansiedade, desde o momento que o usuário toma conhecimento que um erro grave pode ser desfeito. Isso potencializa a exploração de funções desconhecidas. As unidades de reversibilidade podem ser de uma única ação, de uma entrada de dados ou uma sequência completa de ações.

7. O controle do sistema é do usuário
Usuários experientes desejam ter a noção de que controlam o sistema e este é que responde aos seus comandos. O sistema deve ser projetado para deixar os usuários como iniciadores das ações ao invés de reagentes.

8. Reduza a carga de memória curta do usuário
Este princípio está relacionado à limitação humana de processamento de informação na memória de curta duração. O sistema deve ser projetado para que haja o menor esforço possível do usuário em memorizar ou relacionar elementos na interface.

Heurísticas de Nielsen

1. Visibilidade do status do sistema
O sistema deve manter o usuário sempre informado sobre o que está acontecendo através de um feedback em tempo real.

2. Correspondência entre o sistema e o mundo real
O sistema deve usar a linguagem e modelo mental do usuário e não ser orientado a estrutura do sistema.

3. Liberdade e controle do usuário
Usuários frequentemente cometem erros e precisarão ser capazes de reconhecerem ‘saídas de emergências’ para se recuperarem de estados indesejáveis.

4. Consistência e padrões
Em ações e contextos iguais use as mesmas palavras, ícones e comportamentos. Facilite o reconhecimento do usuário.

5. Prevenção de erros
Mais importante que uma boa mensagem de erro é um design cuidadoso que evita o problema. Em ações como a de exclusão de um arquivo, por exemplo, forneça uma mensagem de confirmação antes da ação ser executada.

6. Reconhecimento ao invés de memorização
Evite a sobrecarga de memória do usuário. Forneça informações contextuais para que cada ação não precise de informações que estão em outro ponto do sistema.

7. Flexibilidade e eficiência de uso
Forneça atalhos para usuários experientes que agilizem o uso deste perfil, mantendo a facilidade para usuários leigos.

8. Estética e design minimalista
O diálogo do sistema com o usuário não deve conter informações desnecessárias. Mantenha apenas as informações úteis, diretas e claras.

9. Ajude os usuários a reconhecerem, diagnosticarem e recuperarem-se de erros
As mensagens de erro devem ser claras a ponto de indicarem o problema e sugerirem uma solução.

10. Ajuda e documentação
Embora o melhor é o usuário ser capaz de usar o sistema sem necessidade de ler a documentação, é necessário fornecer ajuda documentada em caso de necessidade. As informações devem ser facilmente encontradas, descreverem passos de forma clara e não serem extensas demais