Back to Glossary
Research and DiscoveryP

Progressive Disclosure

Definition

Progressive disclosure is an interaction design pattern where the interface presents only the information and controls relevant to the user's current task, revealing additional complexity on demand. The term was coined by John M. Carroll in the 1980s during his work on minimalist instruction at IBM, and it remains one of the most effective patterns for managing cognitive load in complex products.

The core idea is simple: don't make users process information they don't need yet. A shipping label generator doesn't need to show customs declaration fields until the user selects an international destination. A project management tool doesn't need to show sprint velocity settings during basic task creation. Complexity exists, but it waits until the user is ready for it.

Progressive disclosure operates at multiple levels. At the micro level, it's an "Advanced Settings" expandable section. At the macro level, it's an entire onboarding flow that gradually introduces features over days or weeks. The principle is the same at every scale.

Why It Matters for Product Managers

Every feature you add to a product increases its surface area. Without progressive disclosure, surface area and complexity grow together -- and at some point, the product becomes harder to use even as it becomes more capable. This is the feature-richness paradox: the tool that does everything is the tool nobody can figure out.

Slack solved this deliberately. When a new user joins a workspace, they see a single channel with a guided tutorial. Channels, apps, workflows, Huddles, canvases -- all of that exists but isn't surfaced until the user demonstrates readiness through their own exploration. Slack's onboarding completion rates improved significantly when they adopted this layered approach versus their earlier "here's everything" design.

For PMs, progressive disclosure directly affects three metrics. First, activation rate -- new users who aren't overwhelmed are more likely to reach their "aha moment." Dropbox found that simplifying their initial experience to one action (upload a file) increased activation by 15%. Second, feature adoption -- features hidden behind progressive disclosure often see higher quality engagement because users who find them are self-selecting based on actual need. Third, support ticket volume -- when users can't find what they need or are confused by options they don't understand, they file tickets.

How It Works in Practice

  • Identify your primary and secondary tasks. Analyze usage data to determine which actions 80% of users perform on a given screen. These are your primary layer. Everything else is a candidate for progressive disclosure. GitHub's repository page shows code, README, and recent commits by default. Settings, Actions, Discussions, and Wiki live in tabs users can visit when they need them.
  • Choose the right disclosure mechanism. Common patterns include:
  • - Expandable sections -- "Show advanced options" toggles (Jira issue creation, AWS console)

    - Staged wizards -- Multi-step flows that collect information incrementally (Stripe onboarding, Vercel project setup)

    - Hover/click reveal -- Showing controls only on interaction (Figma's layer panel, Notion's block handles)

    - Contextual surfacing -- Showing features when they become relevant (Google Docs suggesting "Explore" when you paste data that could be charted)

    - Experience-based unlocking -- Revealing capabilities as users demonstrate proficiency (Duolingo's skill tree)

  • Don't hide critical information. Progressive disclosure is about deferring complexity, not concealing it. Error states, destructive actions, and pricing information should always be visible. Amazon was criticized for burying total costs behind multiple clicks during checkout -- that's not progressive disclosure, that's a dark pattern.
  • Make the hidden content discoverable. Users need to know more options exist even if they can't see them. A "More options" link, an ellipsis menu icon, or a brief label ("3 advanced settings") signals that additional functionality is available. The worst implementation of progressive disclosure is when users don't know the feature exists at all.
  • Test the default layer. Run usability testing specifically on your primary layer to confirm that the most common tasks can be completed without opening any disclosure controls. If users regularly need to expand to "Advanced" to finish basic tasks, your primary layer is misconfigured.
  • Common Pitfalls

  • Hiding too much. If users constantly need to click "Show more" to do basic work, you've been too aggressive. Progressive disclosure should simplify the common path, not add clicks to it. Watch your analytics for high expansion rates -- they indicate the default view is insufficient.
  • Inconsistent disclosure patterns. Using expandable sections in one part of the product, drawers in another, and modals in a third creates its own cognitive load. Pick 2-3 disclosure patterns and apply them consistently. Linear uses a consistent command palette + sidebar pattern throughout.
  • No progressive disclosure in onboarding. Dumping every feature on new users in a product tour defeats the purpose. Notion's initial experience focuses on a single page with basic blocks. Templates, databases, and API integrations come later.
  • Confusing progressive disclosure with feature gating. Gating is about access control (free vs. paid). Progressive disclosure is about cognitive load management. A free user should still experience progressive disclosure within the features available to them.
  • Cognitive Load is the problem that progressive disclosure solves -- reducing the mental effort required to use your product by limiting what's on screen at any given moment. Information Architecture determines the structure that progressive disclosure operates within; poor IA means users can't find the hidden layers even when they need them. Usability Testing is how you validate that your disclosure boundaries are in the right place -- that the default layer serves the primary task and the expanded layers are discoverable when needed.

    Frequently Asked Questions

    What is progressive disclosure in product design?+
    Progressive disclosure is a design pattern where you present only the most essential information or controls first, and reveal more complex options only when the user explicitly asks for them. It reduces cognitive load by preventing users from being overwhelmed by options they don't need for their primary task. Jira's issue creation form is a classic example -- it starts with title and type, then lets users expand into dozens of additional fields.
    How do you decide what to show first versus what to hide?+
    Start with usage data. If 80% of users only interact with 3 of your 12 form fields, those 3 are your primary layer. The remaining 9 go behind an 'Advanced' toggle, a secondary tab, or an expand control. When usage data isn't available, run a card sort or tree test to understand user expectations, then validate with usability testing.

    Explore More PM Terms

    Browse our complete glossary of 100+ product management terms.