Holehan’s Patterns

About

Settings Patterns


(:toc Pattern Overview:)

The Undo Changes pattern is work in progress.
Discuss? or login to edit Undo Changes!

Undo Changes

Summary

Offer a way to undo the changes users made to the settings. The undo mechanism should cover undoing the most recent changes as well as resetting to the defaults settings.

Illustration


Undo Changes Dropdown


Context

You are using the "Instant Apply" mechanism. Changes are applied right away without further confirmation by the user.

Problems

While the instant apply mechanism offers instant preview capabilities it does not handle the following cases:

  • A setting gets changed accidentally
  • The results aren't satisfying, the user wants them reverted
  • The preferences are in a state that require resetting. Think of a user that played too much with them and now doesn't know what to do to get the old behavior back.

Using explicit apply it is seemingly easier for users to revert resp. cancel changes in settings dialogs. However the "Cancel" button in such dialogs is not a sufficient replacement for a revert facility. That's why ...

Examples


Kcontrol "Reset"

OO.org "Reset"/"Standard"

OpenOffice "Back"


Solution

Provide a way to reset the changes a user has made. This works best in combination with the instant apply mechanism. Cover both resetting the most recent changes on one page as well as resetting the settings page to its default settings. Also consider a "reset all to defaults" feature that empowers users to reset all application settings to its defaults value. Make sure to communicate the differences so that it is clear what function resets which values.

Rationale

Code Snippets

Show Code Example

  1. #include <iostream.h>
  2.  
  3. main()
  4. {
  5.     cout << "Hello World!";
  6.     return 0;
  7. }

Related Patterns

Apply Changes

Literature

Categories: Settings

· Login