[TEST] Install process UX specification
Task definition signed off by:
|
Matt Griffin (18/1/2010)
Michael Forrest (19/1/2010)
|
Interaction architecture signed off by:
|
|
Notes
== Objectives ==
* Defer choice between install and try until graphics
* Targetting least-technical of our users
* Quick
* Engaging hand-off to desktop
* Convert user -- have such a good experience, they love Ubuntu
* Strong error recovery (inline error feedback)
* Don't warn about things that haven't happened (losing data if you wipe partitions, but you don't have partitions)
* Strong reminder vs warning
Make installation process quick with an engaging hand-off to the desktop.
1. Task definition
1.1 Define problem
The Ubuntu Live CD is the first experience many new users will have of Ubuntu. The installation experience should be attractive and effortless to reassure new users that Ubuntu is the right choice. The process should feel safe and should only highlight risk when necessary (e.g. when data will be destroyed).
1.2 Define objectives
The installation process should support the following types of user:
1. Users with no prior knowledge of Ubuntu or understanding of the nature of an operating system
2. Users who already know they want to install Ubuntu
3. Expert Ubuntu users who have very specific configuration requirements
Candidates for inclusion in this cycle:
1. Restricted extras prompt (if network can be detected)
2. Inline validation in account creation page?
1.3 Benefits to the user as a narrative
Celine is a non-technical user but the installer provides clear instructions that she can follow to complete a successful, safe and comfortable installation of Ubuntu.
1.4 Summary of proposed solution
1.5 Questions
Questions
|
Answers
|
Answered by
|
|
|
|
Can we defer keyboard layout detection until after installation has started?
|
|
|
Do we have a list of 'popular languages' that we can place first in the list? ]
|
We have a list
|
Kyle Nitzsche <kyle.nitzsche@canonical.com>
|
|
|
|
1.6 Scope table
Description of item
|
In Lucid
|
In Lucid +1
|
Out
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Interaction architecture
Actor
|
Related Personas
|
Description
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Technical Capabilities / Assumptions
1. Windows can be detected if installed and keyboard layout, language, username, time zone etc.. can be retrieved
3.0 Fish-level use cases
3.1 Installer computer setup process
Level
|
Fish
|
Primary Actor
|
User
|
Other Actors
|
Ubuntu, Ubuntu One
|
Trigger
|
User starts the process of installing Ubuntu by booting from a Ubuntu CD or other bootable medium.
|
Preconditions
|
|
Success End Condition
|
User successfully configures the new computer.
|
Required features
|
Windows detection, New partitioner, Keyboard layout thing
|
Targeted to land by
|
10.10
|
Primary Scenario
1. Ubuntu automatically boots into greeter via Plymouth-rendered branding that implies that loading is in progress
2. Ubuntu presents a list of languages, and if a language can be detected on an alternative installed OS, this language is selected. [See full list of languages] [done]
Also available are persistent links to accessibility tools and a dropdown containing partman and Keyboard utilities.
3. User selects [3rd language (part of a test case!)] from the list and clicks the Continue button, the text of which has changed to reflect the selected language [done]
4. Ubuntu presents options to Try or Install Ubuntu. Copy associated with Try points out that no changes will be made to the computer and that this is a useful 'troubleshooting cd' mode (see this article for why this is nice). Copy associated with Install adapts to other installed operating systems (i.e. in this case it says "Install alongside or replace Windows".
We will not attempt to educate the user about the nature of Ubuntu
5. User chooses to install Ubuntu by pressing Install (or uses the tab or arrow keys before pressing enter). [done]
6. Ubuntu inspects available volumes and presents user with a list of available volumes. Ubuntu also reveals a graphically pleasing 'step indicator' with a pictorial representation of each step group of steps, echoing artwork included in the CD packaging.
See use case 6.4 for details of this step
7. Ubuntu removes the "Hard Drive and Keyboard Tools" combo and shows a persistent installation progress bar with estimated time remaining (once the estimate is sensible) and prompts the user to set up their keyboard, stating clearly that the installation process is in-progress in the background.
8. Ubuntu detects user's location from internet connection established via ethernet
9. User selects their location
10. User selects a keyboard layout from the list
11. Ubuntu offers User the option to install Flash and MP3 support (etc..), as well as any detected proprietary hardware drivers, while showing a summary of the philosophical reasons this question is being raised.
WE WILL MORPH TO details view and show the two check boxes. And everything will have very carefully chosen language.
12. User leaves boxes unchecked and clicks Done.
13. User creates account as per Use Case 3.2
14. Ubuntu presents the slideshow (which can be interrupted and navigated manually by clicking the next and previous links)
15. Ubuntu reboots automatically when installation is complete
USE CASE ENDS
8.a Variation - User does not have ethernet connection
.1 Ubuntu finds the wireless network card and scans for available networks (showing a spinner as it does so) (The password field is disabled unless needed. The usual icons are used to represent security and signal strength) and then prompts the user to select their network from the list.
TODO: show password as clear text by default
.2 User begins typing their password but sees that the wrong characters are appearing in the field
.3 User phones their nephew who tells them to click the 'keyboard' icon in the panel and go through the keyboard selector
.4 User types in their password correctly from the list and clicks Next.
RETURN TO 9
6.a Variation - Ubuntu detects an installation of Microsoft Windows
.1 Ubuntu stores user information, keyboard setup etc.. and saves for later.
RETURN TO 6
6.b Variation - Ubuntu detects an installation of Apple OS X
.1 Ubuntu stores user information, keyboard setup etc.. and saves for later.
RETURN TO 6
14.b Variation - Ubuntu does not detect a network card of any kind
.1 Ubuntu silently fails to detect network and continues to next step
RETURN TO 15
2.1.A Enable Ubuntu One services on a folder
Level
|
Sea
|
Primary Actor
|
User
|
Other Actors
|
Ubuntu One, Ubuntu, Specific Computer
|
Trigger
|
User wishes to enable Ubuntu One services for a specific folder.
|
Preconditions
|
The Specific Computer being used is connected to Ubuntu One.
There is sufficient free space in the Registered User's Ubuntu One account to sync the folder.
The folder the User wishes to enable is not a child of a Ubuntu One enabled folder.
The folder is not blocked from being Ubuntu One enabled.
The Specific Computer is connected to the internet.
|
Success End Condition
|
Ubuntu One services enabled for the contents of the selected directory.
|
Required features
|
'None'
|
Targeted to land by
|
10.10
|
Primary Scenario
1. User browses to a folder in Nautilus. The folder is not currently Ubuntu One enabled either directly or via inheritance.
Wireframe
|
Design
|
Implementation
|
|
|
|
2. User presses the 'Enable' button.
Wireframe
|
Design
|
Implementation
|
|
|
|
3. Ubuntu One successfully verifies that the contents of the folder will fit within the User's available Ubuntu One data allowance (if offline, the cached record of available storage space is used)
4. Ubuntu starts syncing the data and displays 'Ubuntu One enabled'. A indicator (that indicates activity, not % of activity remaining) is displayed and individual sync animations are overlayed on the icons.
Wireframe
|
Design
|
Implementation
|
|
|
|
5. Ubuntu removes the sync animation overlay from each individual file or folder when it completes syncing.
Wireframe
|
Design
|
Implementation
|
|
|
|
6. Ubuntu completes the entire sync operation and displays the 'Ubuntu One enabled' graphics in Nautilus.
Wireframe
|
Design
|
Implementation
|
|
|
|
7. User navigates up one level in Nautilus to the parent folder.
Wireframe
|
Design
|
Implementation
|
|
|
|
8. Ubuntu removes the sync animation overlay and adds a embossed Ubuntu One logo to the folder that is now directly Ubuntu One enabled. Nautilus displays the partially enabled state graphics.
USE CASE ENDS
1.a Variation - The folder is currently Ubuntu One enabled via inheritance
.1 User browses to a folder in Nautilus. The folder is currently Ubuntu One enabled via inheritance.
Wireframe
|
Design
|
Implementation
|
|
|
|
.2 Ubuntu does not display the 'Enable' or 'Disable' button.
USE CASE ENDS
1.b Variation - User browses to a folder for which Ubuntu One services are blocked e.g. /sys/
Wireframe
|
Design
|
Implementation
|
|
|
|
.2 Ubuntu displays a message informing the user that this folder cannot be Ubuntu One enabled.
USE CASE ENDS
1.c Variation - User browses to a folder which contains a child folder that is Ubuntu One enabled
.1 User browses to a folder that contains a child folder which is Ubuntu One enabled
.2 Ubuntu displays the standard Ubuntu One Nautilus visual decorations along with a message informing the User that the they cannot Ubuntu One enable the folder because it contains a child folder that is already Ubuntu One enabled.
USE CASE ENDS
3.a Variation - The User has not yet connected the Specific Computer to Ubuntu One
.1 Ubuntu opens the 'Connect to Ubuntu One' control panel window.
Wireframe
|
Design
|
Implementation
|
|
|
|
.2 User completes the process of either registering with Ubuntu One or connecting the Specific Computer to Ubuntu One. See use case 2.1 and 2.2 in the Control Panel Phase 2 spec for further details.
RETURN TO 3
3.b Variation - The User has not yet connected the Specific Computer to Ubuntu One. No internet connectivity is present.
.1 Ubuntu opens a window that states "A internet connection is required to enable Ubuntu One services for the first time. Connect this computer to the internet and then press next to continue".
Wireframe
|
Design
|
Implementation
|
|
|
|
.2 Ubuntu continuously checks to see if a internet connection has been established.
.3 User connects the computer to the internet.
Wireframe
|
Design
|
Implementation
|
|
|
|
.4 Ubuntu detects that a internet connection has been established. The window morphs to confirm the internet connection and the 'next' button is un-grayed.
Wireframe
|
Design
|
Implementation
|
|
|
|
.5 User presses 'Next'.
Wireframe
|
Design
|
Implementation
|
|
|
|
.6 Ubuntu morphs the window to display the 'Connect to Ubuntu One' control panel.
Wireframe
|
Design
|
Implementation
|
|
|
|
.7 User completes the process of either registering with Ubuntu One or connecting the Specific Computer to Ubuntu One.
RETURN TO 3
3.c Variation - User with a free account does not have enough free Ubuntu One data allowance to sync the folder.
.1 Ubuntu One discovers that the contents of the folder will not fit within the User's available Ubuntu One data allowance.
.2 Ubuntu One opens a dialogue window informing the user that enabling the folder would exceed their current data allowance.
Wireframe
|
Design
|
Implementation
|
|
|
|
.3 Registered User clicks on the 'Upgrade Subscription' link.
Wireframe
|
Design
|
Implementation
|
|
|
|
.4 Ubuntu One opens a web browser displaying the 'Upgrade Subscription' web page.
Wireframe
|
Design
|
Implementation
|
|
|
|
.5 Registered User successfully completes the upgrade process on the website.
.6 Ubuntu One imports the Registered User's address into the Ubuntu One Contacts Database.
.7 Ubuntu automatically morphs the dialogue window to the Control Panel. A message informing the Registered User that they have successfully upgraded to a paid account is displayed.
Wireframe
|
Design
|
Implementation
|
|
|
|
RETURN TO 4
3.d Variation - User with a paid account does not have enough free Ubuntu One data allowance to sync the folder
.1 Ubuntu One discovers that the contents of the folder will not fit within the User's available Ubuntu One data allowance.
.2 Ubuntu opens a window that displays the message "This folder contains XXGB data which will not fit within the XXGB that is currently unused out of your 50GB data allowance. Try enabling Ubuntu One services on on a smaller portion of data".
Wireframe
|
Design
|
Implementation
|
|
|
|
.3 User presses 'OK'.
Wireframe
|
Design
|
Implementation
|
|
|
|
.4 Ubuntu closes window.
.5 Ubuntu One informs the Ubuntu One team that a Registered User has attempted to use more than 50GB storage.
USE CASE ENDS
4.a Variation - No internet connection present
.1 Ubuntu displays the 'Ubuntu One enabled' graphics in Nautilus along with the message "Awaiting sync. These files will be synced to your other devices as soon as internet connectivity is established."
Wireframe
|
Design
|
Implementation
|
|
|
|
USE CASE ENDS
5.a Variation - Internet connectivity lost while first sync is in progress
.1 Ubuntu loses internet connectivity
.2 Ubuntu informs the Registered User that the synchronization is incomplete
Wireframe
|
Design
|
Implementation
|
|
|
|
.3 Ubuntu adds 'not yet synced' emblems to the appropriate files.
Wireframe
|
Design
|
Implementation
|
|
|
|
.3 Ubuntu reestablishes internet connectivity
.4 Ubuntu restarts the synchronization operation
Wireframe
|
Design
|
Implementation
|
|
|
|
RETURN TO 5
3.3 User edits drive partitions during install process
Level
|
Fish
|
Primary Actor
|
User
|
Other Actors
|
Ubuntu
|
Trigger
|
User has started installation
|
Targeted to land by
|
10.10
|
Primary Scenario
1. Ubuntu presents available volumes
2. User selects the first available drive
3. Ubuntu reveals volume space allocation slider and colour-coded inline validation. Volume usage defaults to 50% as more than 50% is available.
4. User starts installation by clicking Install
USE CASE ENDS
2.a Variation - There are more volumes available and User selects an inappropriate volume
.1 Ubuntu shows a scroll bar
.2 User selects undersized volume
.3 Ubuntu shows a cross on selection and gives explanation of the problem
.4 User scrolls back up to other volumes
RETURN TO 1
3.a Variation - User selected empty volume
.1 Ubuntu gives a green light and says there is no danger to choosing this volume
RETURN TO 4
3.b Variation - User chooses to use the entire Windows volume for Ubuntu
.1 User selects main Windows volume and slides slider to 100%
.2 Ubuntu displays a WARNING saying that data will be lost with this choice
.3 Ubuntu prompts user "Are you sure?"
RETURN TO 4
2.b Variation - Users wants to set specific partition and configuration options
.1 User clicks the Hard Drive and Keyboard Tools combo box and launches partman
.2 Ubuntu opens partman in a modal window above the installer window
TODO: update this screenshot!
.3 User sets up the custom partitions they want and then closes the window (after waiting for reformatting to be completed etc..)
.4 Ubuntu refreshes list of available drives
.5 User selects newly formatted drive
.6 User selects Bootloader Options from combo box
.7 Ubuntu presents Bootloader Options dialog
.8 User keeps current Bootloader options and clicks OK
.9 User clicks Install to commence installation
RETURN TO 4
3.c - Variation - User wants to keep their home folder on another drive and easily replace their installation
USE CASE ENDS
3.d - Variation - User wants to overwrite system part of existing installation
USE CASE ENDS
3.6 User has installed on the same machine and synced their settings on Ubuntu One
Trigger
|
User has wiped their machine and wants to do a fresh install
|
Required features
|
Ubuntu One Machine Sync
|
Targeted to land by
|
12.04
|
Primary Scenario
1. Ubuntu presents option to copy settings from Ubuntu One
2. User enters Ubuntu One account details
3. Ubuntu retrieves all configuration options for this computer and starts installing immediately
USE CASE ENDS
4. First Post-Login Use Cases
brainstorm
checking for restricted extras, proprietary drivers, language packs, system updates (security, apps, etc..)
FULL update? or SELECTIVE update - -- rationalised list of packages:
- proprietary drivers / restricted extras [29Mb]
- security [100MB]
- language [290KB]
- system updates [140MB]
- application updates [200MB]
- user did not have internet connectivity during install
Level
|
Fish
|
Primary Actor
|
User
|
Other Actors
|
Ubuntu
|
Trigger
|
User logs in
|
Required features
|
|
Targeted to land by
|
10.04
|
4.1 Experienced Technical Ubuntu User first logs into Ubuntu
1.
2.17 Dragging and dropping a selection onto a specific window
Level
|
Sea
|
Primary Actor
|
User
|
Other Actors
|
Launcher
|
Trigger
|
None
|
Preconditions
|
The Launcher contains a running entry with open windows
|
Success End Condition
|
The target window is raised, and the application to which the window belongs is focused
|
Targeted to land by
|
10.10
|
Primary Scenario
1. The User drags the selection over an entry in the Launcher.
2. The entry's DropList is displayed immediately, and the windows belonging to the corresponding application are spread.
3. The User drags the file over the desired target window and holds it there for a long delay. After a long delay, the target window and its parent application become focused.
USE CASE ENDS
1.b Variation: There are more entries than can fit on the screen
.1 When the desired entry is not on screen, dragging while edge-scrolling against the upper and lower edges of the Launcher causes the Launcher to scroll. This behavior is similar to the behavior when adding or repositioning entries when there are more entries than can fit on the screen. DropLists and spread windows are not displayed while the Launcher is scrolling.
RETURN TO 2
2.b Variation: The application has no open windows
.1 Only the DropList is shown.
USE CASE ENDS
3.b Variation: Some windows are minimized
.1 Minimized windows should appear as normal windows when all application windows are spread. This may require minimized windows to become temporarily unminimized, and then re-minimized appropriately.
RETURN TO 4
4.b Variation: The file is dragged over another entry
.1 Once an application's windows have been spread out, dragging the file over another running application and holding it there for more than a short delay shows the DropList and spread windows for that entry.
RETURN TO 4
2.b Variation: The drop occurs in negative space
1. Dropping in negative space (i.e. the space not occupied by individual spread windows, the DropList, the Launcher, or the Places Bar) discontinues the drag (i.e. hides the DropList, unspreads windows).
USE CASE ENDS