Startup Disk Creator redesign & renaming proposal

Why the Startup Disk Creator (SDC) schould be redesigned

The SDC in its current form has a suboptimal work flow, displays too much unimportant information to the user and requires too many steps to actually create a startup USB stick. The SDC is kind of a semi-public face of Ubuntu and an important tool to spread it, therefore it should be as straightforward and simple to use as possible – some people even don't have an optical drive anymore.

What the new SDC should do for the user

It should be really easy to create a startup USB stick, therefore the SDC should automate as many tasks as possible and hide all non-essential or technical information from the user. The aim should be to allow the creation of a startup USB without the need to leave the program (to download an ISO), with the lowest amount of user interaction (clicks), in the most polished way.

Getting the iso

The first barrier to remove is the need to find and download a Ubuntu ISO image. The SDC should be able to download with a few clicks all current Ubuntu ISOs that get support updates as well as the ISOs of Ubuntu official derivates. Also already downloaded and supported ISOs should be auto-detected without any user interaction. Use locate, Zeitgeist, find or whatever, but find the ISOs for the user (remember: only the ISOs of Ubuntu versions that get updates and its official derivates).

If the SDC needs to download an image it should use something like zsync -i path-to-existing-iso url-new-iso.zsync to download only a bin-diff if there is another ISO already available → faster download + bandwidth gets saved.

User Workflow & Main Functionality

Main View

The user starts the SDC.

[nio]Unetbootin has an option/toggle to show also other devices (with a warning), not only USB. I have used that feature not only in Virtualbox. It is worth considering in the general mockup.

It is also very important to show very clearly which is the target device, when there are more than one (more than one USB device, not only when other devices are displayed and possible to select. [/nio]

A right click on a ISO row should allow the user to open the folder containing the ISO file (nice litle gimmick) and to delete it. Mouse-over an ISO row should show the months / years of support left for the distribution.

300ms should be enough to find ISOs on the user system and not to slow down the application startup too much (locate takes on my system 20ms to return). If locate, Zeitgeist and find return before 300ms → show the main view. If some of the search methods return, but not all within 300ms, show the main view and update the UI when the remaining methods have finished (in most cases find will be the slowest).

[nio] I think that 300 ms is too short time for ageing computers [/nio]

Extra space on the stick for user files... option should be default to 0 MB.

http://ubuntuone.com/5yBUn9wWnaaPQEent779ia

Download View

The Operating System drop-down should show the size of the download to the right of the distribution name, but only for the open drop-down list, not after the selection has been made.

Set the drop-down defaults to $MY_DISTRO, 64-Bit and the latest LTS or to the daily build of $MY_DISTRO, if the Show daily builds option has been set in the preferences.

http://ubuntuone.com/13LV9GQwXQ3m4iGrBVevlx

Main View - ISO download

The user has selected a distribution and clicked on the Download image button.

http://ubuntuone.com/4MaIj4lRSC2izANuzM3yYW

Error View

The error view is displayed when the SDC can't find an ISO and no Internet connection is available.

http://ubuntuone.com/4UqMObTGPSK53PEats1XfJ

Preferences Window

Show only ISO images of the last release and LTS:

Limits the shown distributions in the main view list to the latest released and the last LTS version (checked by default). If unchecked, show all available Ubuntu distribution images and Ubuntu derivates.

Show daily builds

If activated, shows the latest daily build of $MY_DISTRO(unchecked by default) instead of the latest LTS in the various places.

[nio] If daily builds should be downloaded this way, it should also use zsync. Otherwise it is better to download/update outside the SDC and let the SDC find it in the computer/LAN. [/nio]

ISO image search and download folder

The default folder to search with the find command for valid ISOs is ~/Downloads.

find $XDG_DOWNLOAD_DIR -follow -type f -size +500M -iname "*buntu*.iso" 2>/dev/null

http://ubuntuone.com/5TJJVcJiN53mdqdu1cDvhR

SDC renaming and other thoughts

1. The current SDC name is a bit too generic for my taste. It would be better to rename it to something more descriptive like: Ubuntu USB Startup Creator, or just USB Startup Creator.

2. It would be nice if the SDC could be used on other platforms too (same code, same functionality, same design).

3. The SDC 'Store in reserved extra space' doesn't work too often for me, it would be better to create the startup USB with the 'Discarded on shutdown...' option.

4. Display the path of an iso on-mouse-over and allow to open the iso folder through a right click on the iso list row by selecting the 'Show in Folder' option.

Current (saucy) version of the SDC

http://ubuntuone.com/1SDfcVxpV2kjyxLyC0sLmM

old Mockups

Main View

Error View

Download View

Unetbootin – Alternate Approach

Unetbootin does everything we need to do (and are trying to do ~ Downloads) and supports plugins/customizations. Including to limit the number of distros that will be shown. I'm thinking we install unetbootin, and then have another package called unetbootin-showubuntuonly, which disables showing other distros and customizes the interface more if needed.

They appear to use Qt4 which could be a blocker.. Other than that, it seems like a win-win.

[nio] Is it possible to do what we want with an own wrapper on top of Unetbootin, or does it require rewriting the whole user interface? Is the feasible alternative to make some customizations around the present GUI and take what is available? That might be good enough, but it might not look like the nice mockups of the new SDC. [/nio]

https://launchpad.net/unetbootin Their FAQ: http://unetbootin.sourceforge.net/#faq How to do a plugin: http://sourceforge.net/apps/trac/unetbootin/wiki/createplugin

Random thoughts:

UNetbootin Screenshots

Main Window:

http://ubuntuone.com/3fLaUVFnR3Q0joKm4t3hpe

File Manager:

http://ubuntuone.com/4KJQERF3aylsCy1ITQSx87

Download:

http://ubuntuone.com/5eP1DSixO1FINkZx9cwMRX

Create Startup USB - Overwrite Dialog (not allways shown):

http://ubuntuone.com/6pdOvOfVPmWNGPdpTkDCsC

Create Startup USB - Running:

http://ubuntuone.com/3UT7r5dfFCLX1LOzY3sLWe

Create Startup USB - Done:

http://ubuntuone.com/4tSocWlF6NPowuxsl13nPi

Bug tickets:

usb creator should be able to download ubuntu images – 1244952

auto detect *buntu iso images – 1244955

show only supported images in the source disc image list – 1244956

update source disc image list widget to display more relevant information – 1244960

always format the usb stick – 1244963

remove 'When starting up from this disk...' section – 1244966

don't ask the user for the root pw during startup creation – 1244968

usb-creator workflow is unintuitive – 1244979

Reddit idea post

http://www.reddit.com/r/Ubuntu/comments/1p2jud/plans_for_startup_disk_creator_2/

ubuntu-usb-startup-creator (last edited 2013-11-26 14:57:31 by host217-34-33-173)