Spring-Loaded Modes

by Jakob Nielsen on July 1, 1995

Sidebar to Jakob Nielsen 's column on browser navigation features .

A spring-loaded mode is one that persists only as long as the user explicitly does something to keep it active. The most typical example is a state that exists as long as the user holds down a mouse button. As soon as the user releases the button, the system exits the temporary state. A classic use of this interaction technique in hypertext is a pop-up annotations that is shown in a windoid as long as the user holds down a mouse button while the pointer is over an anchor point.

In current user interfaces, modes are considered problematic, because they limit the user's freedom to act (only certain actions are possible in each mode). Also, modes often lead to user errors because the user forgets what the current mode is and initiates actions that might have had the intended effect in some other mode but lead to problems when the computer interprets them under the rules for the active mode.

Spring-loaded modes are a major exception to the rule that modes cause usability problems: because the user needs to do something active to keep the mode in effect, there is little risk that the user will forget about the mode.

As an aside, I should mention that Don Gentner and I argue that modes may not be so bad after all if they are part of much more expressive user interfaces like the strongly object-oriented ones we expect to see in the future. See our paper The Anti-Mac Interface in the August 1996 issue of the Communications of the ACM .

Share this article: Twitter | LinkedIn | Google+ | Email