Appearance

Differences between revisions 1 and 40 (spanning 39 versions)
Revision 1 as of 2013-04-04 15:34:51
Size: 2609
Editor: mpt
Comment: initial draft
Revision 40 as of 2016-10-04 14:10:34
Size: 10772
Editor: mpt
Comment: new design for “Launcher” settings
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Phone == <<TableOfContents>>
Line 3: Line 3:
On the phone, apart from [[Accessibility/Specs/Settings|accessibility settings described elsewhere]], the only visual configuration should be setting the background pictures for the welcome screen and home screen. == Background settings ==
Line 5: Line 5:
{{attachment:phone-background.png}} “Background” refers to the area behind all open windows in windowed mode, and to the welcome (lock) screen in staged mode.
Line 7: Line 7:
In the “Background” panel, “Welcome screen” and “Home screen” should be thumbnails of the actual screens — complete with tint and infographic for the welcome screen, and Dash contents for the home screen. This is to convey whether, and if so how much, the current background makes each screen less readable. === Access ===
Line 9: Line 9:
Whenever “Same background for both” is set, the welcome screen and home screen previews should function as a single tappable button, navigating to a “Choose Background” screen. Whenever “Different backgrounds for each” is set, the previews should function as two separate buttons, navigating to a “Welcome Screen” or “Home Screen” screen respectively. {{attachment:background-access.png}}
Line 11: Line 11:
{{attachment:phone-background-chooser.png}} On the System Settings main screen, the “Background” '''icon should include a thumbnail''' of the currently selected background. Therefore, all the backgrounds in the icon should reflect the aspect ratio of the current display.
Line 13: Line 13:
All three of those chooser screens should consist solely of a list, with items for “Ubuntu Art”, “Camera Photos” (insensitive if there are none), and an item for each album in the gallery, each sensitive if it contains photos (or one insensitive “Gallery is empty” item if there are no albums). '''Test case:''' In the Gallery, create an album with no photos. Switch to this screen in System Settings: the album should be represented by an insensitive item. Switch back to the Gallery and put a photo in the album. Switch back to this screen in System Settings: the album’s item should now be sensitive. === Structure ===
Line 15: Line 15:
{{attachment:phone-background-chooser-album.png}} When choosing a background, by far '''the best representation of your choice is seeing the full-size background on the screen itself'''. This avoids frustration from choosing an image that has too low resolution, or from cropping an image poorly, and not being able to see the problem until you have exited. It’s also more fun.
Line 17: Line 17:
Choosing any of the items should navigate to a screen of picture thumbnails, where the header is the name of the item. Achieving this representation requires bespoke behavior in two ways.
Line 19: Line 19:
{{attachment:phone-background-chooser-picture.png}} || ||'''Staged mode''' ||'''Windowed mode''' ||
||'''Primary display'''||<^>{{attachment:background.tablet.mini.png}} ||<^>{{attachment:background.pc.mini.png}} ||
||'''Other display''' ||<^>{{attachment:background-secondary.tablet.mini.png}}||<^>{{attachment:background-secondary.pc.mini.png}}||
Line 21: Line 23:
Choosing a picture from “Ubuntu Art” should navigate to a “Preview” screen, because that art is already optimized for the screen size. Choosing a picture from any other source should navigate to a “Choose Area” screen, with a “Best Fit” button that crops the picture just enough for the remainder to scale to fill the screen. Either way, this screen should be unique in that '''the top bar, header, and toolbar should all be semi-transparent''', so that you can see what part of the background picture will be visible when they are not present. First, '''each display should have its own Background UI'''. (This is unlike [[BrightnessAndDisplays|Display settings]], where all displays must be configurable on the primary display because a misconfigured display might not be working at all.)
Line 23: Line 25:
Choosing “Set” should set the background(s) and navigate back to the top-level “Background” screen, because its thumbnails display confirmation of what you’ve done. Second, the UI for each display should let you see the background on that display:
 * In staged mode, System Settings should be '''full-screen whenever you are on the “Background” panel''', and the header should be semi-transparent, so that you can see the background behind it.
 * In windowed mode, '''all non-System-Settings windows should be transparent whenever you are in the “Background” panel''', so that you can see the background around the System Settings window, with only outlines remaining to reassure you that they are still open. As soon as you switch to another panel, or close, minimize, or unfocus System Settings, all other windows should resume visibility.

=== Staged mode ===

{{attachment:background.phone.jpg}}{{attachment:background-pinch.phone.jpg}}{{attachment:background-drag.phone.jpg}}

{{attachment:background.tablet.png}}

“New”, “Recent”, “Pinch to crop”, and “Drag to move” should all be white text with a centered shadow, so that you can read them against any background.

Tapping “New” should open a popover with items “Picture…”, “Color…”, and “Gradient…”.

Choosing “Picture…” should open [[https://docs.google.com/document/d/1trse15NokU8IJ5lm3BnUi7oMNTCkUnYNHeAHZdtzFoQ/edit#heading=h.woe7j0vyqk0u|a picker for selecting a new image]], including an “Ubuntu Backgrounds” collection (bug Bug:1288364) that does not appear when the picker is called from other apps. (Alternatively, this collection should be placed by default in the Gallery app.)

The “Recent” list should consist of the ten most recently chosen distinct background settings, that is, image plus crop. This means there may be multiple recent background settings that use the same picture but with different crops. A crop should be saved whenever you leave the “Background” screen. After a fresh install, the this list should be pre-populated with the default wallpaper images (ubuntu wallpaper + images from the wallpaper competition)

If you choose a new image, that image should zoom up from the “New” button to be shown as the current background. And if if you tap any of the “Recent” items, that image should similarly zoom up to become the current background. At the same time, any “Recent” items to its left should slide along one spot, making way for the previous selection to zoom down to become the most “Recent” item. If you chose a new image, the least recent setting should disappear from the list.

When you select a new image in staged mode, and it is not the size of the screen, by default it should be cropped to fill the display.

Long-pressing a “Recent” item should reveal a context menu with a single item, “Delete”. (Deleting recent background settings will be a rarely-needed function, usually wanted only after relationship breakups.)

In the usual case where there is not enough room to show the “New” button plus all the “Recent” items in a single row:
 * The entire row should be scrollable horizontally.
 * To indicate that there is more off-screen, the spacing between the “Recent” items should be expanded if necessary depending on the screen size, just enough that one of them is between 1/3 and 2/3 half off-screen.
 * The scroll position should reset whenever you return to the screen (so that you don’t lose sight of the “New” button) or choose a different background (so that you can see the previous selection become the new most recent, and undo it if necessary).

[[https://design.ubuntu.com/apps/patterns/gestures#application-gestures|The standard gestures]] should zoom and pan the picture to choose the area (bug Bug:1368286). In case you do not realize this, if you have been on the “Background” screen for five seconds after making a selection, without doing anything else, the “Pinch to crop” hint should fade in and out over two seconds, followed by the “Drag to move” hint. The hints should not appear if the current image is exactly the size of the phone screen (suggesting that it was supplied specifically to be used, uncropped, on that handset).

## ||<^ tablestyle="clear:both;float:left;margin:0 1em 1em 0" style="border:none">{{attachment:phone-background.png}}||<^ style="border:none;width:310px">{{attachment:phone-background.mockup.png}}<<BR>>''Erratum: “Dashboard” should be “Home screen”.''||

## In the “Background” panel, “Welcome screen” and “Home screen” should be thumbnails of the actual screens — complete with tint and infographic for the welcome screen, and Dash contents for the home screen. (This conveys whether, and if so how much, the current background makes each screen less readable.)

## If “Different background for each” is set and you choose “Same background for both”, the most recently chosen background should immediately be copied to the other screen. Conversely, if “Same background for both” is set and you choose “Different background for each”, the ''least'' recently changed screen should return to its previously set background, if that background picture still exists on the device, even if it was last used as a background months ago. (This allows easy undo of syncing the backgrounds.) If that background picture no longer exists on the device, the screen should change to its default picture.

## Whenever “Same background for both” is set, the welcome screen and home screen thumbnails combined should function as a single tappable button, navigating to a “Choose Background” screen. Whenever “Different backgrounds for each” is set, the thumbnails should function as two separate buttons, navigating to a “Welcome Screen” or “Home Screen” screen respectively.

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

## ||<^ tablestyle="float:left;margin:0 1em 1em 0" style="border:none">{{attachment:phone-background-welcome.png}}||<^ style="border:none;width:310px">{{attachment:phone-background-welcome.mockup.png}}<<BR>>''Errata: “Import” should be “Photo/Image”, and “Camera” should not be present.''||

## All of those screens should show one or two sections: “Ubuntu Art” showing all pre-installed artwork (with the default image listed first), and “Custom” if you have added any images to the collection. The current background should have a frame around it. The toolbar should always be visible, with “Photo/Image” and “Remove” buttons.

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

=== Windowed mode ===

{{attachment:background.pc.png}}

=== With external display ===

==== Minimal implementation ====

There should be no extra UI for setting the external display background. Instead, the image chosen for the device display should be reused on the external display:

{{attachment:Convergent_wallpaper.jpg}}

==== Eventual implementation ====

{{attachment:background.pocket.png}} {{attachment:background-phone.pocket.jpg}} {{attachment:background-external.pocket.jpg}}

When an external display is connected, the top-level “Background” screen should instead show two previews: one labelled with the name of the device model, the other “External Display”.

Choosing either display should navigate down the page stack to a “{model name}” or “External Display” screen. Both screens should have the same layout and behavior as the “Background” screen for a standalone phone, except that the “External Display” screen should:
 * show its preview in a frame that matches the external display’s aspect ratio and orientation;
 * contain a radio menu with “Stretch to fill”, “Crop to fill”, and “Tile” options;
 * show the “New” and “Recent” text in the normal UI color without a shadow (since here they aren’t over a background image); and
 * have “New” and “Recent” buttons that also match the external display’s aspect ratio and orientation.

When you select an image for an external display background, the default fill option should be:
 * “Tile” if the selected image is less than 2/3 the width and/or less than 2/3 the height of the display; or else
 * “Stretch to fill” if the image is within 20% of the aspect ratio of the display; or else
 * “Crop to fill”.

<<Anchor(launcher)>>
== “Launcher” ==

||<^ style="border:none">{{attachment:launcher-settings.narrow.png}}||<^ style="border:none">{{attachment:launcher-settings.wide.png}}||

It is practical to persist or resize the Launcher only on large displays.

Therefore, The “Launcher” '''category should be present''' only when one or more display at least 90 GU wide is currently detected (for example, the built-in display). If you are on the panel at the moment that this stops being true (for example, on a phone when you disconnect the only external display), System Settings should automatically navigate back to the main screen.

The introductory label “'''On large displays:'''” should be present if the current display does not fall into this category (to explain why the settings aren’t applying to the display that you’re looking at).

''Other details TBD''

Background settings

“Background” refers to the area behind all open windows in windowed mode, and to the welcome (lock) screen in staged mode.

Access

background-access.png

On the System Settings main screen, the “Background” icon should include a thumbnail of the currently selected background. Therefore, all the backgrounds in the icon should reflect the aspect ratio of the current display.

Structure

When choosing a background, by far the best representation of your choice is seeing the full-size background on the screen itself. This avoids frustration from choosing an image that has too low resolution, or from cropping an image poorly, and not being able to see the problem until you have exited. It’s also more fun.

Achieving this representation requires bespoke behavior in two ways.

Staged mode

Windowed mode

Primary display

background.pc.mini.png

Other display

First, each display should have its own Background UI. (This is unlike Display settings, where all displays must be configurable on the primary display because a misconfigured display might not be working at all.)

Second, the UI for each display should let you see the background on that display:

  • In staged mode, System Settings should be full-screen whenever you are on the “Background” panel, and the header should be semi-transparent, so that you can see the background behind it.

  • In windowed mode, all non-System-Settings windows should be transparent whenever you are in the “Background” panel, so that you can see the background around the System Settings window, with only outlines remaining to reassure you that they are still open. As soon as you switch to another panel, or close, minimize, or unfocus System Settings, all other windows should resume visibility.

Staged mode

background.phone.jpgbackground-pinch.phone.jpgbackground-drag.phone.jpg

background.tablet.png

“New”, “Recent”, “Pinch to crop”, and “Drag to move” should all be white text with a centered shadow, so that you can read them against any background.

Tapping “New” should open a popover with items “Picture…”, “Color…”, and “Gradient…”.

Choosing “Picture…” should open a picker for selecting a new image, including an “Ubuntu Backgrounds” collection (bug 1288364) that does not appear when the picker is called from other apps. (Alternatively, this collection should be placed by default in the Gallery app.)

The “Recent” list should consist of the ten most recently chosen distinct background settings, that is, image plus crop. This means there may be multiple recent background settings that use the same picture but with different crops. A crop should be saved whenever you leave the “Background” screen. After a fresh install, the this list should be pre-populated with the default wallpaper images (ubuntu wallpaper + images from the wallpaper competition)

If you choose a new image, that image should zoom up from the “New” button to be shown as the current background. And if if you tap any of the “Recent” items, that image should similarly zoom up to become the current background. At the same time, any “Recent” items to its left should slide along one spot, making way for the previous selection to zoom down to become the most “Recent” item. If you chose a new image, the least recent setting should disappear from the list.

When you select a new image in staged mode, and it is not the size of the screen, by default it should be cropped to fill the display.

Long-pressing a “Recent” item should reveal a context menu with a single item, “Delete”. (Deleting recent background settings will be a rarely-needed function, usually wanted only after relationship breakups.)

In the usual case where there is not enough room to show the “New” button plus all the “Recent” items in a single row:

  • The entire row should be scrollable horizontally.
  • To indicate that there is more off-screen, the spacing between the “Recent” items should be expanded if necessary depending on the screen size, just enough that one of them is between 1/3 and 2/3 half off-screen.
  • The scroll position should reset whenever you return to the screen (so that you don’t lose sight of the “New” button) or choose a different background (so that you can see the previous selection become the new most recent, and undo it if necessary).

The standard gestures should zoom and pan the picture to choose the area (bug 1368286). In case you do not realize this, if you have been on the “Background” screen for five seconds after making a selection, without doing anything else, the “Pinch to crop” hint should fade in and out over two seconds, followed by the “Drag to move” hint. The hints should not appear if the current image is exactly the size of the phone screen (suggesting that it was supplied specifically to be used, uncropped, on that handset).

Windowed mode

background.pc.png

With external display

Minimal implementation

There should be no extra UI for setting the external display background. Instead, the image chosen for the device display should be reused on the external display:

Convergent_wallpaper.jpg

Eventual implementation

background.pocket.png background-phone.pocket.jpg background-external.pocket.jpg

When an external display is connected, the top-level “Background” screen should instead show two previews: one labelled with the name of the device model, the other “External Display”.

Choosing either display should navigate down the page stack to a “{model name}” or “External Display” screen. Both screens should have the same layout and behavior as the “Background” screen for a standalone phone, except that the “External Display” screen should:

  • show its preview in a frame that matches the external display’s aspect ratio and orientation;
  • contain a radio menu with “Stretch to fill”, “Crop to fill”, and “Tile” options;
  • show the “New” and “Recent” text in the normal UI color without a shadow (since here they aren’t over a background image); and
  • have “New” and “Recent” buttons that also match the external display’s aspect ratio and orientation.

When you select an image for an external display background, the default fill option should be:

  • “Tile” if the selected image is less than 2/3 the width and/or less than 2/3 the height of the display; or else
  • “Stretch to fill” if the image is within 20% of the aspect ratio of the display; or else
  • “Crop to fill”.

“Launcher”

launcher-settings.narrow.png

launcher-settings.wide.png

It is practical to persist or resize the Launcher only on large displays.

Therefore, The “Launcher” category should be present only when one or more display at least 90 GU wide is currently detected (for example, the built-in display). If you are on the panel at the moment that this stops being true (for example, on a phone when you disconnect the only external display), System Settings should automatically navigate back to the main screen.

The introductory label “On large displays:” should be present if the current display does not fall into this category (to explain why the settings aren’t applying to the display that you’re looking at).

Other details TBD

Appearance (last edited 2020-01-14 12:20:47 by mpt)