@johncutlefish's blog

Check out Iterate.fm, my podcast with friend and coworker Tareq

Usability Principles and Onboarding

Published: February 11, 2017

With onboarding, the focus is often on the particular and more particular. Who is your user? What are her goals? What is going on at this very moment in his interaction with the app? In this post, though, we’ll take a step back to bring overarching principles of usability to the discussion.

Usability heuristics are widely recognized principles that guide (or should guide) all software and user interface design. Heuristic evaluation provides a way to examine how well a process meets these overall goals for user experience and pinpoint possible trouble spots.

Two well-known sets of usability heuristics were developed by Jakob Nielsen and Bruce Tognazzini, respectively. Nielsen’s heuristics (which can be found here) were released in their current form in 1994 and are some of the most used for user interface design. Tognazzini, who designed Apple’s first human interface and wrote First Principles of Interaction Design developed another set of heuristics (which can be found here). There is overlap between these two, and here we’ll review how some principles found in both can be applied to onboarding:

“Bring to the user all the information and tools needed for each step of the process.” -Tognazzini

“Visibility of system status” -Nielsen

The user should have a clear understanding of what is going on at all times. Status information should be visible, accurate, and continuous, keeping the user oriented. This chain of information should remain clear during onboarding.

Keeping the user aware of status helps create a positive onboarding experience. Poorly designed onboarding where the user doesn’t know what is going on can be overwhelming and confusing. Status feedback should answer questions like: Where am I in the overall process? Am I creating real data, and will my entries be saved? Is this working? Is it loading?

“The most important consistency is consistency with user expectations.” -Tognazzini*

“Match between system and the real world” -Nielsen

Usability is defined by meeting users where they are. Systems should strive to work with existing user behaviors and knowledge when possible. The verbal and visual language of an app should match the language and conceptual understanding of the user, not the developers.

If users are accustomed to working a certain way in your app, then it’s best for your onboarding to conform to that pattern, whether it’s “right” or not. When adding an onboarding experience to an existing application, it’s easy to introduce inconsistency. In addition to being frustrated by unfamiliar functionality, users will distrust overlays, tooltips, and walk-throughs that don’t match the visual styling of the rest of the product. Pay close attention to content, styling, placement of buttons, rules for advancing and exiting, etc., and strive for consistency and familiarity.

“Use Active Discovery to guide people to more advanced features.” -Tognazzini

“Recognition rather than recall” -Nielsen

Active discovery means that, instead of waiting for users to discover an interface item, we directly offer it to them. This kind of process is the core concept of onboarding. However, it works best in balance with Nielsen’s concept of user education, in which it’s important to minimize memory demands for the user.

For active discovery to work, you need to anticipate when the user will need something. An onboarding experience that introduces advanced features that the user won’t need for a week contributes to cognitive overload and is unlikely to be useful. You also need to figure out how to remind users of features without overloading them with reminders.

“Give users well-marked roads and landmarks, then let them shift into four-wheel drive.” and “Sometimes you have to provide deep ruts.”-Tognazzini

“Flexibility and efficiency of use” -Nielsen

These principles speak to the balance between direction and user freedom. We want advanced users to be able to move more quickly, while still giving enough guidance to inexperienced users. With onboarding, it’s easy to think in terms of a very linear progression, but making that too strict is at odds with user freedom. When and where should we give the user the opportunity to “shift into four-wheel drive” and advance past steps? If we’re providing deep ruts, is there a benefit that justifies the structure and is clear to the user?

The concept of landmarks is also relevant for onboarding. Multi-step onboarding experiences can feel unsettling when when other parts of the interface are obscured. Convey a sense of place by using familiar landmarks. The next step in an onboarding sequence should also be visible. Difficulty finding the next step drains users’ reserve of attention.

“Make actions reversible.” -Tognazzini

“User control and freedom” -Nielsen

In Nielsen’s words, “Users often choose system functions by mistake and will need a clearly marked ‘emergency exit’ to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.”

In onboarding experiences, always keep the user’s exit option in mind. Guiding someone through a long series of steps without a clear sense of being able to “back out” will leave your users very anxious. It’s calming to hear “you can review your order at any time” or “feel free to go back and check things over.”

Avoid form workflows where there is no legitimate ability to go back and undo past steps. And, when you ask a user to experiment with a new interface, assuage their fear that they will mess things up. When the user is experimenting, make it clear that “this is just a test project” or that “you can’t mess up.”

“Make it easy and attractive to stay in.” -Tognazzini

“Consistency and standards” and “Visibility of system status” -Nielsen

This principle emphasizes that people are more likely to stick with a task when they know where they are and how to move around as needed, and ties in with the general themes of consistency and keeping the user oriented. If you reduce stress and cognitive load for the users, it’s easier for them to engage with your app longer.

One common application of this principle is that you should not force users to rely on their browser’s back button to go backwards. Test this out in your onboarding progression. Can users reliably move backwards and forwards without using the browser button? If they do use the browser button, what will happen?

“Use Progressive Revelation to flatten the learning curve.” -Tognazzini

“Recognition rather than recall” -Nielsen

Progressive revelation is a technique that spreads information and actions over several screens in order to avoid overwhelming the user. Information typically moves from broad and abstract to more specific, or interactions move from simple to complex. In this way, the user has a chance to gradually become familiar with complex sites or applications. This is in keeping with the idea that information should be provided in ways that reduce the user’s memory load — small pieces of information, close to where they’re needed.

Progressive revelation, or progressive disclosure, is central to onboarding. But you should always be balancing the number of options and the amount of information. Too many options or too much information create cognitive overload. Too little limits the user’s sense of control. Think about the ways that your onboarding can pace information to facilitate learning.

Important to remember is that checking your onboarding (or any process) against these usability heuristics is not a substitute for usability testing. The heuristics serve to make sure you’re on the right track and may provide some bursts of insight, but for each case, you need to make sure that the details of what you’re doing for your target persona in this exact situation are working effectively.

*This heuristic, presented by Tognazzini, is a quote from William Buxton.