Jakob Nielsen, referência mundial em usabilidade e autor de algumas das obras mais influentes sobre o tema, define 10 princípios gerais de usabilidade para design de interfaces, as quais ele denomina como heurísticas, ou seja, um conjunto de regras de usabilidade que pode ser aplicada para avaliar interfaces, sistemas, softwares e aplicativos.
1. Visibilidade do status do sistema
Os usuários devem sempre estar informados sobre o que está acontecendo no sistema através de feedbacks apropriados e em um tempo razoável.
2. Correspondência entre o sistema e o mundo real
O sistema deve se adaptar a realidade do usuário, bem como à sua linguagem, e exibir informações de forma natural e lógica, assim como encontramos no mundo real.
3. Liberdade de controle para o usuário
Os usuários frequentemente cometem erros ao utilizar funções do sistema por engano, portanto precisam de “saídas de emergência” para interromper esses estados indesejados sem ter que passar por um longo processo. O sistema deve dar suporte às funções desfazer e refazer de forma rápida e prática.
4. Consistência e padrões
Os usuários não precisam saber que diferentes palavras, situações ou ações significam a mesma coisa, ou seja, o sistema deve ser consistente na comunicação e interface com o usuário.
5. Prevenção a erros
Melhor do que boas mensagens de erro é o design minucioso para prevenir a ocorrência do erro. O sistema deve eliminar condições que possam levar ao erro ou apresentar uma confirmação antes do usuário realizar ações importantes.
6. Reconhecer ao invés de lembrar
O usuário não deve depender da própria memória para lembrar das funções do sistema, pelo contrário, os objetos, ações e opções do sistema devem ser claras e visíveis. As instruções para o usuário também devem ser claras ou facilmente acessadas a qualquer momento, para não precisar ser lembradas pelos usuários.
7. Flexibilidade e eficiência de uso
O sistema deve atender tanto usuários mais experientes quanto novatos. Oferecer opções rápidas para realizar ações frequentes é uma forma de também atender as necessidades dos usuários mais avançados.
8. Estética e design minimalista
O sistema não deve dar informações ou mensagens irrelevantes ou que raramente são úteis ao usuário. Cada nova informação dada compete com informações realmente relevantes e consequentemente diminui a sua visibilidade relativa.
9. Ajudar os usuários a reconhecer, identificar e se recuperar de erros
Mensagens de erros devem ser expressadas de forma muito clara, sem códigos ou termos complexos, indicar precisamente o problema e sugerir soluções de forma construtiva.
10. Ajuda e documentação
Um sistema deve poder ser utilizado sem que o usuário precise ler a sua documentação, entretanto é importante que o sistema ofereça ajuda e documentação apropriada. Todas as informações devem ser fáceis de buscar, estarem relacionadas às tarefas dos usuários, descrever o passo a passo, e concisa.