Progressive Reduction

Allan from LayerVault:

The idea behind Progressive Reduction is simple: Usability is a moving target. A user’s understanding of your application improves over time and your application’s interface should adapt to your user.

And:

Your proficiency in a product will decay over time without usage. As such, the proficiency reflected in the UI decays over time. Essentially, your UI regresses without usage.

We implement Progressive Reduction by assigning levels to each feature, starting with level 1. For example, if you gain enough proficiency in Signposting and Delivery you’ll see the level 2 version of various UI elements. If you fail to Signpost for a few months, your UI regresses back to level 1.

They also published a post about the implementation. Progressive reduction is something that in theory sounds great, but that is seldom prioritised high enough in projects too see the light of day.

The advantage over simply offering a setting for these sort of things isn’t obvious though—while an automatically adapting UI is elegant, not having complete control over the experience could prove frustrating for some users. E.g., in LayerVault’s example, they are not only removing visual noise but also making the hit area of the button significantly smaller, something which you might not want to sacrifice, regardless of how well you know a UI.  LayerVault says they are measuring how the implementation is performing though, so I’m eager to see the results.