Principle of least astonishment
From Wikipedia, the free encyclopedia
In user interface design, programming language design, and ergonomics, the principle (or rule or law) of least astonishment (or surprise) states that, when two elements of an interface conflict, or are ambiguous, the behaviour should be that which will least surprise the human user or programmer at the time the conflict arises.
For example:
A user interface may have the behaviour that pressing Control-Q causes the program to quit. The same user interface may have a facility for recording macros, a sequence of keystrokes to be played back later, intended to be able to control all aspects of the program. The user may want to record a keystroke sequence that includes Control-Q as part (most likely the last part) of the macro. The principle says that pressing Control-Q while recording a macro should not quit the program (which would surprise the user), but rather should record the keystroke.
This practice also involves the application of sensible defaults.
[edit] See also
[edit] External links
- "Applying the Rule of Least Surprise" from The Art of Unix Programming by E.S. Raymond
- Principle of Least Astonishment at Portland Pattern Repository
- Principle of least astonishment on UXPassion.com
- Law of Least Astonishment from The Tao of Programming by Geoffrey James