Anaconda/UX Redesign

From FedoraProject

< Anaconda
Revision as of 21:56, 9 November 2010 by Ivancjimenez (Talk | contribs)

Jump to: navigation, search

Contents

Resources

Goals

  1. make the defaults work such that you can just click next all the way through
  2. reduce the number of questions to just the important stuff.

Where does choice happen?

  1. Different spins
  2. Boot menu option (default=easy and an "advanced" option)
  3. Selection screen when anaconda starts
  4. "advanced" buttons in the anaconda pages
  5. PackageKit post-install

Questions

  • Does live media allow to choose language for the installation? (Does the language choice during the USB stick bootup affect installer language?)
Yes. Choosing a language in gdm makes anaconda use it and it becomes the installed system's default. I installed f14 from a live usb in Spanish and that's the default lang now. --Ivancjimenez 21:56, 9 November 2010 (UTC)

Fedora 14 Install Process

Various User Issues

  • Picking user location is tedious. Shipping database of locations that becomes quickly stale.
    • Possible to query online server for updated location data via geoip? (privacy?) (One note on this one, if you want to adopt using geo location stuff for

suggesting the locale or timezone, please make sure to not force it, especially for default language.)

    • Does the db include ipv6 addresses?
    • "I remember we used to have much better dialog (the one with zoom on europe - select city). But I also know, that we use system components for some dialogs and this is one of them... so this is not part of Anaconda, but of system-config-date."
    • "I still miss being able to select my timezone, rather than a city. As a resident of Texas, selecting America/Chicago always makes me feel dirty for some reason.  ;-)"
    • "Just try to select on blind map without country frontiers Prague (the capital of Czechia). I was born in Prague (so I should know where it is ... but it is hard on blind map) and I think my hands are not shaking yet, but to find a milimeter exact position of mouse (or IBM Thinkpad pointer-thingy) which is Prague (and not Vienna, Budapest, Bratislava, or Berlin) is job which makes me disgusted every time. IMHO, the cursor in the first step should be a big rectangle with which I would randomly click to select big chunk of Europe roughly somewhere around Central Europe and then I would have map with country boundaries and visible cities I could select from."
  • Virtual machine install issues
    • "Don't ask about setting the clock when machine is known to be a VM with a reliable clock source like KVM pvclock - One big improvement might be a big selection up front that says "This looks like a VM image, do you want me to select the default options for a VM install".
    • In the case of virtualization we know that we just created a brand new blank disk with no existing data. Ideally either anaconda can detect that its a blank disk (all zeros), or have a command line arg that can be passed to it, so virt-install could tell it to unconditionally write a new partition table.
    • "have the virtualization management use tools (guestfish and friends) to initialize, partition and format the disks (hopefully aligned properly!)."
  • Starting Anaconda up (Live Image method)
    • "It looks like a button, but it behaves unlike a button. I have (several times, but then I'm stupid) clicked it, it highlights, I wait, I wait some more, and it hasn't done anything. Because it's not a button, it's a desktop icon, and for reasons lost to the Lords of GNOME _those_ sorts of buttons have to be double-clicked."
    • "In the Ubuntu 1010 live CD, the first screen is two buttons, which are something like: [ Try Ubuntu out now ] [ Install Ubuntu ] and they are buttons. You click them (once) and they do what they say."
    • "Live CD installer requires manual reboot from non-obvious menu -Why doesn't the installer just reboot? You're assuming here someone who has used GNOME and Linux before. Most people will have no idea what to do, I guess many will assume that the installation finished and now they are using the completed and installed system and thus lose their work."
  • Extraneous screens
    • "Blank first page of installer with 'Next' button is unnecessary and confusing"
    • "Remove unnecessary 'automatic login' step" (livecd)
    • "Installer asks for keyboard again, even though I already selected it"
    • "Get rid of firstboot step, and ask questions in parallel with disk formatting / copying / installation"
    • "Don't display license in firstboot -- it's not necessary and the license shown doesn't apply to all the software"
    • "Don't bother asking about smolt stats -- either always submit them or never submit them"
  • Storage screens
    • "ATA QEMU HARDDISK is the only choice and should be automatically selected"
    • "Confusing/frightening 'REINITIALIZING WILL CAUSE ALL DATA TO BE LOST' when in fact this is the correct step for all users"
    • "Confusing/frightening 'Write changes to disk' screen when this is the correct step for all users"
    • "While formatting disk, multiple dialog boxes are rapidly opened and closed"
  • Progress bar
    • "No accurate progress bar covering the entire install - I mean there is no progress bar that starts at 0% when the installation starts, and ends at 100% when the installation is finished, and moves at an approximately constant rate. You might debate when does an installation 'start,' but in anaconda the bar currently doesn't include things like formatting the disk which most people would consider to be a part of the installation process."
  • Every user thinking they are advanced and running into issues
    • "Making "advanced" only a choice at the beginning of a 10 step process is a non-starter and leads to the problem you describe above. If instead there were "Advanced Options..." in each step along the way that could be opened/closed at will, that would allow users to explore the advanced options without worrying that they made the "wrong choice" way back at the beginning of the 10 step process, whether or not they actually end up using the advanced options."

Unsorted User Complaints

  1. "Don't take it personally, but I think the quality of the installer is quite low. Functionality that does not work (I BZ'ed my latest frustration in https://bugzilla.redhat.com/show_bug.cgi?id=637811), error messages are lacking/incorrect (sorry, did not BZ it, will next time it happens, but it was about inability to get an image from a HTTPS site) and there's PLENTY of room for functionality improvement (just filed my usual frustration - https://bugzilla.redhat.com/show_bug.cgi?id=641910). As this is the first impression the user gets of the product, its quality and polish is of utmost importance. geolocation and stuff are nice, but not as important."
  2. jlaska 15:00, 16 October 2010 (UTC) - There are a lot of related dialog windows that pop-up during the installer. For example, notification that the currently installed operating system isn't upgradable, encrypted device passphrase entry, partitioning confirmation, many pop-ups presenting status while walking the list of partitioning operations, reading repodata. Can these pop-ups be reduced or combined in some cases? Some random thoughts ...
    1. partitioning progress - combine all partitioning steps into a single progress dialog whose progress is a percentage of all partitioning steps and the text in the dialog describes the current operation, rather than many dialogs for with a title for each operation. I'm thinking of something more like the progress view during package installation (but as a dialog)
    2. Combine related dialogs - Combine the passphrase entry dialog with the Are you sure you want to partition? dialog. It's odd having the two dialogs appear back-to-back when formatting encrypted devices, can they be combined into a single dialog?
    3. Change from dialog to step - Convert some dialogs into steps? This suggestion competes with the general rule/interest in reducing the number of steps/screens in the installer, but I often wonder whether the information conveyed in a dialog would make more sense in the main application as a screen or step. I don't have anything specific ... other than the suggestion below ...
    4. Partitions containing unsupported upgradable OS's - this dialog is confusing for me. I like the information it conveys, but I feel it's out of place/unexpected when it is presented to the user. It makes sense from a development perspective, as the dialog is presented after scanning the partitions on disk, but I don't think the user is expecting that operation next, so the dialog (for me) is a bit of a surprise. Would the information listed in this dialog make more sense on the Install or upgrade screen? Meaning, show the install or upgrade screen even if unsupported upgradable OS's are found. But list them as unsupported under the list of upgradable OS's? It seems like an extra dialog for which we already have a screen intended to convey this information. Perhaps a nice tooltip over each of the unsupported upgrade options explaining why it's unsupported?
    5. Configure network... - I love this support, and kudos for integrating it with Package-x-generic-16.pngNetworkManager. I don't think the fine grained control it allows is fully understood yet. I wonder if we can further improve the integration by embedding nm-c-e instead of popping it up as a dialog? I'm thinking about how Package-x-generic-16.pngfirstboot embeds system-config-time (at least I think it does, could be wrong). Right now, it's clear that nm-c-e is a different application entirely. I wonder if by embedding it (instead of starting it as a new window) might help force thinking about ways to smooth the integration between the two components? So on that installer screen, you get a System name (aka hostname) text box, and then an expandable section for Advanced networking which when clicked, expands to the nm-c-e content inside the screen? Again, maybe not the best fit, but the suggestion is more about ways to improve the integration between the two components so it's clear the user is configuring/enabling networking for the install environment and the installed system. Maybe just some well phrased text prior to the Configure network... button would do?

Suggestions from other installers

  • "start disk formatting / copying / installing in parallel with asking user questions"
    • a intermediate target that might be easier to reach in the interim: avoid or reduce all situations where user needs to answer questions, then has to wait for something to finish (like partitioning and formating, which can take quite a while), and then has yet again has to answer more questions, as that these "do something; wait; do something; wait" is what makes installing so annoying for a lot of people (20101016, ThorstenLeemhuis)
  • "downloads updates in parallel too"
  • "uses IP geolocation to guess the user's timezone and keyboard settings (it's been 100% correct for me each time)"
  • "suggests a username and hostname based on the user's real name (Mac OS X's installer also does this -- it's a nice touch)"
    • "Your name is entered (Chris Lumens) and from it you should get a hostname (chris-lumens-fedora-desktop.local) as well as a presentation name ("Chris Lumens' Fedora Desktop") which could be used for things like services being advertised through avahi, or even the default name for the Bluetooth adapters. See xdg-hostname on Freedesktop.org. I'd definitely like to see something like that move forward so people can have nice names for their Bluetooth adapters on the machines, and remove the need for me to show a text entry to change that name in gnome-bluetooth."
  • Ubuntu 10.10 installer screencast: http://www.youtube.com/watch?v=higI04jG6R8

Use Cases

  • Offline installation
  • l10n / non-English speakers (see Test_Day:2010-09-16_AnacondaTranslationKeyboard)
    • "Very difficult to select non-US language and keyboard"
    • "Back button selects US English keyboard, even though I have now specified UK keyboard *twice*"
  • keyboard shortcuts / no mouse
  • install of virt machines
  • Live image
    • "I believe the Ubuntu installer under discussion is the live installer. Like Fedora, there is no package selection involved there. Ubuntu gains considerable simplicity by having a separate installer app for live images and making that its default installer - I'm no expert, but I think the 'advanced' installer you can use for network installs and custom package selection and LVM and RAID and all that stuff is essentially Debian's installer, and is a completely different experience to the Ubuntu installer."
  • Dual-boot (second neighbor or first neighbor)
    • "user wants to either replace the current System completely or install the distribution into free space on his HD and but into either the old or the new installed system."
  • text-mode