[TEST] Install process UX specification

















[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:





  1. Install process UX specification
    1. Notes
    2. Objectives
      1. 1.1    Define problem
      2. 1.2    Define objectives
      3. 1.3    Benefits to the user as a narrative
      4. 1.5    Questions
      5. 1.6    Scope table
    3. 2.    Interaction architecture
      1. Technical Capabilities / Assumptions
    4. 3.0 Fish-level use cases
      1. 3.1    Installer computer setup process
      2. 3.2   User creates new account
      3. 3.3    User edits drive partitions during install process
      4. 3.4    Developer wants to use with specialised configuration options
      5. 3.5     A critical bug is found post-release in the installer that affects a large number of users
      6. 3.6    User has installed on the same machine and synced their settings on Ubuntu One
    5. 4. First Post-Login Use Cases
        1. brainstorm
      1. 4.1 Experienced Technical Ubuntu User first logs into Ubuntu
      2. 4.2  User needs to troubleshoot hardware issues on first boot

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

https://wiki.ubuntu.com/UbuntuExpress/GnomeUserInterface 

== Risks ==
 * Network connection (how much do we need it in installer?)
 

view using http://use-case-mapper.canonical.com/specifications/0AU5sFuLRpCpBZGZra2pqY2pfMTAxZ25rcnBnNXY 

Objectives

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
 
[bug#568979]
 

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/

.1    User browses to a folder in Nautilus which is on the list of folders for which Ubuntu One services are blocked.  See "3.1 Folders where Ubuntu One services are blocked" for a complete list. [#598095]

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