From Jef Raskin's ***The Humane Interface*** book:
https://en.wikipedia.org/wiki/The_Humane_Interface
### Design rules
Raskin advocates a number of changes to conventional interface design. Among them:
- Modelessness - a [mode](https://en.wikipedia.org/wiki/Mode_(user_interface) "Mode (user interface)") is a state in which the computer produces a different output for the same input than it would have if it were another state; the classic example is the keyboard's "[caps lock](https://en.wikipedia.org/wiki/Caps_lock "Caps lock")" key. Raskin advocates either getting rid of them entirely or using "[quasimodes](https://en.wikipedia.org/wiki/Mode_(user_interface)#Quasimodes "Mode (user interface)")" (a term he invented in the book); a quasimode is a state in which the user must make some constant physical action in order to keep the computer in that state, so that they cannot forget that they are in that mode; an example is the keyboard's [shift key](https://en.wikipedia.org/wiki/Shift_key "Shift key").
- Monotony of design - there should be only one way to accomplish a certain atomic task in an application (in many modern applications, there are at least three - one through a button on the screen, one through a menu dropdown, and one through a keyboard shortcut - and often more).
- Every action should be [undoable](https://en.wikipedia.org/wiki/Undo "Undo"), even after a document or application has been closed and reopened.
- Elimination of warning screens - modern software applications often ask the user "are you sure?" before some potentially harmful action; Raskin argues they are unhelpful because users tend to ignore them out of habit, and that having a universal undo eliminates the need for them.
- Universal use of text - Raskin argues that graphic icons in software without any accompanying text are often cryptic to users.
Habituation is an important concept driving Raskin's guidelines, intended to free the user's mind from attention to low-level interaction details. A modeless interface, monotony of design and elimination of blocking warnings are all intended to favor habit-forming reactions to interface handling.
