Postel’s Law: Designing for Robustness

Your user inputs will never be perfect

Weave Media Team
Kubo
7 min readJul 11, 2023

--

Introduction

You’re waiting in line at the coffee shop. The barista, under the pump and juggling multiple orders, forgets to add your extra shot of espresso. Despite this hiccup, you don’t storm out or demand a refund. Instead, you accept the error, understanding that the barista, like all of us, is human and occasionally makes mistakes.

Source: Devopedia

This interaction, commonplace and almost mundane, is the perfect embodiment of a design principle known as Postel’s Law. In the tech world, Postel’s Law acts as a guideline for software and network protocol design, but its essence resonates with how we, as humans, handle inconsistencies and mistakes in our day-to-day lives. So, what is Postel’s Law, and how does it affect the user experience?

We are looking at Day 18 of the series “30-Day UX Laws and Principles”, If you are yet to read the Day 17 part of the series, I highly recommend you read it. Today we will be exploring :

  1. Breaking down Postel’s Law
  2. Postel’s law and UX
  3. Real-life examples
  4. Difficulties and limitations

Breaking Down Postel’s Law

Postel’s Law, also known as the Robustness Principle, bears the name of its creator, Jon Postel, a pioneering American computer scientist. During the fledgling years of the internet, Postel was tasked with developing a rule that could ensure its stability and growth. His profound solution took the form of a simple yet influential principle:

“Be conservative in what you send, be liberal in what you accept.”

This maxim, straightforward as it may seem, carries significant weight in network communication and beyond.

Jon Postel

Imagine you’re designing an online form for a website, let’s say a registration form for a new user. As a designer, your primary aim is to ensure that the information users submit is accurate and can be used for future reference.

Applying Postel’s Law here would mean being ‘conservative’ in what you send. This could translate into designing the form fields in a way that clearly indicate the type of information required from the user. For example, if a field is for ‘Date of Birth,’ you ensure it accepts only valid dates. You might even add features like a calendar picker to guide the user.

Date of birth field

However, we can’t always expect users to provide information in the exact format we want. Here’s where being ‘liberal in what you accept’ comes in. So, if a user enters the date in DD-MM-YYYY format when your system usually accepts YYYY-MM-DD, the system should be capable of understanding and processing this input rather than rejecting it outright.

In an interview, Postel once remarked —

“Doing our best to deliver the message intact is not enough; our duty extends to preserving the stability of the service as a whole.”

His words capture the spirit of his law, emphasizing not just the importance of precise communication, but also the need for accommodating mistakes and deviations.

When it comes to the sphere of computer networking, Postel’s Law became a guiding light in the design and implementation of communication protocols. In the early internet era, the quality of infrastructure was inconsistent, with high potentials for error. However, with the Robustness Principle in place, these errors were seen not as insurmountable obstacles but as predictable inconsistencies to handle gracefully.

Postel’s Law and UX

Postel’s Law has substantial implications in user experience (UX) design. This is because it encourages a mindset of flexibility and tolerance that is paramount for creating positive user experiences.

Let’s illustrate this with the Google search engine. When you type a query into Google’s search box, whether it’s misspelled, grammatically incorrect, or formatted unusually, Google seldom returns an error. Instead, it’s designed to be flexible. It either offers corrections to misspellings (“Did you mean…?”) or still generates search results related to your query. This illustrates the “be liberal in what you accept” aspect of Postel’s Law. It shows an understanding that users will not always provide perfect input, but rather than chastise or reject this input, a robust system should work to interpret and utilize it in the best way possible. In doing so, Google maintains its functionality while simultaneously fostering an environment of inclusivity and user-friendliness.

Google doesn’t throw an error message every time the user inputs are filled with errors, instead, it makes connections and produces the most relevant results

But being “liberal in what you accept” is only one side of the coin. The counterpart, being “conservative in what you send,” is equally important in UX design.

Consider a webpage you visit. The site sends information to your browser to be rendered, but this information isn’t sent haphazardly. It adheres to specific standards and protocols (like HTML, CSS, and JavaScript), ensuring that regardless of whether you’re on Chrome, Firefox, Safari, or another browser, the webpage will be compatible and display as intended. The website sends the minimum necessary data, ensuring that it’s formatted in a way that it knows most browsers will be able to interpret correctly.

Webpages look similar no matter what browser you use, Top : Flipkart on chrome browser; Below : Flipkart on Microsoft edge

Moreover, being conservative in what you send also means not overwhelming the user with too much information or too many options at once. For instance, good UX design might mean not displaying every single option available on a website’s main menu, but instead conservatively showing the most relevant or popular options, while keeping others neatly organized in sub-menus or other areas of the site.

Real-Life Brand Examples

Let’s look at some real-life examples of brands effectively implementing Postel’s Law.

1. Google Maps:

When you use Google Maps, you can input your desired location in a variety of ways: you can type in the exact address, a vague description, or even misspelled words. Yet, Google Maps still understands and gives you accurate directions. Here, Google Maps is “liberal in what it accepts.”

Google Maps render appropriate results even with vague inputs

2. Amazon:

Amazon’s checkout process is an example of being “conservative in what you send.” During the transaction, Amazon sends only the essential information to your bank, keeping the data exchange minimal, concise, and secure.

Amazon collects and uses customer data that are necessary

3. Microsoft Excel:

Microsoft Excel is liberal in accepting various data input formats in its cells. You can input numbers, text, formulas, or even multimedia. Excel also tries to predict and auto-format the type of data you’re inputting, based on the first few characters. However, it’s conservative in what it sends. It keeps the interface simple and only presents the most relevant toolbar options based on the cell content you’re working with.

Excel’s auto fill

Difficulties and Limitations

While Postel’s Law provides a useful design guideline, it’s not without its limitations:

Security Vulnerabilities: Being too liberal in what we accept can create security risks. If a system accepts all inputs without strict validation, it becomes susceptible to attacks.

Misinterpretation: Postel’s Law might encourage lax standards, leading to a lack of consistency in data exchange protocols.

Ambiguity in Standards: Being too conservative in what we send can also lead to miscommunication if the recipient system interprets the input differently.

Conclusion

Just like how we adapt to hiccups in our everyday interactions, Postel’s Law encourages us to design systems that are flexible, robust, and empathetic towards errors. Though not without its limitations, this principle offers a valuable lesson in designing user experiences: empathize with the user, accommodate their mistakes, and strive for simplicity and reliability.

Written by: Inchara, kubo media team.

Hey!

If you enjoyed reading this article and want more engaging content like this, don’t forget to follow our publication!

Weave is a Design Agency focused on building magical experiences through purpose-driven design. Our aim is to create products that people truly love. To know more visit weavedesign.us

--

--