Postel’s Law

Illustration for Postel’s Law: shapes of every kind going into a funnel and coming out as identical squares.

Key takeaways

Accept varied input from users, and translate it into the form the system needs.

Define clear limits, and give clear feedback when input can’t be accepted.

Origins

Also known as the robustness principle, it is credited to Jon Postel, an early pioneer of the Internet, who wrote it into a 1980 specification of the Transmission Control Protocol (TCP). It began as advice for network software: tolerate imperfect messages from others, and make sure that your own are strictly correct. In interface design it becomes a call for empathy with whatever people type, tap or paste.

In practice

  • Accept phone numbers and dates in different formats, and normalise them behind the scenes.
  • Forgive extra spaces, capital letters and pasted text.
  • When you do have to refuse input, say exactly what is wrong and how to fix it.

Further reading

The illustration is our own, drawn after the idea of this law’s card in Laws of UX by Jon Yablonski.