Progressive disclosure
Progressive disclosure is absence of the "walling off" of "end users" from more advanced features
without overwhelming these "end users" with loads of unnecessary complexity right away.
That is accomplished by providing ways to incrementally disclose more complexity.
Like e.g. tiny "+" buttons, or something entirely else.
Good progressive disclosure allows to disclose the relevant additional complexity
without much detour over disclosure of irrelevant complexity.
In fact being walled off from control over your machine
(by more or less conscious software design choices of the developers)
is what effectively makes you an (discriminates you as an) "end users".
Hypothesis:
Given good and deep enough reaching progressive disclosure:
- the concept of "end user" falls apart.
- the "end users" are elevated in status to something that is more like a "deveuser" – mending the growing user-vs-developer rift
Progressive disclosure is not just some just some random design pattern among many others of similar relevancy.
No. It is the absolutely essential basement for enjoyable and productive human-computer interaction.
Without very big improvements in progressive disclosure the new software crisis will only increase in severity.
Truly good progressive disclosure can be recognized on that
the GUI vs command-line rift is pretty much gone.
It's still a long long way till there.
And many will claim that this is impossible, will never happen,
or even that efforts in this direction will attack their productivity.
(which might not be entirely wrong – intermediate quite severe regressions in software are unfortunately a thing)
Good progressive disclosure (crossing the visual textual rift) will eventually win out though.
Just by being much more enjoyable to use in the end.
That won't be anytime soon though. (It's 2021 at time of writing).
Wikipedias current definition for progressive disclosure is rather disagreeable. It's rather missing the point. It says:
"Progressive disclosure is an interaction design pattern often used to make applications easier to learn and less error-prone.
It does this by deferring some advanced or rarely used features to a secondary screen. ..."
Side-notes
"End users" can be interpreted in a relative sense. That is: Programmers can sometimes be treated as "end users" by the integrated development environment that they use IDEs. The worse the IDE the more the users are treated as "end users".
Related
External links
- Progressive disclosure
- Not to confuse with: Progressive exposure (exposure therapy)