The Problem

As your platform matures, the number of features inevitably increases. While some users may require these new functionalities, others may find them distracting. This leads to a significant challenge: how can you accommodate the varying needs of a diverse user base?

This situation is particularly true when designing an existing or new user interface for a larger pre-existing application. Given the different goals of user groups, how can you make the interface friendly for everyone, from the novice to the advanced user?

The Forces at Play

Understanding the forces or factors that influence the user’s interaction with your application is crucial. Here are some key points to consider:

  • Unexperienced users need to learn the basic functionality before exploring advanced features.
  • Unexperienced users may want to experiment with options to learn but may get confused if the application behaves unexpectedly.
  • Users requiring specific additional features may find other special features distracting.
  • Users who need the hidden features may be frustrated if they have to exert extra effort to access them.
  • Some functionality rarely needed on some Moodle sites may be basic functionality on other sites.

The Solution: Progressive Disclosure

Progressive disclosure is a technique that hides advanced or rarely used features on a secondary screen or a section hidden by default. This strategy makes applications easier to learn and less error-prone.

In essence, progressive disclosure is about offering a teaser. After studying users’ needs, you can identify which options or controls are unnecessary for the most common uses of the application. From there, you can decide reasonable default values for these options.

Here’s how you can implement progressive disclosure:

  1. Hide unnecessary options or controls from the default UI. When a user first visits, they should see only the essential features.
  2. Provide icons or links to reveal the hidden options. Each icon or link should only have options related to a specific user goal.

The goal is to let less-experienced users know what they can safely ignore. They may be curious and take a peek, but they can still go back and ignore it if what they see is confusing. Also, users of the initially hidden features benefit since they can skip extra features they do not need.

Key Elements of Progressive Disclosure

Reasonable Defaults

Options hidden with progressive disclosure should have reasonable defaults. If users change the value of options, they may not understand all the implications. Indicating the default value next to or in the form element allows them to revert to safe defaults.


Unless you have a specific reason not to, make the state of the progressive disclosure persistent across page views for any given user. This way, more experienced users don’t constantly have to hunt down options they need frequently.


Make sure the users who need the advanced functionality find it. It should be easy for the user to discern the elements that appeared when they pushed the Advanced button.


For some options, there may be no reasonable default, but users should always select them. Consider making it possible to disable progressive disclosure for such options.

Common Mistakes

Remember, there are no real novice, intermediate, or advanced users. Different personas have various dimensions of computer literacy. A common mistake is making users choose their skill level and showing more or fewer controls based on that. Progressive disclosure should be based on scenarios that different actual personas will be in, and the selection of features to hide is based on knowing their goals.

Featured image generated using an LLM

Leave a comment

Your email address will not be published. Required fields are marked *

Comment moderation is enabled. Your comment may take some time to appear.