One of the things to strive for in programming is the wonderfully named Principle of least astonishment - from Infogalatic:
Principle of least astonishment
The principle of least astonishment (POLA), sometimes also referred to as Principle of Least Surprise, applies to user interface and software design, from the ergonomics standpoint. It is alternatively referred to as the law or rule of least astonishment, or of least surprise. "If a necessary feature has a high astonishment factor, it may be necessary to redesign the feature." In general engineering design contexts, the principle may be taken to mean that a component of a system should behave in a manner consistent with how users of that component are likely to expect it to behave.
A textbook formulation is "People are part of the system. The design should match the user's experience, expectations, and mental models." The choice of "least surprising" behavior may depend on the expected audience, e.g. end users, programmers or system administrators.
In more practical terms, the principle aims to exploit users' pre-existing knowledge to minimize the learning curve, for instance by designing interfaces that borrow heavily from "functionally similar or analogous programs with which your users are likely to be familiar." User expectations in this respect may be closely related to a particular computing platform or tradition. For example, Unix command line programs are expected to follow certain conventions with respect to switches, and widgets of Microsoft Windows programs are expected to follow certain conventions with respect to key bindings. In more abstract settings like an API, the expectation that function or method names intuitively match their behavior is another example. This practice also involves the application of sensible defaults.
Closely related to the OhNoSecond
Leave a comment