GnomeUserInterface

Differences between revisions 10 and 11
Revision 10 as of 2005-11-05 22:16:25
Size: 6685
Editor: 241_220_103_66-WIFI_HOTSPOTS
Comment: fix keyboard mockup links
Revision 11 as of 2005-11-06 00:24:38
Size: 6996
Editor: 241_220_103_66-WIFI_HOTSPOTS
Comment: navigation buttons
Deletions are marked like this. Additions are marked like this.
Line 23: Line 23:
Installation experience is theater. The installer must wow reviewers, and give everyone a good impression of the system they are installing. Installation experience is theater. The installer must wow reviewers, and give everyone a good impression of the system they are about to use.
Line 33: Line 33:
At the bottom right of the window is a pair of buttons, "◀ Back" and "Next ▶". At the first step, "◀ Back" is replaced by "Cancel"; at the last step, "Next ▶" is replaced by "Finish ".
Line 35: Line 37:
The first page of the installer lets you choose your language. On x86, this defaults to the language choice that was made in the bootloader; otherwise, it defaults to English. It also displays a welcome message and explanatory blurb in the selected language (which eliminates the appearance of wasting time if you ''did'' choose the appropriate language in the bootloader). The first page of the installer lets you choose your preferred language, for the installation itself and for your Ubuntu account. On x86, this defaults to the language choice that was made in the bootloader; otherwise, it defaults to English. This page also displays a welcome message and explanatory blurb in the selected language, updated live as the selection changes. (This eliminates the appearance of wasting time if you ''did'' choose the appropriate language in the bootloader.)

Summary

The UbuntuExpress installer interface appears as a window on the live CD desktop. It asks for language, keymap, your name, computer name, login name, password, timezone and location, and partitioning details. The interface is written in Python, invoking backend routines to act on your choices.

Rationale

Use cases

Scope

Since we'll be doing a Qt-based interface as well for KubuntuExpress, the user interface must be cleanly separated from the functional installer backend. The [http://interactors.coop/~trunks/installer/ Guadalinex installer] already does this quite well, but both the front end and the back end need significant work to meet our requirements.

Design

Installation experience is theater. The installer must wow reviewers, and give everyone a good impression of the system they are about to use.

Invocation and overall design

The Live CD desktop shall contain an "Install Ubuntu Permanently" icon, consisting of an arrow overlaid on the Ubuntu logo. If there are any other icons on the desktop, the installation icon shall be the last one.

attachment:overall.jpg

The installation window is not full screen, but just big enough to show the largest page (the partitioning tool). The window has the title "Install Ubuntu", and is not resizable.

At the bottom right of the window is a pair of buttons, "◀ Back" and "Next ▶". At the first step, "◀ Back" is replaced by "Cancel"; at the last step, "Next ▶" is replaced by "Finish ".

Welcome to the Ubuntu installer

The first page of the installer lets you choose your preferred language, for the installation itself and for your Ubuntu account. On x86, this defaults to the language choice that was made in the bootloader; otherwise, it defaults to English. This page also displays a welcome message and explanatory blurb in the selected language, updated live as the selection changes. (This eliminates the appearance of wasting time if you did choose the appropriate language in the bootloader.)

attachment:language.jpg

  • Ready to install Ubuntu? Once you answer a few questions, Ubuntu can be installed on this computer so you can run the system at full speed and without the CD. Answering the questions should take about five minutes.

Future work: "To use accessibility features while installing, press the Space key now."

Keyboard layout

The next step is asking for the keymap, so that answers to later questions can be typed successfully.

attachment:keyboard.jpg

attachment:keyboard-guess.jpg

Personal information

attachment:personal.jpg

  • What is your name?
  • What login name would you like?
    • This is the name you will use when logging in to Ubuntu. If more than one person will use this computer, you can set up other accounts later.

The name defaults to the first word of the person's name, converted to lower case.

  • Choose a password (enter twice)

Future work: "Who will be using this computer?" -- multiple names at once, to encourage use of individual accounts.

Computer name

attachment:computer-name.jpg

  • What name would you like to give your computer?
    • This name will be used if you make your computer visible to others on a network.

This defaults to the hostname from DHCP/DNS if available, otherwise "ubuntu".

Initially, the field is restricted to ASCII characters. The name is used as-is for Avahi configuration, and a normalized version is used as the hostname. The hostname has spaces converted to dashes, and other punctuation stripped; this conversion is presented live during the input.

Future work: Provide some way of letting people enter the hostname manually.

Location

attachment:location.jpg

  • Choose the city nearest to you, for timezone
    • map (Can we just highlight the country/timezone boundries on mouseover so you deon't select a city but a whole region? Lets try to avoid precision clicking. I would even prefer a dropdown for timezone to this. We could even suggest a time zone if an ntp server can be reached based off of their computer's clock.)
  • List of country-like entities (used for suggesting default keymaps, currencies, etc)
  • allows faster software updates -- closer mirrors.

If time: Highlight the entire timezone on the map.

Partitioning

See UbuntuExpress/PartitioningTool.

Future work: Let people transfer non-dot files and fonts from the home folder.

Progress information

attachment:progress-demo.jpg

A single progress bar should be displayed at the end.

TBD: Work out how to allow cancelling installation of language packs. ( Skip )

Show some sort of demo (Flash v3?) during the installation progress. Put this in an expander (expanded by default), so people can see just the progress if they want.

attachment:progress.jpg

Implementation

Since the Guadalinex team has already implemented a significant amount of this, we will use their work as a base. However, discounting minor user interface tweaks, the current code base has the problem that it duplicates both code and translatable strings from the installer, which causes problems such as desynchronisation of functionality with the installer (e.g. username/password validation in current ubuntu-express produces different results from the installer's validation code) and the loss of many existing translations of strings from the installer.

I believe that both issues can be solved by borrowing infrastructure from [:OEMInstaller:oem-config], where I had to address similar problems and did so using a debconf protocol filter: debconf-using code (e.g. installer code) can be run unmodified inside a wrapper that runs custom user interface code rather than a standard debconf frontend, and translated strings can be extracted directly from the debconf database. -- ColinWatson

Aside from that, a quick glance over the Guadalinex code suggests that its user interface has reasonably good separation between frontend and backend: the frontend asks all questions up-front and then runs widget-set-independent backend code that feeds answers into the debconf database and performs the installation proper. (Integration with oem-config may suggest answers reaching the debconf database while the frontend is running, but that's OK.)

Code

  • Move debconffilter from oem-config into debconf proper.

Data preservation and migration

Outstanding issues

BoF agenda and discussion

Future work

UbuntuExpress/GnomeUserInterface (last edited 2008-08-06 16:19:54 by localhost)