1. Simple and Natural Dialogue
Dialogues should not contain irrelevant or rarely needed information. All information should appear in a natural and logical order.
2. Speak the user's language
The dialogue should be expressed clearly in words, phases and concepts familiar to the user rather than in system-oriented words
3. Minimize the user's memory load
The user's short term memory is limited. The user should not have to remember information from one part of the dialogue to another. Complicated information should be simplified
4. Be consistent
Users should not have to wonder whether different words, situations or phases mean the same thing.
5. Provide feedback
The system should always keep the system informed about what is going on by providing him or her with appropriate feedback within reasonable time.
6. Provide shortcuts
7. Provide good error message
Good error message are defensive, precise and constructive. Defensive error message blame the problem on system deficiencies and never criticize the user; precise error messages provide the user with exact information about the cause of the problem; constructive error messages provide meaningful suggestions to the user about what to do next.
8. Provide clearly marked exits