By Frank Spillers

a pair of shoes on to of an arrow pointing forward

What is "progressive disclosure"?

Progressive disclosure is an interaction design technique that sequences information and actions across several screens in order to reduce feelings of overwhelm for the user. By disclosing information progressively, you reveal only the essentials and help the user manage the complexity of feature-rich sites or applications. Progressive disclosure follows the typical notion of moving from "abstract to specific"; only it may mean sequencing interactions and not necessarily level of detail (information). In other words, progressive disclosure is not just about displaying abstract then specific information, but rather about 'ramping up' the user from simple to more complex actions.

In its most formal definition, progressive disclosure means "to move complex and less frequently used options out of the main user interface and into secondary screens".

A few familiar examples of progressive disclosure

An example of progressive disclosure is an online news article that is spread across four screens (with a Next Page link at the bottom). This use of progressive disclosure serves advertising objectives (showing banners on each page) and not the user's task. Another example would be a site that explains a product by making the user click through 4-5 pages of overview/benefits information before revealing the price of the product. The idea here is that if the user reads the product information, they will accept the price more easily. The problem with that approach is that it does not accommodate free-form exploration, a typical behavior on the web.

In its purest format, progressive disclosure is about offering a good teaser. A good teaser can include the following:

* A sample of what is next
* An introductory task that is most common
* A high-level view of what is expected
* A wizard that walks the user through the task
* A button that leads to more advanced functions (such as editing)

Progressive disclosure says: "Make more information available within reach, but don't overwhelm the user with all the features and possibilities".

Short History of Progressive Disclosure

Progressive disclosure is a concept that has been around since at least the early 1980s.  The technique caught the attention of user interface specialists with Jack Carroll's lab work at IBM (1983), where he found that hiding advanced functionality early on led to an increased success of its use later on. The approach dubbed "training wheels" is one of the only references validating the technique. Carroll and Rosson (1997) pointed out that no empirical evidence exists regarding the effectiveness of progressive disclosure and that the training wheels approach only studied a "single computer application (word processor) and a single interface style (menu-based control)". While independent usability studies and consultancy research (including our own) have shown that appropriate usage of the technique is valuable, more empirical research is clearly required.

The software vs. Web design environment

Historically, progressive disclosure is a concept that came from the software usability experience. It is clearly easier to apply to software than it is on the web, which is probably why you don't hear all that much about how to do it effectively on the web. In software, the interaction is between dialogues and 'fixed state' interactions. On the web, interactions are chaotic, randomized, and dynamic due to the fact that hypertext is a non-linear media.

In the software world, the audience is predictable and targeted, making learning styles more predictable. On the web, it's anybody's guess who might be using the site. The website visitor might be a particle physicist, a teen, or a grandma. Learning styles, comfort levels, and expectations differ greatly. This is perhaps why you hear a lot of references to progressive disclosure in conversations and interviews, but rarely any ideas about how to apply it effectively.

Usability guru Jakob Nielsen mentions progressive disclosure regularly but has never explored the subject in great length to my knowledge. Nielsen has stated:

"Good usability includes ideas like progressive disclosure where you show a small number of features to the less experienced user to lower the hurdle of getting started and yet have a larger number of features available for the expert to call up". Sitepoint interview with Jakob Nielsen

"Progressive disclosure is the best tool so far: show people the basics first, and once they understand that, allow them to get to the expert features. But don't show everything all at once or you will only confuse people and they will waste endless time messing with features that they don't need yet". Slashdot interview with Jakob Nielsen

There are dozens of references on the web (at least the first 7 pages of a Google search) of people saying progressive disclosure is valuable and recommended. Guidelines include it as an error control device and colleagues mention it often in corporate design rooms I personally frequent. The common notion is that it's good, everyone knows it, so just do it! I have yet to see anyone provide evidence of how to use it effectively on the web...

Using progressive disclosure effectively on the web

The marketing approach to progressive disclosure is to get excited about the features and force users to partake of the excitement by making them wade through them all. There's only one problem with that: if you want to get someone excited, creating a feeling of overwhelm does not strike me as a good way to get someone excited. Instead, you want to roll a small snowball down a hill and hope it gets bigger and bigger leading to an avalanche! This is the goal of progressive disclosure from a marketing standpoint.

The best way to think about progressive disclosure on the web is: "Only show information that is relevant to the task the user wants to focus on, on any given page". Context-sensitive advertising has finally figured this one out with regard to the text ads that Google pioneered.

Progressive disclosure is an interaction design technique that emerges out of the insights gained during Task Analysis (user observation of tasks). Observing users in the field, allows you to understand their workflow outside of your technology. This insight gives you the data you need to prioritize and sequence content functionality.

The main thing to remember about progressive disclosure is that you will be able to use it correctly if you have conducted task analysis (behavioral observation) with your user base. Observing users in their native problem-solving environment gives you insight into how they interact with the information. By observing someone's eating habits, you'll know whether they typically look at the desert and drinks menu at the start, in the middle, or at the end of the meal. You'll discover whether they like to eat the main course or their salad first and whether they drink before a meal or at the end of a meal.

Examples of progressive disclosure on the web:

* Learn more link
* Related topics link
* Overview of account information on the first screen
* View more details link
* Advanced search link

Why is progressive disclosure the most important interaction technique?

Progressive disclosure is powerful because it embraces several good design principles:

* Advocate for users with different needs (experienced and non-experienced users)
* Limit what you show on a screen
* Give access to the low hanging fruit and de-emphasize infrequent tasks
* Only show users what they need when they need it
* Focus the interface on making the user successful at the start

Benefits of Progressive Disclosure:

* Remove the need for the user to explore and examine the interface first
* Allow the user to chunk the task in a sequence that matches their expectation
* Reduce cognitive overload
* Increase the efficiency and ease of use of the site

Dangers of Progressive Disclosure:

* Users are forced to wait until you are ready to show them
* Repeat use may not require progressive disclosure (depends on the task)
* Over-constraining what users see (or dumbing it down too much)
* Assuming you understand what is the most popular, common, or important task

Progressive disclosure has a good name as an interaction design technique and for good reason. The downside to it is in its inappropriate usage. Microsoft Word, for example, is full of many inappropriate uses of progressive disclosure, such as the auto-hiding extra menus that you have to repeatedly activate even if you don't use the menu item (the down arrows that appear at the bottom of any menu).

Progressive disclosure can be powerful. It allows users to orient to a screen, figure out what they need to do, and do it in steps that reveal more complex information as they go along. As a design technique, its fallacies can be prevented by basing the progressively disclosed tasks and information on actual observed user behavior. If you can realize that the technique is an outcome of data gathered in task analysis and not just a "design idea" you will get more mileage, more accuracy and you will be more successful using it as a tool.

Best Wishes,

Quote this as: (2003) Spillers, Frank. Web Usability Best Practice Handbook. Experience Dynamics.