[kde-guidelines] HIG pattern about simple vs. advanced settings

Thomas Pfeiffer thomas.pfeiffer at kde.org
Mon Feb 1 13:28:20 UTC 2016


I like!
Inline some alternative wording suggestions and minor edits:

On Sonntag, 31. Januar 2016 15:36:34 CET Heiko Tietze wrote:
> After a request on the KDE forums (https://forum.kde.org/viewtopic.php?
> f=285&t=130573), Fabian drafted a guideline for simple vs. advanced settings
> that actually recapitulates what we had in mind for the KCMs.
> 
> HIG/Patterns
> ** [[Projects/Usability/HIG/SettingsPattern|Settings]] - Provide setting in
> both simple as well as advanced configurations.
> 
> HIG/SettingsPattern
> == Purpose ==
> The settings dialog provides user-customizable options how an application or
> plasma (KCM) should behave. The dialog is intended for options that are not
> accessed frequently and are persitent.
> KDE aims to be highly configurable on the one hand but also to be simple for
> beginners. 
> Therefore the settings are split into simple vs. advanced.

Following KDE's "Simple by default, powerful when needed" design mantra, 
settings are split into simple vs. advanced ones.

> Advanced settings are options that are not important to most users but
> essential for some, and can't removed therefore. Those options are hidden
> by default, but with an easy access in order to improve learnability.
> 
> == Guidelines ==
> === Is this the right control ===
> * Use this pattern for all settings that are relevant to change for users.
> * Do not use the settings dialog for frequently accessed properties like
> different views (for instance details vs. icon view). Use a toolbar or
> context menu for those options.

Use the toolbar or main menu (and optionally context menu) for these options.

> * Do not use the settings dialog for rarely changed or developer options
> like the sql table name. Use extra configuration files or dialogs for those
> options. === General recommendations ===
> * Simple by default: Define smart and polite defaults. Set the defaults in a
> way that most users don't have to alter them at all.
> * Powerful when needed: Even so KDE is all about options, try to keep your
> settings as small and simple as possible. Remember: every option requires
> more code and more testing!

Even though customizability is very important for KDE software, try to keep 
your settings dialog as small and simple as possible.

> * Respect the privacy of the users: Always use an opt-in, never an opt-out
> for those options.

Always use opt-in, never an opt-out model for features that transmit 
potentially private data (e.g. usage statistics).

> === Behavior ===
> * Provide functions to export/import all settings. If splitting the options
> into app related (such as colors, fonts, etc.) and account related (for
> instance personal settings, mail accounts..) make sense, let the user decide
> what to export. Import has to be straightforward as much as possible; let
> the user just confirm when data are being overwritten.

Provide functions to export/import all settings. If splitting the options
into app-related (such as colors, fonts, etc.) and account-related (for
instance personal settings, mail accounts...) make sense, let the user decide
what to export. Import has to as straightforward as possible; let the user 
just confirm when data are being overwritten.

> * Consider to add access to third-party configurations via Get Hot New
> Stuff!. * Do not use a wizard to edit options. Only use a wizard to set
> options if actually a group of options all have to be edited at once, eg
> creating an account or a first run wizard.
> * When a change is applied, the application should adopt immediately without
> the need to restart.

* When a change is applied, the application should adopt it immediately 
without the need to restart it.

> === Appearance ===
> * Organized your settings in logical groups.
> * Sort your options and groups by importance.
> * If you have more then one group of options think about providing a search
> field to help the user finding a certain option
> * Do not be context aware. You should always start with the same landing
> page regardless of the application context.

Do not change the settings dialog depending on the context. You should always 
start with the same landing page regardless of the application context.

> === Example ===
> (Mockup from http://i.imgur.com/cpGQBBY.png  with caption of the markups)




More information about the kde-guidelines mailing list