To make people happy, you have to let them feel like they are in control of
their environment. To do this, you need to correctly interpret their
actions. The interface needs to behave in the way they are expecting it to
behave.
Thus, the cardinal axiom of all user interface design:
<<<
A user interface is well-designed when the program behaves exactly how the
user thought it would.
>>>
As Hillel said, everything else is commentary. All the other rules of good
UI design are just corollaries.
Joel Spolsky
"User Interface Design for Programmers - Chapter 1"