From Fedora Project Wiki
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 6: Line 6:


* Don't do today what you can do tomorrow
* Don't do today what you can do tomorrow
* Simple steps, easy decisions
* Achieve the user's goals efficiently
* Achieve the user's goals efficiently
* Only prompt for essential information
* Only prompt for essential information
Line 19: Line 20:
== Before Reboot ==
== Before Reboot ==


* Show examples of how Fedora will improve user's life and will fit into it
** Convince user they have to have it!
** Need to fall in love with it
* Ensure the user knows what to expect
* Ensure the user knows what to expect
** Display a tour of the OS experience
* Select a device to use for the install
* Select a device to use for the install
* Verify installation will succeed
* Verify installation will succeed
Line 31: Line 36:
* (optionally) Allow device customization / modification
* (optionally) Allow device customization / modification
* (optionally) Support dual-boot
* (optionally) Support dual-boot
 
* Inform and delight the user while she is waiting


== After Reboot ==
== After Reboot ==
Line 39: Line 44:
None of these tasks are applicable to upgrade type installs.
None of these tasks are applicable to upgrade type installs.


Prompt for:
* Determine language
** Should be able to be suggested based on location
 
Automatically create the first user account (if none exist) and autologin to it and configure it on the fly.
 
=== Post Login ===
 
None of these tasks are applicable to upgrade type installs.
 
These are things that we could technically do post login.
 
* Determine timezone / location
* Determine timezone / location
** Can we automatically suggest one?
** Can we automatically suggest one?
** Not necessary to fix the time - that can be done in the desktop
** Not necessary to fix the time - that can be done in the desktop
** Do we absolutely need the timezone this early?
* Determine language
** Should be able to be suggested based on location
* Determine keyboard type / layout
* Determine keyboard type / layout
** Should be able to be suggested based on language
** Should be able to be suggested based on language
* Choose network
** Suggest based on strength / security
* User profile
* User profile
** Real name
** Real name
Line 57: Line 67:
* Computer name
* Computer name
* Ask if this person should be the administrator of this computer
* Ask if this person should be the administrator of this computer
** If so then  
** If so then add to sudoers
** Can we actually disable root if there are no administrators?
* Choose network
** Suggest based on strength / security
 
=== Questions ===
 
* Do we support connecting to external directories (eg. LDAP) from this tool?
* Note that language and keyboard need to be configured initially for the user to be able to complete the pre-install steps. In a live installer, we can get away with relying on the desktop configuration for this.


Prompt for this information until it is provided.
= Relevent Art =


Autologin the user the first time regardless of whether autologin authentication is selected or not.
* http://people.redhat.com/mclasen/anaconda/
* http://people.redhat.com/mclasen/ubiquity/
* http://www.youtube.com/watch?v=TqyxcEg6jtA

Latest revision as of 02:17, 1 November 2009

Problem Definition

Our goal is to spread Fedora. This is a challenging task. Expecting a user to overwrite their existing OS is a tall order. Some of these issues we can't address through technology alone. That said, we should make every attempt to ensure the installation process is not yet another impediment to achieving our goal. We want the process of installing Fedora to be as streamlined and as enjoyable as possible.

Principles

  • Don't do today what you can do tomorrow
  • Simple steps, easy decisions
  • Achieve the user's goals efficiently
  • Only prompt for essential information
  • Defer configuration
  • Choose good defaults
  • Allow modification post-facto
  • Protect the user's data

Requirements

We can divide the installation process into two parts: that which occurs before reboot and that which occurs after. That which occurs before the reboot operates in an environment that does not run off the physical disk. That which occurs after reboot operates in an environment running off the freshly installed system. Therefore, based on the principles listed above, the only things the installer should do before reboot are those things required for reboot.

Before Reboot

  • Show examples of how Fedora will improve user's life and will fit into it
    • Convince user they have to have it!
    • Need to fall in love with it
  • Ensure the user knows what to expect
    • Display a tour of the OS experience
  • Select a device to use for the install
  • Verify installation will succeed
  • Prompt for Install type:
    • Install
    • Upgrade
    • Repair?
      • Reset passwords?
      • Other?
  • Preserve user data if applicable
  • (optionally) Allow device customization / modification
  • (optionally) Support dual-boot
  • Inform and delight the user while she is waiting

After Reboot

Before Inital Login

None of these tasks are applicable to upgrade type installs.

  • Determine language
    • Should be able to be suggested based on location

Automatically create the first user account (if none exist) and autologin to it and configure it on the fly.

Post Login

None of these tasks are applicable to upgrade type installs.

These are things that we could technically do post login.

  • Determine timezone / location
    • Can we automatically suggest one?
    • Not necessary to fix the time - that can be done in the desktop
  • Determine keyboard type / layout
    • Should be able to be suggested based on language
  • User profile
    • Real name
    • Username
    • Avatar
    • Password or autologin
  • Computer name
  • Ask if this person should be the administrator of this computer
    • If so then add to sudoers
    • Can we actually disable root if there are no administrators?
  • Choose network
    • Suggest based on strength / security

Questions

  • Do we support connecting to external directories (eg. LDAP) from this tool?
  • Note that language and keyboard need to be configured initially for the user to be able to complete the pre-install steps. In a live installer, we can get away with relying on the desktop configuration for this.

Relevent Art