User control
User control and Postel´s Law (originally formulated by internet pioneer Jon Postel as the Robustness Principle) is about making a design work for everyone, no matter how they use them.
Be conservative in what you do, be liberal in what you accept from others.
In UI design, this translates to a foundational principle of accessibility and user-centered resilience: your interface should accept messy, varied human inputs gracefully while delivering clean, consistent, and predictable output.
For example, imagine a social media app where users upload photos. To follow Postel's Law, the app would let users upload pictures in any format or size, adjusting and optimizing each photo automatically. This way, everyone has a good experience regardless of device or skill level.
Another real world examples
| Design Pattern | Anti-Pattern (Fragile UI) | Postel's Law Applied (Resilient UI) |
|---|---|---|
| Phone Number Inputs | Throws a red validation error if the user includes spaces, dashes, or parentheses: (555) 019-2834. | Accepts any string containing digits, automatically stripping symbols and formatting it cleanly in the background. |
| Date Selection | Rejects inputs unless typed in exact MM/DD/YYYY syntax, throwing an error for 10 Aug 2026 or next Monday. | Uses natural language parsing to interpret multi-format dates, returning a standardized calendar picker date. |
| Search & Filtering | Shows "0 Results Found" for minor misspellings or common synonyms (e.g., searching "fridge" instead of "refrigerator"). | Employs fuzzy matching and synonym mapping to surface the intended products seamlessly. |
| Credit Card Fields | Fails or truncates if a user pastes a 16-digit string containing spaces copied directly from a bank email. | Strips non-digits on paste and automatically visually formats the numbers into 4-digit readable clusters. |
Humans are chaotic. We copy-paste text with weird formatting, mix up date formats, make typos, and navigate using diverse assistive tools or input devices. Meeting users wherever they are rather than penalizing them for failing to guess strict database rules.
- Avoid Assumptions: understand that everyone uses designs differently. Make your design flexible enough to handle all kinds of user actions.
- Empathy in Design: try to see things from the user's perspective. Your goal is to make your design welcoming to everyone.
- Be Prepared for Anything: your design should be ready to handle any action users might take, from clicks to taps, across all devices.
- Embrace Variability: expect users to do the unexpected. Make sure your design adapts smoothly to whatever users throw at it.