The Principle of Least Astonishment

Alex Yampolsky
UX Planet
Published in
5 min readOct 21, 2018

--

The Principle of Least Astonishment (PoLA) is an important factor in user interface design and software design. Defined in the 1980’s, it dates back to the early days of modern computing. This principle effectively outlines one of the fundamental tenets of human-computer interaction (HCI).

The Principle of Least Astonishment postulates, “if a necessary feature ha(s) a high astonishment factor, it may be necessary to redesign this feature.” A broader application of this principle informs us that a part or a component of a system should behave in a way that the users expect it to behave. In other words, the users should not be surprised, startled or astonished by the system’s behavior, or by the behavior of any of the system’s components.

This principle fundamentally defines the Human Users as the integral (if not critical) part of the larger system, whose design and structure should match the human users’ experiences, expectations, and mental models.

Discussion
This discussion seeks to explore some of the elements of The Principle of Least Astonishment, as well as its role as part of a broader User Experience framework. Peter Morville’s UX Honeycomb Model, in my opinion, serves as a good illustration of the meaningful and valuable informational UX framework. For the benefit of this discussion the UX Honeycomb principles are listed below, as per Usability.gov:

Useful
Your content should be original and fulfill a need.

Usable
Site must be easy to use.

Desirable
Image, identity, brand, and other design elements are used to evoke emotion and appreciation.

Findable
Content needs to be navigable and locatable onsite and offsite.

Accessible
Content needs to be accessible to people with disabilities.

Credible
Users must trust and believe what you tell them.

System
Any software system design has people in the forefront. People are not only part of the system — they are the system. A system’s design must not only reflect the people’s functional needs, but also anticipate, and even suggest interactions and patterns of behaviors that would make their overall experience within a system a pleasant one.

Let us take a closer look at the very definition of the word “system,” so as to better understand how The Principle of Least Astonishment becomes a key part of the system design discussion.
A Google search of the word system defines it as:

1. a set of connected things or parts forming a complex whole, in particular.

2. a set of principles or procedures according to which something is done;
an organized scheme or method.

Both definitions effectively highlight the importance of The Principle of Least Astonishment as it relates to the planning and design of software systems or applications. Most of the broader interactive patterns and functional flows are defined and established in the early planning process. Users’ behavior models are also defined and analyzed at that time. This is a critical juncture in the process, demanding extensive and close collaboration between the Product, Development and User Experience teams. Such practice builds a holistic awareness of the overall interactive structure of the system, its parts and components.

Interactive Patterns

The minimization of the Astonishment factor greatly enhances the Usability principle described by Morville. A careful flow analysis can highlight the more abrupt and unexpected breaks in the logic flow, especially as it relates to the user’s journey within the system. Defining a set of hierarchical interactive patterns early on in the process helps to avoid such breaks and disruptions.

An Interactive Design team may be tasked with conveying the general interactive patterns to the Product and Development groups. These patterns would be defined and tested with users early on in the process, with mockups, wireframes or simple sketches. This may help not only to establish and define the overall pattern of behavior within the system, but make the system structure easier for the development teams to understand and build going forward, thus avoiding costly Development redo’s later on.

Macro and Micro-Interactions

A software system offers a finite number of sequential steps to achieve a desired result, enabling the user to arrive at the intended destination in their journey. The cataloguing and the documentation of macro- and micro-interactions is an important and useful method, both in the beginning and throughout the system building process. The interactions of task categories, task groups and even single tasks can be documented through visual and narrative methods.

Storyboards, wireframes and simple mockups are very helpful in documenting of this process. They can help to illustrate the actual screen sequence as well as highlight specific functionality needs of the individual tasks within the flow.

As the macro-interactive patterns are defined, they need to be analyzed for abrupt or unexpected breaks in their interactive and functional logic. This in turn will help fleshing out the minutia of the more granular micro-interactions.

Ideally such methods and techniques can help define predictable pathways of interactive behavior, which can be easily remembered by the human user and applied in their future interactions with the same or analogous system.

Previous Experience and Learned Behavior

Software systems design projects often build upon the users’ experience or familiarity with similar systems or applications. The idea is not only to incorporate the best elements of an existing system, but also to also potentially lessen the learning curve for the users of the new system. In such case, it is absolutely critical to do a thorough and extensive analysis of the current system, so as to be able to define which new components should be introduced to enhance it across the entire User Experience spectrum. Such discussion would also explore the current and future business needs, and would involve a multi-faceted team of professionals, including Business, Product, Development, and UX, among others.

Conclusion

As I describe in my article, The Comfort of Continuity, the human users expect smooth, seamless and uninterrupted journey through a system or an application, regardless of its perceived (or actual) complexity. From a simple electronic pharmacy prescription refill to the most complex multifactorial currency trading sequence — The Principle of Least Astonishment remains a critical element of software systems design and the overall User Experience conversation.

--

--

Practicing intuitive design. Seeking simplicity in everything human.