UbiquityVisualRefresh

Summary

The visual design of Ubiquity has remained largely unchanged since its creation, however there are a number of areas where graphical aids would be beneficial.

Release Note

The desktop installer now presents a slide-show while copying files to explain basic concepts to new users while they wait.

The desktop installer contains many visual enhancements, such as an image of the partition table and password strength meter.

Rationale

Partitioning is the most difficult part of the install process to understand and could benefit from a graphical representation.

The install process takes a few minutes and could use that time to introduce new users to Ubuntu.

Use Cases

  • Nancy is installing Ubuntu for the first time and is completely unfamiliar with it.
  • Joe is installing Ubuntu, but is having a hard time visualizing what the different automatic partitioning options do.

Design

  • A slideshow will be added to the main progress window and the first slide will be also used for the introduction page, though the absence of the introductory page in the final release will remain.
  • A partition bar written in Cairo will be added to the top of the partitioning page. It will display the proposed layout of the partition table.
  • A password strength meter will be added to the "Who are you?" page.
  • The new timezone map will be further improved, adding much requested usability fixes and timezone line data.

Implementation

Slideshow

slideshow-notes.jpg (The idea expressed in this rough mockup was to have an icon bar at the bottom where an icon has some sort of transitional effect to a larger version that sits besides some explanatory text for that item.)

A slideshow will be added to the main progress window, developed using an animated png file (format to be determined) and combined with internationalized text explanations using Cairo.

The artwork will be drawn by the artwork team and the text will be written by the documentation team.

The slides will each be shown for a specific duration of time, rather than for a percentage of the install as faster installs, such as USB-based ones, will speed through the latter case.

While there will be a common set of slides, there will need to be some different slides for Kubuntu. The slides will be of the basics of the Ubuntu paradigm, such as installing programs, getting help, filing bug reports, and participating in the community.

Partitioning options

The "Guided - use entire disk" radio button should be made smarter using os-prober.

Where the selected disk contains no OSes:

  • (*) Use the entire disk

Where the selected disk contains one OS:

  • (*) Use the entire disk
        This will delete Windows XP and replace it with Ubuntu.

Where the selected disk contains more than one OS:

  • (*) Use the entire disk
        This will delete Windows XP and Mandriva and replace them with Ubuntu.

The "Manual" radio button should be renamed to "Use part of the disk, or a different arrangement", seguing into the manual partitioning step.

Partition bar

A partition layout graphic, inspired by Banshee's implementation and written using Cairo's Python bindings, will be added to the top of the automatic partitioning and manual partitioning pages. It will display what the partition layout will look like once it's committed based on the option selected by the user.

  • "Use entire disk"

 ,-----------------------------------------.
( //////////////////////////////////////////)
 `-----------------------------------------`
+-+ Ubuntu 8.10
+-+  (100 GB)
  • "Resize and use free space"

 ,-----------------------------------------.
( ////////////////|                         )
 `-----------------------------------------`
+-+ Windows XP Home Edition   +-+ Ubuntu 8.10
+-+         (40 GB)           +-+   (60 GB)
  • "Use the largest continous free space"

 ,-----------------------------------------.
( ////////////////|+++++++++++|             )
 `-----------------------------------------`
+-+ Windows XP Home Edition   +-+ Fedora 9   +-+ Ubuntu 8.10
+-+         (40 GB)           +-+ (30 GB)    +-+   (30 GB)
  • "Manual partitioning"

The partitioning widget will be drawn with the original partition table layout.

Future work:

  • Merge the automatic and manual partitioning pages.

  • Make a clickable and draggable partition chart the primary method of showing and choosing OS location partition sizes.

  • Show a chart for each available disk to help in deciding which disk to use. Have a smooth transition from showing mini charts for all available disks, to the full chart of just the selected disk, with a "Choose Another Disk..." button to return to the all-disks view.

Password strength meter

A password strength widget will be added alongside the password input boxes. It will need to be written from scratch as one does not already exist within GTK.

Timezone widget

The timezone widget will be improved by adding timezone line data to the image, sourced from the USA CIA. The area bounded by the timezone lines that the selected timezone resides in will be highlighted.

The data will be extracted using Inkscape.

As a first trial:

  • The map should be keyboard-focusable (with a focus ring when focused), just like a text field or listbox.
  • The left/right arrow keys should select the previous/next time zone.
  • The map should expose the name of the selected time zone to accessibility aids.
  • The time zone name should also appear as a caption immediately underneath the map.

If -- once this is completely implemented -- testing shows that it is still not accessible enough, an extra menu should be added for choosing a time zone by name, separate from the option menu for choosing cities in the selected time zone.

The widget will no longer zoom in on the map on mouseover.

Examples:

Guessing a timezone

Use rdate or NTP to determine the offset from UTC 0 and select a timezone based off of this data. If the remainder after taking the difference between the selected timezone and the offset exceeds a specified value, the installer will not use its guess. This will be done during the language selection page preparation after the language is known. A suitable timeout will have to be used.

Test/Demo Plan

Ubiquity will be run with different virtual hardware configurations that will show how the slideshow performs when running on a fast or slow computer.

The new partition layout widget will be tested by running ubiquity with many different partition layouts.

Outstanding Issues

Should we reuse the new partition bar for the partition resize widget, or stick with the 8.04 version? It would need to only form the base, as we would need to add a handle that can be dragged.

Comments

  • There could be a tie-in between this and https://wiki.ubuntu.com/NewUserEducation

  • (To be moved anywhere more proper: live cd bootup should have a dialog explaining that this is a Live CD mode, not full Ubuntu, and that one may choose to try out various things and then start the installer. I've heard of people that thought, after the long boot up from CD, that they are in full Ubuntu already. This is because there's no introduction, just an Ubuntu desktop and one small icon about installing. Also, it's useful to check out if network, sound works.)
    • Please file a bug report. This is not an appropriate place for bugs. -- EvanDandrea

  • Ubuntu installation windows are too big and not resizable. If the videocard detection fails, the user is left at 640x480 or 800x600 with windows too big to be used (he won't see the buttons at the bottom of the windows, since the installer windows go out of screen). The content window of the installer shuold be wrapped in a scrollbox and allow user resizing. This is an issue on virtual machines as well as on MIDs (like eeepc) -- TacOne

    • The installer window will fit in a 800x600 desktop. I don't believe it is feasible to fit it in a 640x480 desktop at this point, however a bug report would be a much more appropriate place for such a suggestion. -- EvanDandrea

  • Please also keep Xubuntu and other possible derivatives in mind (i.e. make sure Xubuntu users aren't faced with an Ubuntu or Kubuntu guide). --VinNL


CategorySpec

UbiquityVisualRefresh (last edited 2009-11-12 01:32:31 by nanoman)