Practical usability heuristics

Simple and
natural dialog
Present information that is relevant and useful, in a natural and logical order. Extraneous information competes with the relevant units of information and diminishes their visibility.

Speak the users'
language
Express clearly in words, phrases, and concepts familiar to the user, rather than in system-oriented terms.

Minimize the users' memory load Avoid needing to remember information from one part of the dialog to another. Make instructions visible or easily retrievable whenever appropriate.

Consistency Describe situations, instructions, actions, in the same terms to promote clarity.

Feedback Keep users informed about what is going on, through appropriate feedback within reasonable time.

Clearly marked
exits
If users choose system functions by mistake, use a clearly marked "emergency exit" to leave the unwanted state.

Shortcuts Accelerators may often speed up the interaction for the expert and not compromise usability for the novice.

Good error
messages
Express error states in plain language (no codes), precisely indicate the problem, and constructively suggest a solution.

Prevent errors Even better than good error messages is a careful design that prevents problems occurring.

Help and
documentation
When help and documentation is useful, make it easy to search, be focused on the user's task, and list concrete steps to be carried out.

Reference:
Molich and Nielsen, Improving a human-computer dialogue, 1990.