Postel's Law, also called the Robustness Principle, was formulated by Jon Postel in the early specification of TCP (1980): "Be conservative in what you do, be liberal in what you accept from others." Originally a rule for network protocols, it has become a widely applied principle in interface design.
Applied to usability: the system should produce output that conforms strictly to rules and conventions, but it should accept a wide range of inputs from users, including non-ideal or ambiguous ones.
Examples of Postel's Law in interfaces:
- Date entry fields that accept "1/3/2024", "January 3, 2024", "3 Jan 2024", or "next Thursday"
- Phone numbers accepted with or without dashes, parentheses, country codes
- Search queries corrected for spelling and interpreted charitably
- URL bars that accept searches when a URL isn't entered
- Form fields that trim whitespace, normalise capitalisation, and handle common variations
The underlying idea is that users should not be punished for entering information in reasonable but non-ideal formats. The system should absorb the flexibility so the user doesn't have to conform to rigid rules.
The principle has limits. Too much input normalisation can hide errors or produce unexpected behaviour. Security-sensitive inputs (passwords, commands) must be handled strictly, not liberally. But for most user-facing data entry, Postel's Law is sound usability advice.
Postel's Law is in tension with Tesler's Law: liberal acceptance requires the designer to absorb complexity. The two laws work together — both place the burden of complexity on the system, not the user.
Related terms: Tesler's Law
Discussed in:
- Chapter 11: Software Usability — Form Design
Also defined in: Textbook of Usability