SystemSettings

Differences between revisions 77 and 78
Revision 77 as of 2015-10-31 21:37:03
Size: 7593
Editor: staticline-31-183-169-31
Comment:
Revision 78 as of 2015-11-08 22:35:10
Size: 8664
Editor: mpt
Comment: - "Tablet" (mostly same categories as phone); + "General behavior and navigation"
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Ubuntu contains System Settings on PC (`gnome-control-center`), based on [[https://live.gnome.org/SystemSettings|my original design from 2008]], and on phone and tablet. (For a summary of the design process on phone, see [[http://design.canonical.com/2013/05/phone-settings/|my 2013 article on the subject]].) In line with the goal of [[http://www.ubuntu.com/phone/operators-and-oems|a convergence device]] — not to mention, ordinary learnability and efficiency — these settings, and their categories, will be shared across form factors whenever practical. However, some settings will only ever make sense on one or two form factors. Ubuntu contains System Settings on PC (`gnome-control-center`), based on my original design from 2008, and on phone and tablet. (For a summary of the design process on phone, see [[http://design.canonical.com/2013/05/phone-settings/|my 2013 article on the subject]].)
Line 5: Line 5:
||'''PC'''||'''Phone'''||'''Tablet'''||
||[[AboutThisDevice#PC|About This Computer]]||[[AboutThisDevice#Phone_and_tablet|About This Device]], including [[AboutThisDevice#phone-storage|Storage]] and [[AboutThisDevice#developer-mode|Developer Mode]]||[[AboutThisDevice#Phone_and_tablet|About This Device]]||
||[[https://docs.google.com/a/canonical.com/document/d/1ILTJDiDCd25Npt2AmgzF8aOnZZECxTfM0hvsbWT2BxA/edit#|Universal Access]]||Accessibility||''TBD''||
||Appearance#PC||[[Appearance#Phone_and_tablet|Background]]||[[Appearance#Phone_and_tablet|Background]]||
||[[Bluetooth]]||[[Bluetooth#phone|Bluetooth]]||''TBD''||
||[[BrightnessAndDisplays#Displays|Displays]]||[[Brightness#Phone|Brightness]]||''TBD''||
||[[Power#PC|Power]]||[[Power#Phone|Battery]]||''TBD''||
||[[Keyboard]]||—||—||
||[[LanguageAndText|Language & Text]]||[[LanguageAndText#phone|Language & Text]]||''TBD''||
||[[MouseAndTouchpad|Mouse & Touchpad]]||[[MouseAndTouchpad|Mouse & Touchpad]]||—||
||[[Networking#settings-window|Network]]||[[Networking#flight-mode-phone|Flight Mode]], [[Networking#phone-cellular|Cellular]], [[Networking#phone-wifi|Wi-Fi]]||''TBD''||
||[[https://live.gnome.org/Design/SystemSettings/Proposals/LoginItems|Login Items]]|| - || - ||
||[[https://docs.google.com/a/canonical.com/document/d/1UwAQTXgEyZSD3di6fAUS0W18rKxh8TXb1TwsmkgbGG0/edit|Online Accounts]]||[[OnlineAccounts#phone-settings|Accounts]]||''TBD''||
|| - ||[[Notification|Notifications]]||''TBD''||
|| - ||[[PhoneApp#Settings|Phone]], including SIM services|| - ||
||[[Printing#settings|Printing]]|| - ||''TBD''||
||[[SecurityAndPrivacySettings#PC|Security & Privacy]]||[[SecurityAndPrivacySettings#Phone|Security & Privacy]], including [[Location#Phone|Location]]||''TBD''||
||[[SoftwareAndUpdatesSettings|Software & Updates]]||[[SoftwareUpdates#Phone|Updates]]||''TBD''||
||[[https://docs.google.com/a/canonical.com/document/d/1Vb1jUVLoHXBK9drley6Vd5bYGguBbCTEWVcZz7R-LFI/edit?authkey=CNmT_aoF|Sound]]||[[Sound#Phone|Sound]]||''TBD''||
||[[StartupSettings|Startup]]|| - || - ||
||[[TimeAndDate#PC|Time & Date]]||[[TimeAndDate#Phone_and_tablet|Time & Date]]||[[TimeAndDate#Phone_and_tablet|Time & Date]]||
||[[TouchpadSettings|Touchpad]]|| - || - ||
||[[UserAccounts|User Accounts]]|| - ||''TBD''||
== Categories and panels ==
Line 29: Line 7:
This index does not yet include all settings panels included on the PC. It does include other things — such as version information — that, for want of a better position, are presented inside the System Settings UI in at least one form factor. In line with the goal of [[http://www.ubuntu.com/phone/operators-and-oems|a convergence device]] — not to mention, ordinary learnability and efficiency — these settings, and their categories, should be shared across form factors whenever practical. However, some settings should be present only when relevant hardware or software is, or could be, present; and some should be grouped or named differently depending on their frequency of use.

||'''PC'''||'''Phone/Tablet'''||
||[[AboutThisDevice#PC|About This Computer]]||[[AboutThisDevice#Phone_and_tablet|About This Device]], including [[AboutThisDevice#phone-storage|Storage]] and [[AboutThisDevice#developer-mode|Developer Mode]]||
||[[https://docs.google.com/a/canonical.com/document/d/1ILTJDiDCd25Npt2AmgzF8aOnZZECxTfM0hvsbWT2BxA/edit#|Universal Access]]||Accessibility||
||[[Appearance#PC|Appearance]]||[[Appearance#Phone_and_tablet|Background]]||
||[[Bluetooth]]||[[Bluetooth#phone|Bluetooth]]||
||[[BrightnessAndDisplays#Displays|Displays]]||[[Brightness#Phone|Brightness]]||
||[[Power#PC|Power]]||[[Power#Phone|Battery]]||
||[[Keyboard]]||—||
||[[LanguageAndText|Language & Text]]||[[LanguageAndText#phone|Language & Text]]||
||[[MouseAndTouchpad|Mouse & Touchpad]]||[[MouseAndTouchpad|Mouse & Touchpad]]||
||[[Networking#settings-window|Network]]||[[Networking#flight-mode-phone|Flight Mode]], [[Networking#phone-cellular|Cellular]], [[Networking#phone-wifi|Wi-Fi]]||
||[[https://live.gnome.org/Design/SystemSettings/Proposals/LoginItems|Login Items]]|| - ||
||[[https://docs.google.com/a/canonical.com/document/d/1UwAQTXgEyZSD3di6fAUS0W18rKxh8TXb1TwsmkgbGG0/edit|Online Accounts]]||[[OnlineAccounts#phone-settings|Accounts]]||
|| - ||[[Notification|Notifications]]||
|| - ||[[PhoneApp#Settings|Phone]], including SIM services||
||[[Printing#settings|Printing]]|| - ||
||[[SecurityAndPrivacySettings#PC|Security & Privacy]]||[[SecurityAndPrivacySettings#Phone|Security & Privacy]], including [[Location#Phone|Location]]||
||[[SoftwareAndUpdatesSettings|Software & Updates]]||[[SoftwareUpdates#Phone|Updates]]||
||[[https://docs.google.com/a/canonical.com/document/d/1Vb1jUVLoHXBK9drley6Vd5bYGguBbCTEWVcZz7R-LFI/edit?authkey=CNmT_aoF|Sound]]||[[Sound#Phone|Sound]]||
||[[StartupSettings|Startup]]|| - ||
||[[TimeAndDate#PC|Time & Date]]||[[TimeAndDate#Phone_and_tablet|Time & Date]]||
||[[TouchpadSettings|Touchpad]]|| - ||
||[[UserAccounts|User Accounts]]|| - ||

This index does not yet include all settings panels included on the PC. It does include other things — such as version information — that, for want of better placement, are presented inside the System Settings UI in some situations.
Line 33: Line 37:
== General behavior == <<Anchor(navigation-feedback)>>
== General behavior and navigation ==
Line 35: Line 40:
Unless specifically noted, all interface elements in System Settings should update live to reflect settings when they are changed elsewhere. The '''“System Settings” app''' should be unremovable, and should be in the Launcher by default.
Line 37: Line 42:
=== Interpreting search text === Unless specifically noted, all interface elements in System Settings should update live to reflect settings whenever they are changed elsewhere.
Line 39: Line 44:
Entering text in the System Settings search field should search category names, plus synonyms and other text as specified for individual categories. The appearance of the '''navigation controls''' should depend on the width of the surface:
 * If narrower than 100 grid units, it should be only a Back button.
 * If 100 grid units or wider, it should take advantage of that space by adding Forward and “All Settings” buttons.
Line 41: Line 48:
Any word in the search string that is followed by a space or punctuation should be treated as a a complete word, while any word that is not should be treated as if it might be either a complete word or the beginning of a word (bug Bug:1446086). (This is [[SoftwareCenter#Interpreting_search_text|the same behavior as Ubuntu Software Center]].) Regardless, the behavior of the '''Back button''' should be:
 * If you came to the current screen from its parent screen, it should return to that parent screen.
 * Otherwise, if you came to the current screen any other way (for example from a “deep link” in a different app), it should navigate to the screen you were most recently on.
 * If neither is true, the button should be disabled.
Line 43: Line 53:
== PC settings interface == The '''Forward button''' should return to the most recent screen, if any, that you came Back from and have not since gone Forward to. Whenever there is no such screen, the button should be disabled.
Line 45: Line 55:
''should be documented here eventually, for testability and comparison purposes'' The appearance of the '''search function''' should depend on the width of the surface:
 * If narrower than 100 grid units, it should be a button in the header, which enters [[https://design.ubuntu.com/apps/building-blocks/header#modes|search mode]].
 * If 100 grid units or wider, it should take advantage of that space by having a non-modal search field always present.
Line 47: Line 59:
<<Anchor(phone)>>
== Phone settings interface ==
Either way, whenever the '''search field''' is not empty, the rest of the System Settings main screen should consist only of those items matching the contents of the field. For example, if the search field contains “wallpa”, only the “Backgrounds” panel should remain. The search field should empty itself if you had switched to other apps for at least five minutes (because you have likely forgotten that you searched for anything).
Line 50: Line 61:
||<^ tablestyle="float:left;margin:0 1em 1em 0" style="border:none">{{attachment:phone-settings-revised.png}}||<^ style="border:none;width:310px">{{attachment:system-settings.phone.mockup.png}}<<BR>>''Errata: • The search field should be present. • The icons should be in color.''|| Any word in the '''search string''' that is followed by a space or punctuation should be treated as a a complete word, while any word that is not should be treated as if it might be either a complete word or the beginning of a word (bug Bug:1446086). (This is [[SoftwareCenter#Interpreting_search_text|the behavior devised for Ubuntu Software Center]].)
Line 52: Line 63:
“System Settings” should be an unremovable app in the Apps screen, and should be in the Launcher by default.

Whenever the search field is not empty, the rest of the System Settings main screen should consist only of those items matching the contents of the field. For example, if the search field contains “wallpa”, only the “Backgrounds” panel should remain. The search field should empty itself if you had switched to other apps for at least five minutes (because you have likely forgotten that you searched for anything).

''If global in-app search is implemented, it should replace the System Settings search field.''

<<Anchor(phone-quick-access)>><<Anchor(phone-flight-mode)>>
=== Quick access area ===

The '''quick access area''' is a group of list items at the top of the overview screen. It should always contain items for:
 * “[[StatusBar#rotation-lock|Rotation Lock]]”
 * “[[Networking#flight-mode-phone|Flight Mode]]”

Following those, it may also contain other items, in order:
 * “[[SoftwareUpdates#Prompting|Updates available]]”
 * “[[Bluetooth#Phone|Bluetooth]]”

All other items in the main screen should act as [[http://design.ubuntu.com/apps/building-blocks/page-stack|page stacks]], regardless of whether they are list items (like “About This Phone”) or grid items (like “Sound”).

||<tablestyle="clear:both" style="border:none">||

<<Anchor(navigation-feedback)>>
Line 81: Line 70:
 1. When you choose an item, the item should highlight until its screen appears.
 1. If that screen has not loaded within two seconds, a placeholder screen should appear with an empty header.
 1. If the actual screen still has not loaded after another two seconds, a spinner should appear optically centered in the placeholder screen.
 1. If you navigate directly by choosing an item, that item should highlight until the screen is loaded or two seconds have elapsed, whichever is greater.
 1. If the screen has not loaded within two seconds, a placeholder screen should appear with an empty header and an optically centered spinner.
 1. If the actual screen still has not loaded after another two seconds, following standard toolkit behavior, the spinner should actually appear.

<<Anchor(phone)>>
== Main screen ==

||<tablestyle="float:left;margin:0 1em 1em 0" style="border:none">{{attachment:system-settings-main.phone.png}}||

||<tablestyle="float:left;margin:0 1em 1em 0" style="border:none">{{attachment:system-settings-main.pc.png}}||

Regardless of screen size or mode, the main screen layout should show a grid of panel names separated by category labels.

<<Anchor(phone-quick-access)>><<Anchor(phone-flight-mode)>>
=== Quick access area ===

The '''quick access area''' is a group of list items at the top of the overview screen. It will be phased out if/when indicators are greatly simplified. In the meantime, it should contain items for:
 * “[[StatusBar#rotation-lock|Rotation Lock]]”, if the device has an orientation sensor
 * “[[Networking#flight-mode-phone|Flight Mode]]”, if the device does not have a mouse connected (in which case choosing Flight Mode from the network indicator is much easier).

Following those, it may also contain other items, in order:
 * “[[SoftwareUpdates#Prompting|Updates available]]”, if the entire UI is not visible (otherwise it is redundant with the “Updates” category).

All other items in the main screen should act as [[http://design.ubuntu.com/apps/building-blocks/page-stack|page stacks]], regardless of whether they are list items (like “About This Phone”) or grid items (like “Sound”).
Line 101: Line 111:

== Tablet settings interface ==

''TBD''

Matthew Paul Thomas, Canonical Design

Ubuntu contains System Settings on PC (gnome-control-center), based on my original design from 2008, and on phone and tablet. (For a summary of the design process on phone, see my 2013 article on the subject.)

Categories and panels

In line with the goal of a convergence device — not to mention, ordinary learnability and efficiency — these settings, and their categories, should be shared across form factors whenever practical. However, some settings should be present only when relevant hardware or software is, or could be, present; and some should be grouped or named differently depending on their frequency of use.

This index does not yet include all settings panels included on the PC. It does include other things — such as version information — that, for want of better placement, are presented inside the System Settings UI in some situations.

General behavior and navigation

The “System Settings” app should be unremovable, and should be in the Launcher by default.

Unless specifically noted, all interface elements in System Settings should update live to reflect settings whenever they are changed elsewhere.

The appearance of the navigation controls should depend on the width of the surface:

  • If narrower than 100 grid units, it should be only a Back button.
  • If 100 grid units or wider, it should take advantage of that space by adding Forward and “All Settings” buttons.

Regardless, the behavior of the Back button should be:

  • If you came to the current screen from its parent screen, it should return to that parent screen.
  • Otherwise, if you came to the current screen any other way (for example from a “deep link” in a different app), it should navigate to the screen you were most recently on.
  • If neither is true, the button should be disabled.

The Forward button should return to the most recent screen, if any, that you came Back from and have not since gone Forward to. Whenever there is no such screen, the button should be disabled.

The appearance of the search function should depend on the width of the surface:

  • If narrower than 100 grid units, it should be a button in the header, which enters search mode.

  • If 100 grid units or wider, it should take advantage of that space by having a non-modal search field always present.

Either way, whenever the search field is not empty, the rest of the System Settings main screen should consist only of those items matching the contents of the field. For example, if the search field contains “wallpa”, only the “Backgrounds” panel should remain. The search field should empty itself if you had switched to other apps for at least five minutes (because you have likely forgotten that you searched for anything).

Any word in the search string that is followed by a space or punctuation should be treated as a a complete word, while any word that is not should be treated as if it might be either a complete word or the beginning of a word (bug 1446086). (This is the behavior devised for Ubuntu Software Center.)

(bug 1488005)

At every level of System Settings, all page stack items — whether standard list items, or the grid items on the main screen — should have the same feedback for maximum responsiveness:

  1. If you navigate directly by choosing an item, that item should highlight until the screen is loaded or two seconds have elapsed, whichever is greater.
  2. If the screen has not loaded within two seconds, a placeholder screen should appear with an empty header and an optically centered spinner.
  3. If the actual screen still has not loaded after another two seconds, following standard toolkit behavior, the spinner should actually appear.

Main screen

system-settings-main.phone.png

system-settings-main.pc.png

Regardless of screen size or mode, the main screen layout should show a grid of panel names separated by category labels.

Quick access area

The quick access area is a group of list items at the top of the overview screen. It will be phased out if/when indicators are greatly simplified. In the meantime, it should contain items for:

  • Rotation Lock”, if the device has an orientation sensor

  • Flight Mode”, if the device does not have a mouse connected (in which case choosing Flight Mode from the network indicator is much easier).

Following those, it may also contain other items, in order:

  • Updates available”, if the entire UI is not visible (otherwise it is redundant with the “Updates” category).

All other items in the main screen should act as page stacks, regardless of whether they are list items (like “About This Phone”) or grid items (like “Sound”).

“Reset Phone”

reset.phone.png

The “Reset Phone” screen should begin with the text: “If you reset the phone, all files, saved games, settings, and other items will be deleted permanently.”

If you use any phone locking scheme, choosing “Erase & Reset Everything…” should first prompt you to unlock (bug 1388942).

Regardless, it should then display a confirmation alert (so that someone can’t confirm the reset and then leave the phone on the passcode/password prompt waiting for you to return, not realizing what the prompt is for). The alert should have text “Are you sure you want to reset your phone?”, and “Cancel” and red “Reset” buttons.

After the reset, you should be returned to the phone welcome screen.

SystemSettings (last edited 2016-10-18 10:13:02 by mpt)