[WebsitePatterns][UserInterface][UserInterfacePatterns][CategoryPattern][GuiGuidelines]
I am not certain if this is a Pattern or AntiPattern/DarkPattern. If you want to debate it, try DuiPatternDebate? -- WyattMatthews
Problems
Too much screen clutter on the User Interface
Context
Different users have more or less confidence or ability to handle certain tasks in your UserInterface. Some users demand the extra functionality be available, others want it to be hidden. Normally occurs in larger projects with a high number of interactive functions.
Solution
Automatically hide the clutter based on the user's skill set, location within the system, and preferences.
Resultant Context
Users are given controls they need and can use at their own discretion.
Known Uses
Skins, Microsoft Office 2000 auto-expanding menus, dynamic (optional/modifiable) toolbars, Websites
Possible Sub-patterns
It can inconvenience or bewilder users. Apply with caution.
Agreed... Too much DUIP is bad. But I still think DUIPs are a necessary evil in some cases (ie: expert v. novice, or administrator v. user, or to use Flash content v. text and simple graphics, etc...). I did recall that AutoCAD 2002 has over 40 toolbars and then a diagram showing you what's on each bar -- this pattern was probably applied too liberally in that case (but I'm not a Civil Engineer, what do I know). Overuse is a force in DUIP's AntiPattern. WyattMatthews
I remember back in the MiniComputer? days, some systems had "screen ID's" or "feature ID's", where you could type in a screen or feature-setter number and get the resulting item back to view or change. It made for nice shortcuts. Further, put all the options and fatures into a database, ControlTable-style perhaps, so that they can be searched and sorted different ways. Right now coders tend to hard-wire feature selectors to specific screens or menus. Sure, have a default, but I think future flexibility is assured if you treat the options/features interfaces as meta-data that can be dynamically presented or sifted.
[WebsitePatterns][UserInterface][UserInterfacePatterns][CategoryPattern][GuiGuidelines]