Some system behaviors and settings may need to change depending on the user.


Settings should be implemented when there is functionality and behaviors that may need to be changed to meet a user’s needs, such as notification settings, account settings, and other system behaviors.

Avoid the urge to “just make it a setting”. Only add a setting if:

  • More than 15% of your users will change the setting
  • It’s infrequently changed by users. If it’s frequently changed, consider making it more available

Basic functionality

Depending on the application type, settings can appear as a dedicated page or as a modal dialog. The complexity of the settings panel can vary drastically between applications.

The settings panel can be composed of:

  • Navigation
  • Settings forms
  • Search


Use tabs if there are 5 or less sections of settings without nesting, otherwise use tree navigation. Hierarchical tree navigation is preferred over nested levels of tabs and improves discoverability.

Flat navigation

Tree navigation

Tab navigation

Saving changes

There should be a Save changes button on every panel with savable changes. The buttons should be disabled if there have not yet been any changes. If the user attempts to navigate away with unsaved changes, the application or browser should ask them to confirm.