Readplace

Principle of least astonishment

Wikimedia Foundation, Inc. 7 min read
View original
  • Last crawled at
Summary (TL;DR)
The principle of least astonishment (POLA) in UI/software design states that a system should behave as users expect, minimizing surprise. First formalized in computing in the 1970s, with earlier references in PL/I in 1967, it applies broadly, including writing and cross-references. Key ideas: components should match user expectations and mental models, leverage familiar conventions (e.g., Unix switches, Windows shortcuts), and use sensible defaults. Examples include JavaScript's parseInt defaulting to base 8 for '0'-prefixed strings (causing bugs, later fixed in ES5) and Unix '?' for keyboard shortcuts. The principle guides design for specific audiences (end users, programmers) and is used by communities like FreeBSD.