Shneiderman

  1. Esforço pela consistência
  2. Dar oportunidade a utilizadores frequentes de usarem shortcuts
  3. Providenciar feedback informativo
  4. Mostrar dialogs closures
  5. Oferecer prevenção de erros e fácil enquadramento após os mesmos
  6. Permitir recuperar facilmente de certas ações
  7. Suportar “internal locus of control”
  8. Reduzir o esforço de relembrar certos acontecimentos recentes

Nielsen

  1. Visibilidade do estado do sistema - manter os utilizadores informados sobre o que se passa.
  2. Correspondência entre o sistema e o mundo real - falar a língua dos utilizadores, apresentar informação numa ordem natural e lógica.
  3. Controlo e liberdade do utilizador - fornecer saídas de emergência claramente marcadas.
  4. Consistência e normas - seguir as convenções da plataforma e da indústria.
  5. Prevenção de erros - boas mensagens de erro são importantes, mas ainda mais é evitar a ocorrência de problemas.
  6. Reconhecer em vez de recordar - minimizar a carga de memória do utilizador. Informação necessária deve estar visível.
  7. Flexibilidade e eficiência de utilização - atalhos (ocultos de utilizadores inexperientes) podem acelerar a interação para um utilizador perito.
  8. Desenho estético e minimalista - as interfaces não devem conter informação que seja irrelevante ou raramente necessária.
  9. Ajudar os utilizadores a reconhecer, diagnosticar e recuperar erros - expressar mensagens de erro em linguagens simples, indicando o erro e possível solução.
  10. Ajuda e documentação - pode ser necessário fornecer informação adicional.