dark mode light mode Search Menu
Search

Principle of Least Astonishment

Steven Depolo on Flickr

Which of these is a button on a web page?

two buttons
Two Buttons

Most people would say B is a button. However, A also could be a button. We’re used to B as a button only because text on a colored rectangle on a page in a web browser signals a button, a way to submit information or view a page where we perform actions. If A is a button, most people will not realize how A works.

If you create a button on a web page and choose A as your button style, likely you will surprise or astonish people who use your page. If you use B as your button style, almost every person will understand.

The difference between button styles A and B is an example of the Principle of Least Astonishment. People who design and build software and computer interfaces should create their work in ways people expect. Their work should not astonish or surprise people. People fill out a form, for example, then expect to see text on a colored rectangle at the bottom which needs to be clicked to submit their data.

The Principle of Least Astonishment also helps settle debates over the best way to design software or an interface. When a conflict arises between the way two parts of an interface work, or programmers, designers, and others debate how a page is used, choosing what people expect from the page (and backing up your choices with testing) almost always leads to the best solution.

People also use software with clear words and tasks in their head about what they want to accomplish. The best interfaces use these words and tasks in the interface. Think of software doctors might use: a link that says Prescribe Medication might be better than a link that says Drugs if clicking the link leads to a page where doctors can order medications from a pharmacy.

Finally, the Principle of Least Astonishment does not require you to make the same interface or user experience design decisions other software has made. If you create a word processing software application, for example, you should realize most people are used to Microsoft Word and expect to create a new file by selecting the File menu then New Blank Document from the submenu. Following this design makes sense. However, you can ignore this design if you have a faster more obvious way for people to create new documents in your application.

Another way to describe this phenomenon is from a quote by Henry Spencer, a Canadian programmer:

The flip side of the Rule of Least Surprise is to avoid making things superficially similar but really a little bit different. This is extremely treacherous because the seeming familiarity raises false expectations. It’s often better to make things distinctly different than to make them almost the same.

The Principle of Least Astonishment is a guideline and a way to surface design problems and then think about solutions to the problems.

Learn More

The Principle of Least Astonishment

http://c2.com/cgi/wiki?PrincipleOfLeastAstonishment

History of Interface Design on Unix: Applying the Rule of Least Surprise

http://www.faqs.org/docs/artu/ch11s01.html

Rule of Least Surprise: In interface design, always do the least surprising thing.

http://www.faqs.org/docs/artu/ch01s06.html#id2878339

Controlling Your Environment Makes You Happy

http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html

What is the Principle of Least Astonishment?

http://programmers.stackexchange.com/questions/187457/what-is-the-principle-of-least-astonishment