Diálogos simples e naturais: Os diálogos devem ser simples contendo apenas informações relevantes.
Falar a linguagem do usuário: A compatibilidade entre o vocabulário do sistema e do domínio deve sempre ser levada em consideração. Devemos nos perguntar se a linguagem da interface está simples e se as palavras, conceitos, e frases são familiares ao usuário.
Minimizar a sobrecarga de memória do usuário: Devemos sempre usar o reconhecimento em vez de lembrança. Os objetos, ações e opções devem estar sempre visíveis, as instruções para uso do sistema devem estar visíveis e facilmente encontráveis quando necessárias. Portanto, evitar o usuário de lembrar como encontrar ou fazer as tarefas é essencial.
Ser consistente: O sistema deve manter a consistência fornecendo os mesmos comandos, termos e ações para situações similares no sistema. Um exemplo é o atalho Control-C (CTRL+C) para copia. Os sistemas Windows normalmente utilizam esse mesmo atalho para funções de copia.
Dar feedback: Nessa heurística devemos nos perguntar se está sendo fornecido feedback em tempo razoável e se o usuário é mantido informado do que está ocorrendo. Nesse caso as barras de progresso são excelentes componentes visuais que ajudam o usuário, a saber, se um arquivo está sendo processado e quanto tempo ele irá levar para finalizar.
Saídas claramente marcadas: O usuário deve ter controle explícito sobre o sistema. Dessa forma, ele deve ter a possibilidade de abandonar qualquer estado indesejado ou situações incorretas ou ainda realizar undo/redo.
Fornecer atalhos: Os usuários mais experientes buscam sempre os atalhos para melhorar a sua produtividade. Nos sistema que estamos desenvolvendo não deve ser diferente, sempre devemos fornecer atalhos para esse tipo de usuário.
Boas mensagens de erro: As mensagens devem ser expressas em texto claro, sem qualquer tipo de código, indicando precisamente qual problema está ocorrendo. Também é interessante sugerirmos possibilidades de correção para o erro.
Prevenir erros: Devemos sempre nos perguntar se é fácil cometer erros no sistema, se sim verificamos onde e por que. Devemos prevenir ao máximo os erros causados pelo usuário.
Ajuda e documentação: O sistema sempre deve fornecer ajuda que é facilmente seguida. Dessa forma a ajuda e a documentação devem ser precisas e claras.
FONTE: https://goo.gl/GhE21I