GnomeUserInterface
|
Size: 5463
Comment: BoF discussion of computer name + Location + Progress bling
|
Size: 6466
Comment: Rationale -> Scope; attachment links
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 7: | Line 7: |
| * '''Packages affected''': ubuntu-express | * '''Packages affected''': `ubuntu-express` |
| Line 11: | Line 11: |
| UbuntuExpress - GNOME user interface A user interface for the UbuntuExpress installer. A user interface component, written in Python, which will drive the installation process. It will ask questions of the user, and invoke backend routines to act on the user's choices. |
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. |
| Line 18: | Line 14: |
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, although both the frontend and the backend need significant work before meeting our requirements. |
|
| Line 25: | Line 19: |
| 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. |
|
| Line 27: | Line 23: |
| Installation experience is theater. | Installation experience is theater. The installer must wow reviewers, and give everyone a good impression of the system they are installing. |
| Line 29: | Line 25: |
| === Invocation === | === Invocation and overall design === |
| Line 31: | Line 27: |
| * The Live CD desktop should contain an "Install Ubuntu Permanently" icon. (Wording TBC.) | The Live CD desktop should contain an "Install Ubuntu Permanently" icon, consisting of an arrow overlaid on the Ubuntu logo. |
| Line 33: | Line 29: |
| * The installation window should not be full-screen. | attachment:overall-layout.png |
| Line 35: | Line 31: |
| === Language and introduction === | 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. |
| Line 37: | Line 33: |
| The first page of the installer lets you choose your language, and displays an explanatory blurb in the selected language: "Installing permanently will let you run Ubuntu at full speed and without the CD." (The bootloader lets you select the language on x86 but not PPC.) | === Welcome to the Ubuntu installer === |
| Line 39: | Line 35: |
| === Keymap === | attachment:language.png |
| Line 41: | 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 ______. 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). 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 === attachment:keymap.png The next step is asking for the keymap, so that answers to later questions can be typed successfully. |
|
| Line 44: | Line 51: |
| attachment:personal.png |
|
| Line 45: | Line 54: |
* Choose a password (enter twice) |
|
| Line 53: | Line 60: |
| * Choose a password (enter twice) ''Future work: "Who will be using this computer?" -- multiple names at once, to encourage use of individual accounts.'' |
|
| Line 56: | Line 67: |
| This name will be visible if you make your computer visible to others on a network. | This name will be used if you make your computer visible to others on a network. |
| Line 62: | Line 73: |
| Dapper+1: provide a way of customizing the hostname separately. | ''Future work: Provide some way of letting people enter the hostname manually.'' |
| Line 65: | Line 76: |
attachment:time-and-place.png |
|
| Line 73: | Line 86: |
| If time: Highlight the entire timezone on the map. | ''If time: Highlight the entire timezone on the map.'' |
| Line 78: | Line 91: |
''Future work: Let people transfer non-dot files and fonts from the home folder.'' |
|
| Line 91: | Line 106: |
| [:ColinWatson: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. | 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 |
| Line 95: | Line 110: |
| * Move debconffilter from oem-config into debconf proper. * TODO |
* Move `debconffilter` from `oem-config` into `debconf` proper. |
| Line 107: | Line 121: |
* "Who will be using this computer?" -- multiple names at once, to encourage use of individual accounts. * Transfer home folder -- copy non-dot-files (and fonts). |
Launchpad Entry: https://launchpad.net/distros/ubuntu/+spec/ue-gnome-ui
Created: Date(2005-10-31T16:34:49Z) by JaneWeideman
Contributors: JaneWeideman, ColinWatson, MatthewPaulThomas
Packages affected: ubuntu-express
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 installing.
Invocation and overall design
The Live CD desktop should contain an "Install Ubuntu Permanently" icon, consisting of an arrow overlaid on the Ubuntu logo.
attachment:overall-layout.png
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.
Welcome to the Ubuntu installer
attachment:language.png
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 . 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). Future work: "To use accessibility features while installing, press the Space key now."
attachment:keymap.png The next step is asking for the keymap, so that answers to later questions can be typed successfully.
attachment:personal.png The name defaults to the first word of the person's name, converted to lower case. Future work: "Who will be using this computer?" -- multiple names at once, to encourage use of individual accounts.
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.
attachment:time-and-place.png If time: Highlight the entire timezone on the map.
See UbuntuExpress/PartitioningTool. Future work: Let people transfer non-dot files and fonts from the home folder.
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.
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.) Move debconffilter from oem-config into debconf proper.
Keyboard layout
Personal information
Computer name
Timezone and location
Partitioning
Progress information
Implementation
Code
Data preservation and migration
Outstanding issues
BoF agenda and discussion
Future work
UbuntuExpress/GnomeUserInterface (last edited 2008-08-06 16:19:54 by localhost)