KarmicBootExperienceDesignSpec
Launchpad Entry: karmic-boot-experience
Created: 2009-05-25
Contributors: Ubuntu Platform, DX and Design teams
Packages affected: see dependencies below
This document is a part of DesktopExperienceTeam/KarmicBootExperienceSpec
Related specs:
https://wiki.ubuntu.com/DesktopTeam/Specs/Karmic/LoginExperience
https://wiki.ubuntu.com/DesktopTeam/Specs/Karmic/ShutdownAndRestartExperience
https://wiki.ubuntu.com/FoundationsTeam/Specs/KarmicUpdatesOnShutdown
Contents
- Terminology
- Introduction – General Guidelines
-
Design Guidelines
- BIOS/EFI
- Bootloader
- Standard Boot Sequence with GDM Greeter
- Standard Boot Sequence with Automatic Login
- Graphical Boot Splash
- Boot Sequence With Encrypted File System
- Boot with Graphical OS Selector
- Boot Splash With Kernel Panic/Boot Failure
- Boot Sequence With Kernel Oops/Warning During Boot
- Boot Sequence With Disk Check
- Comments
Terminology
"Boot Experience" is a set of events and interactions that the user can experience between switching the computer on and accessing the login screen (or the desktop session if auto-login is enabled).
Introduction – General Guidelines
Boot Experience Should Be:
Guiding
- 1st Run: a friendly introduction to the system
- Can teach the user about the computer
- Highly accessible, easy to use for everyone
- Familiar, personal
Fast
- Efficient, giving the user impression of saving time, rather than wasting time
- Lightweight and "breezy"
Simple
- Not too crowded
- Clean and user friendly
- Easy to navigate
- Seamless
- Care free
Welcoming
- Trustworthy
- Friendly
- Inviting
- No technical jargon
- Not scary (esp. during 1st time use)
Reassuring
- Flicker-free, giving the feeling of stability and control
- Reliable and safe
Making the computer "mine"
- Self-expression, feeling of ownership even on shared machine
Inclusive
- Should fit everyone
- Flexible
Reinforcing/introducing the brand
- Set the mood of Ubuntu
- Give a good first impression
- Convey a strong brand message
- Be beautiful
Motto
"Light Ubuntu inside your machine"
The Boot Experience Will...
...guide the user through a fast, simple startup which feels welcoming and reassuring. The user will feel in control of his computer throughout.
Design Guidelines
BIOS/EFI
Whenever EFI is available, the screen should be filled with flat color as soon as possible. Color TBC. If standard BIOS is used, we should encourage manufacturers to not reset to text mode after the initial splash screen.
Bootloader
The Bootloader should not have any visible representation, unless the User holds down the Shift key, which will trigger the text-mode boot selector.
Example of a text-mode boot selector (wireframe):
Standard Boot Sequence with GDM Greeter
Boot Sequence with GDM Greeter – UI flow (download SVG)
Standard Boot Sequence with Automatic Login
Boot Sequence with Automatic Login – UI flow (download SVG)
Transitions
BIOS > Bootloader > Graphical Boot Splash (Usplash on KMS)
The bootloader is silent, therefore should not have any visible representation. If EFI Bios is available, the screen should be filled with flat color corresponding with the desired boot splash background. Fade effects not available in Usplash.
Graphical Boot Splash > Graphical OS Selector
Fade effects are not available in Usplash.
Graphical Boot Splash (Usplash) > GDM Greeter
The boot splash should fade out over 0.3s revealing the GDM greeter when the greeter is fully drawn and ready to use.
Graphical Boot Splash (Usplash) > Desktop Session
The boot splash should fade out over 0.3s revealing the user's desktop when all desktop elements are fully drawn and ready to use.
GDM Greeter > Desktop Session
GDM greeter should fade out over 0.3s and the user's desktop should fade in over 0.3s when it's fully drawn and ready to use.
Graphical Boot Splash
Standard graphical boot splash will consist of the following elements:
Background color/gradient
Flat colors and linear gradients are available. The styling should enforce the Ubuntu brand and create a smooth and pleasing experience, coherent with the overall desktop look&feel.
Ubuntu branding/artwork
Ubuntu branding should be used subtly, avoiding supersizing, patterns, etc.
Animated element(s)
Basic animation available (png sequence), the spinner should be lightweight and elegant.
Hint area
Hint area is a portion of the screen where various useful hints can be displayed. This area is defined relatively to the currently set screen resolution and has constant XY percentage coordinates. The hints are always context-specific and inform the user about the actions that are currently executable (using the pattern: to achieve X, press/click Y).
Hints should not inform about status changes, errors or any other external or user-triggered events.
Appearance
Appearance of the hint should match the styling of Notify-OSD notification bubbles. Hint should be displayed as text, using sentence case only, no icons are allowed.
Behaviour
The hint should fade in immediately after the user enters the screen for the first time in the session. There can be only one hint per screen. Each hint should only be displayed once during each session. If the user has executed an action suggested by a particular hint, this hint should not appear again. The hint should fade in over 300ms and stay on the screen for no longer than 3000ms. It should then fade out over 300ms.
Boot Sequence With Encrypted File System
Whenever there is an encrypted file system, the user should be presented with the graphical interface that would enable entering the password and decrypting the system. The interface should also be able to inform the user if the password was incorrect or whether the Caps Lock key is on.
Boot With Encrypted File System – UI flow (download SVG)
Encrypted file system – password entry screen (wireframe)
Encrypted file system – wrong password notification screen (wireframe)
Appearance
The appearance should be simple and elegant and use the styling that would seamlessly correspond with the graphical boot splash and OS Selector. Only flat colors and linear (horizontal or vertical) gradients can be used and no transparency is available.
Behaviours
Only basic keyboard interactions are possible, pointing devices are not available at this stage. The user can only type in his password and confirm by pressing Enter.
If the password is incorrect, the following message should appear: "The password you have entered was incorrect. Please try again."
The password field should be automatically reset and re-focused.
Boot with Graphical OS Selector
Option 1 – Simple OS Selector with single list of OSs
If the user presses ESC during the boot splash sequence, the OS Selector will be triggered (possible flows in the diagram below). Unless the user decides to interrupt the current boot process by booting another OS, it will continue in the background, all the way through to the login screen or user session (if automatic login is enabled).
OS Selector – UI flow (download SVG)
OS Selection Screen
Example screen (wireframe):
Note: 12 options per screen maximum, legacy OSs always at the top
OS Selection Screen enables the user to:
- view the list of all versions of all OSs (e.g. list of different Ubuntu kernels + other OSs)
- reboot into another OS
Appearance
Appearance of the OS Selector should ensure that legacy OSs are easily recognizable at the top of the list. Only basic shapes and flat colors and linear gradients can be used, it is also possible to use non-transparent background images.
It is important to clearly highlight the currently booting OS (at the top of the list) with the animated spinner (preferred) or "Boot in progress..." right-aligned text.
The currently booting OS should always be displayed at the top of the legacy OS list. Other legacy OSs should be displayed underneath, in alphabetical order.
Other versions of legacy OSs should be displayed as a secondary list below, in alphabetical order.
Behaviours
Keypresses:
- Selecting the OS: up and down arrow keys
- Booting selected OS: Enter
- Switching the pages if the list is longer than one page: PageUp/Page Down
- Exiting the screen: ESC or Enter if the currently selected OS is booting in the background
Pointing devices:
- not available
Automatic timeout:
- If the user does nothing for 20 seconds, the OS Switcher should be closed automatically.
Transitions
- Fade effects not possible in Usplash.
Option 2 (preferred) – OS Selector with floating logos
In this solution, when the user triggers the OS Selector, he will be presented with the logos of the legacy OSs, grouped in one row, with OS name beneath each logo. There will be up to 4 logos displayed at one time, with the ability to scroll horizontally using left and right arrow keys if there are more than 4 legacy OSs installed.
OS Selector with OS logos – UI flow (download SVG)
Primary OS Selection Screen
Example screen (wireframe):
Note: 4 options per screen maximum, Ubuntu always first on the left, other options ordered alphabetically
Primary OS Selection Screen enables the user to:
- view the list of all legacy OSs
- Access the secondary selection screen, if any of the OSs has more than 1 version installed
- reboot into another legacy OS
Appearance
Appearance of the Primary OS Selector Screen should ensure that legacy OSs are easily recognizable and their logos are presented in a visually attractive way. Only basic shapes and flat colors and linear gradients can be used, it is also possible to use one background image.
For each legacy OS there should be the following information displayed underneath the logo:
- OS name (at all times) and version number (if available). For example: Ubuntu 9.10, Mac OS X 10.5, Windows 7, Fedora 11. Kernel numbers or any other information for Linux-based OSs should not be displayed.
- "Boot in progress...", for the currently booting OS, regardless if it is selected or not
- "Press Enter to boot", for the currently selected OS, unless the currently booting OS is selected
- "Press Space for more choices" for the currently selected OS with more than one version available
The logos used should be stylized to match the overall look & feel of the splash screen.
- All Ubuntu versions should use the stylized "Circle of Friends" symbol
- All Kubuntu versions should use the stylized Kubuntu "Circle of Friends" symbol
- All other Linux distributions (incl. Ubuntu and Kubuntu derivatives) should use the stylized Linux Penguin logo
- Mac OS (all versions) should use a stylized Apple logo
- Windows (all versions) should use a stylized Windows logo
- Any other operating system should use a default disc icon
All of the above icons will be supplied with the package and, to maintain consistent appearance, should not be replaced or modified.
Behaviours
Keypresses:
- Selecting the OS: left and right arrow keys
- Booting selected OS: Enter
- Accessing the Secondary Selection Screen: Space, when the OS with more than one version is selected
- Exiting the screen: ESC or Enter if the currently selected OS is booting in the background
Pointing devices:
- not available
Automatic timeout:
- If the user does nothing for 20 seconds, the OS Switcher should be closed automatically.
Transitions
- Fade effects not possible in Usplash.
Secondary OS Selection Screen
Example screen (wireframe):
Note: 12 options per screen maximum, currently booting version at the top, other options ordered alphabetically
Secondary OS Selection Screen enables the user to:
- view the list of all versions of a particular OS
- reboot into another version of a particular OS
Appearance
All options should be displayed as a vertical list, with 12 options per screen maximum.
All options should be displayed as OS name, version number, kernel version number, for example: Ubuntu 9.10, kernel no. 2.80.
The currently booting OS should be displayed at the top of the list, with "Boot in progress..." text aligned to the right.
The currently selected OS that is not booting, should have the "Press Enter to boot" text aligned to the right.
Behaviours
Keypresses:
- Selecting the OS: up and down arrow keys
- Booting selected OS: Enter
- Skipping pages if there's more than one page: Pg Up, Pg Down
- Returning to the Primary OS Selection Screen: ESC
- Exiting the OS Selector: Enter if the currently selected OS is booting
Pointing devices:
- not available
Automatic timeout:
- If the user does nothing for 20 seconds, the OS Switcher should be closed automatically.
Transitions
- Fade effects not possible in Usplash.
Boot Splash With Kernel Panic/Boot Failure
If there is Kernel Panic during the boot splash sequence, a warning message should be displayed, along with the kernel messages. The user should be informed about the need to reboot. The Kernel Panic message should have consistent appearance regardless of whether the user is booting or is already logged in.
Boot Sequence with Kernel Panic – UI flow
Kernel Panic screen (wireframe):
Boot Sequence With Kernel Oops/Warning During Boot
If a Kernel Oops occurs during the boot splash sequence, the user should be informed about the error without interrupting the boot process.
Boot Sequence with Kernel Oops – UI flow
Kernel Oops screen (wireframe):
Appearance
The error message styling should provide good legibility, without being too prominent on the screen.
Behaviours
Error message should fade in over 100ms and stay on the screen for 3000ms or the remaining boot splash sequence time, whichever is shorter. It should fade out over 300ms if the boot splash sequence hasn't concluded before the 3000ms timeout or in sync with the boot splash screen if it has.
Boot Sequence With Disk Check
Disk Check – UI flow (download SVG)
Disk Check screen (wireframe)
Disk Check With errors (wireframe)
Disk Check fail (wireframe)
Appearance
The appearance should be simple and elegant and use the styling that would seamlessly correspond with the graphical boot splash and OS Selector. Only flat colors and linear (horizontal or vertical) gradients can be used and no transparency is available.
Behaviours
Only basic keyboard interactions are possible, pointing devices are not available at this stage.
Keypresses: ESC cancels the disk check.
Comments
Go to DesktopExperienceTeam/KarmicBootExperienceDesignSpec/Comments