From Fedora Project Wiki
No edit summary
Line 39: Line 39:
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 62:
* 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


Prompt for this information until it is provided.
=== Questions ===


Autologin the user the first time regardless of whether autologin authentication is selected or not.
* Do we support connecting to external directories (eg. LDAP) from this tool?

Revision as of 02:05, 31 October 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
  • 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

  • Ensure the user knows what to expect
  • 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


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?