Thoughts /
May 8, 2024
The term "progressive disclosure" has been around since the 1980s, and is widely used and understood. It relates to the practice of moving advanced or rarely used features away from the primary interface to a secondary interface, and then gradually revealing those features to users as they progress through a series of steps. The intention is to simplify the initial experience (eg for novice users), reduce up-front cognitive load and prevent overwhelm.
In some cases, though, there's more to consider than just simplifying the user interface, or providing access to advanced or complex features. Often, you're trying to teach users what's possible and increase discovery and learnability of features. In these cases, reframing 'progressive disclosure' as 'progressive cognition' encourages focus on the user's perception and on building their mental model, and this then drives what you disclose at each step (rather than, say, the inherent complexity of the interface).
The general tenet is here is to start simple and move toward complexity.
The initial step should give users a hint at what's possible, and signpost the first step on that path (I call this 'signalling the proposition'). That first step should be easy to take, with a limited number of choices and intuitive UI elements. Each subsequent step should then only reveal a manageable amount of new information, reinforcing and building on the user's previous understanding and mental model.
You may well end up with a fairly complex UI, but because the user has 'driven' the path through intuitive decisions they've made along the way, they're more likely to have a better understanding and feel less overwhelmed.
How you signal the proposition at that first step requires careful consideration. What you give away pre-interaction can communicate strong messages to users about:
Let's look at an example.
Consider an online repository of information - maybe a website news section, or blog, or list of products - a series of items that can be filtered by the user to show a subset of those items. There are a number of ways that the filtering feature could be presented to users - the examples below are all first-step (pre-interaction) states.
As with any multi-step process, it's important to make every effort to avoid dead-ends, forcing users backwards in the process.
In the example above, if users need to be able to filter the repository by multiple filters, make sure that they're not able to run into 'zero matches'. You could do this in a couple of different ways:
May 8, 2024