The macOS print dialog opens as a small, calm thing: a printer, a number of copies, a Print button. Then there's a little triangle, and if you click it the panel unfolds into a wall of options you've almost never needed — page ranges, scaling, paper handling, layout, whatever the specific app decided to bolt on — all of it there the whole time, folded up behind one disclosure. That triangle is progressive disclosure, and it's probably the most-copied interaction pattern that most people can't name.
The idea is easy to say and hard to do well. Show the few things everyone needs, and put everything else one deliberate step away.
Sequencing, not hiding
The objection people reach for first is that hiding options is user-hostile, that you're making things harder to find. But progressive disclosure isn't hiding, it's sequencing — a decision about what comes first, not about what exists at all. Nothing is taken away. It's just held back until you ask.
The default view is a claim about who you're optimising for. Raycast opens to a single search box, and everything it can do — every command, every extension, every action on a result — is a keystroke deeper rather than gone. Linear's issue view looks almost empty until you need it, and then every field turns out to be one shortcut away. The common case gets a screen with nothing to parse, and the rare case gets a clear path down to the depth. Both people are served, and neither is made to pay for the other's needs.
The two ways it goes wrong
Progressive disclosure fails in two directions, and they're worth naming because they look nothing alike.
The first is disclosing the wrong thing. If the split is wrong, if the field most people actually reach for is behind the reveal while something niche sits in the default, you've made the common case harder in order to tidy up the rare one. A bad split is worse than no disclosure at all, because now people have to hunt for the thing they need and learn along the way that your defaults can't be trusted.
The second is a reveal nobody finds. A disclosure that isn't discoverable is just a missing feature with extra steps. The triangle has to read as clickable. The Show advanced has to sit where someone would look without hunting for it. The affordance has to promise there's something behind it. Hide the entrance well enough and you haven't decluttered the room, you've just lost it.
Every "Advanced" section is a decision you didn't make
Here's the uncomfortable part. An Advanced accordion is sometimes the honest answer to a real problem — genuine power-user options that really would drown the default if you left them in. And sometimes it's a cop-out. You couldn't decide whether an option belonged in the default, so you dropped it behind a toggle and let the user inherit the decision you didn't want to make. The reveal quietly became the place you put things you hadn't thought hard enough about.
I try to interrogate every field I've pushed behind a disclosure with a single question: does this need to exist at all, or did I just not want to choose where it went. More often than I'd like, the honest answer is the second one, and the fix isn't a tidier accordion. It's deleting the option, or picking a sensible default and moving on. Progressive disclosure is a tool for managing genuine complexity, not a drawer to sweep the complexity you haven't finished thinking about.
Where this leaves me
The best progressive disclosure is the kind you never notice, because the options you didn't need never crossed your path and the ones you did were exactly where you'd have looked for them.
It's worth seeing it for what it is on a bigger map, too. Choosing to fold complexity behind a reveal is one move on the spectrum of explicitness: you're deciding the default should be quiet and implicit, and the power should stay explicit but a step away. Get that call right, for the thing you're actually building and the people actually using it, and the interface does the most flattering thing software can do. It makes a complicated thing feel simple, without ever lying about how complicated it really is.