Solve a problem — Identify and make very clear to the user what need is addressed and how.

Always in control — It should always be clear what can be done, what is currently happening, and what has just happened. The user should never feel at the mercy of the tool. Give the user the final say.