Sticky controlsSticky controls are what I would define as "up to a certain degree, having the system remember how a user wants to do things".
I will explain using the well known GUI. You have your basical window, possibly a menu bar, and when selecting functions, you can have things like buttons, checkboxes, drop-down lists, etc.
When the user selects an option that can be turned on or off, it is useful when the system 'remembers' the selected state between invocations of the application. Take for example a browser. Suppose it has a button bar, and the user selects 'buttonbar: off'. Now, after closing and restarting the browser, the buttonbar is still off.
In short, when you start an application (or say, a particular piece of the user interface), the system doesn't use default settings, but a set of defaults, from which some attributes persist until the application is used again.
Another good example are the familiar 'most recently opened files'-lists.
For all this, you can read 'application', 'user', 'setting' in a as broad a sense as you wish. The 'user' could be a network-distributed component co-operating with the system on some task, the 'application' could be a system service, hardware device, etc. And 'setting' could go as far as re-using a piece of firmware that was used earlier to work with the same hardware device.
What to remember, and what not? What 'settings' to keep persistent? In short: that, which is useful. For an application, those behaviour attributes that make a user feel familiar with the system. For small footprint systems, those things that are easy to store in between, and requiring little overhead to re-use. No more, no less.
Another way of describing a 'sticky control': having some properties of a system, as they are controlled by a user, stick between that user and the system.
This might be system-wide for some properties, or on a per-user basis for other properties.
Sticky controls are a particular, simple case, of interfaces that learn.
This page is linked from: interfaces that learn