System Settings

Gnome should have a unified System Settings window for configuring anything that is not application-specific, regardless of whether it affects the whole system or just your account. This window should include simple categorization of settings, history navigation between panels, and a fiendishly smart search function.

Rationale

At the time of writing, system configuration in Gnome is presented as two submenus of the “System” menu: “Preferences” and “Administration”. Each of the many items in both submenus opens an individual window for changing particular settings. Sometimes, as in the Assistive Technologies Preferences and Screensaver Preferences windows, one window contains a button for opening one of the other windows.

Historically, “Preferences” has encompassed settings specific to you, while “Administration” includes settings that apply to the computer as a whole and everyone who uses it. However, PolicyKit has blurred this distinction: even non-administrators can use “Users Settings” to change their own account settings without changing anyone else’s, and conversely Ubuntu variants of the “Keyboard Preferences” and “Network Proxy Preferences” let you apply your personal settings to the login screen and any afterward-created user accounts.

There is no consistent interface for propagating settings this way, and nor is there any consistent interface for undoing changes. But the gravest problem with the “Preferences” and “Administration” menus is that they make settings difficult to find. There is no search, so you need to guess which of the two menus contains the settings you want, and then guess which is the correct item (Appearance or Windows? Network Configuration or Network Proxy?). And in both cases, the cost of mistakes is unnecessarily high.

gnome-control-center has a “shell”, a window that acts as a launcher for all the other settings windows, with search and basic categorization. But it is rarely used by Gnome distributors because it is slower to use, especially for people who have become accustomed to the “Preferences” and “Administration” menus: they need to wait for the launcher window to open before separately launching the appropriate settings window, and they need to close it separately when they finish.

These problems can be solved with a unified window that houses the navigation through settings panels, search, and the panels themselves.

What other environments do

Windows Vista (Control Panel), Mac OS X (System Preferences), and KDE 4 (System Settings) all have a unified window with categories of panels, Back and (except in KDE) Forward navigation between the panels, and a search function based on terms used in the panels as well as their names.

vista.jpg

mac.jpg

kde.jpg

mac-pane.jpg

kde-panel.jpg

  • In Windows Vista, the Control Panel has 45-odd panels organized into ten categories inside an “Explorer”, sharing the basic navigation and search layout of other Explorer windows. Some panels appear Web-page-like within the Control Panel window, others open a separate window, and still others are a mix of both models. The main window is resizable in both directions, so panels that appear inside it often scroll vertically. The “Control Panel Home” offers two views: the default category-based view, and the “Classic View” that presents icons for all panels in alphabetical order. A sidebar lists these two views at the top, and “Recent Tasks” at the bottom. Categories have their own pages giving more detail on tasks relating to that category, so the overall navigation is three levels deep. Several tasks are in more than one category. In embedded control panels, cross-references are presented as links in the sidebar.

mac-search.jpg

  • The Mac OS X System Preferences window has 26 default panes, organized into four categories. (For example, whereas Vista has separate “Keyboard” and “Mouse” control panels, Mac OS X has a tabbed “Keyboard & Mouse” pane.) The window is not resizable: it maintains a constant width, and animatedly resizes vertically to match whatever pane is currently being shown, so there is no scrolling (except in the main view if an unusually large number of third-party panes has been added). Searching flips back to the “Show All” screen if not already there, highlighting contents matches with a diffuse spotlight effect and (less usefully) exact name matches with a focused spotlight effect. Selecting a task in the search results menu switches to the appropriate pane, and also selects the appropriate tab or list item in that pane. Oddly, the name of the open pane replaces the “System Preferences” in the title bar, though the navigation controls remain available underneath. Cross-references are presented as labelled buttons.

kde-advanced.jpg

  • KDE’s System Settings window has 30 default modules in six categories, four in a “General” tab and two in an “Advanced” tab. The window is resizable in both directions, and even at the default window size individual panels often suffer from both horizontal and vertical scrolling. Entering search text causes modules that don’t match to disappear, with the remaining modules jumping jarringly towards the top left corner. The search applies only to modules in the current tab, and is not available at all when a module is open.

Use cases

  • Tillie is having trouble reading the text in menus and dialogs. Her nephew isn’t due to visit her again until next Saturday, and she doesn’t want to wait until then to fix the problem. But she’s seen him fiddle with things in System Settings before, so she guesses the answer is in here somewhere. Tillie opens System Settings and sees an array of panels and a search field. After thinking for a few moments, she types “bigger text” in the search field, and the “Appearance” item is highlighted. When she presses Enter, the Appearance panel opens to the Fonts tab.
  • On waking his laptop from sleep, Claude realizes that he hasn’t seen his screensaver in a few weeks, and wonders why. Using Gnome Do, he opens the Screensaver panel of System Settings directly. He sees that the screensaver is due to activate after one hour of inactivity, but underneath is an explanatory warning: “The computer is set to go to sleep before the screensaver activates.” Aha, Claude thinks. He clicks the adjacent “Power Saving Settings…” button, and sees that the computer is set to go to sleep after 45 minutes of inactivity. Hmm, that’s actually about right. So what I really want is for the screensaver to start earlier. Claude clicks the Back button to return to the Screensaver settings. He sets the screensaver to appear after 30 minutes, and closes the window.

  • A couple of minutes ago, Parwin changed her computer’s mouse settings to increase the acceleration a bit, but now she realizes she’s increased it too much. She reopens System Settings and looks for the mouse settings again. Helpfully, that item is subtly highlighted on the home screen.

Design

There should be a single “System Settings” window that lets you navigate between panels of all those settings that are not application-specific. (The “control panel” term used in Windows is unnecessarily abstract: a control panel is an object you use to change settings. And the “preferences” term used in Mac OS is inappropriate: some settings, such as network settings or user accounts, work sensibly in only one configuration and are therefore not subject to preference.)

The System Settings window should not contain administrative tools that are not obviously settings. For example, Network Tools or Update Manager should not be in this window.

Overall layout

File               Edit                              Share?  Help
----               ----                              ------  ----
  Close  Ctrl W      Undo {action}        Ctrl Z               System Settings Help
                     Redo {action}  Shift Ctrl Z             ----------------------
                   --------------------------------            About This Program
                     Cut                  Ctrl X
                     Copy                 Ctrl C
                     Paste                Ctrl V
                     Delete                    Del
                   --------------------------------
                     Select All           Ctrl A
                   --------------------------------
                     Find…                Ctrl F

Panels

Implementation

Design sketches

sketches-p1.jpg sketches-p2.jpg

Design/Apps/Settings/Research (last edited 2013-08-08 15:37:08 by WilliamJonMcCann)