Resilience

Postel's Law

Be liberal in what you accept

Key Insight

Be conservative in what you send, liberal in what you accept-design interfaces that handle variable user input gracefully.

Key Points

  • •Be conservative in what you send, liberal in what you accept-handle variable user input gracefully
  • •Accept diverse input formats (dates, phone numbers, addresses) without requiring exact formatting
  • •Output consistently formatted, well-structured data regardless of input variation
  • •Anticipate typos, extra spaces, mixed cases, and partial entries
  • •Parse user intent rather than demanding syntactic precision
  • •Reduce friction by adapting to how users naturally behave
  • •[FIGURE 5-1 - Face ID flexibility] Shows: iPhone Face ID authentication screen. Teaches: Face ID accepts variations in appearance (glasses, hats, facial hair changes) while maintaining security-liberal in what it accepts. Reproduce as: Illustration of varied face inputs → single authenticated output.
  • •[FIGURE 5-2 - Responsive web design] Shows: Same website displayed across desktop, tablet, and mobile viewports. Teaches: Responsive design embraces the fluid nature of the web-accepting varied viewport sizes and outputting appropriate layouts. Reproduce as: Multi-device preview showing layout adaptation.
  • •[FIGURE 5-3 - Progressive enhancement search] Shows: Search component with basic text box that enhances to include autocomplete on capable browsers. Teaches: Progressive enhancement accepts varying browser capabilities while providing the best possible experience for each. Reproduce as: Side-by-side basic vs enhanced component.
  • •[FIGURE 5-4 - Design systems scaling] Shows: Design system components used consistently across multiple products. Teaches: Design systems enable consistent output across varied inputs (different teams, products, platforms). Reproduce as: Component library → multiple product implementations diagram.
  • •[FIGURE 5-5 - Text expansion i18n] Shows: English text "Search" expanding to Italian "Cerca" with different lengths. Teaches: Interfaces must accept varied text lengths across languages-design for expansion and contraction. Reproduce as: Multi-language string length comparison. Data: English→Italian expansion example.
  • •[FIGURE 5-6 - Amazon font scaling] Shows: Amazon.com adapting to user's minimum font size accessibility setting. Teaches: Accept user accessibility preferences and adapt layout accordingly-don't break when users customize their experience. Reproduce as: Same page at default vs large font size.

Guidelines

  • ✓Accept phone numbers in any format: (555) 123-4567, 555-123-4567, 5551234567
  • ✓Parse dates flexibly: 1/15/24, Jan 15, 2024, 2024-01-15 should all work
  • ✓Trim whitespace, normalize capitalization, and strip special characters automatically
  • ✓Use input masking as a guide, not a gate-don't reject partial input
  • ✓Show formatted output alongside raw input so users learn the expected format
  • ✓Reserve errors for genuinely uninterpretable input, not formatting differences

Want to learn this interactively?

Experience hands-on experiments and test your understanding.

Start Learning
🔥

Practice this topic

Active recall - strengthens long-term retention

Related Topics