Support/Firefox Features/Clean up user profile

From MozillaWiki
Jump to navigation Jump to search
Please use "Edit with form" above to edit this page.

Status

Ability to clean up user profile
Stage Design
Status `
Release target Firefox 9
Health OK
Status note Needs a design review so it can move to planning.

{{#set:Feature name=Ability to clean up user profile

|Feature stage=Design |Feature status=` |Feature version=Firefox 9 |Feature health=OK |Feature status note=Needs a design review so it can move to planning. }}

Team

Product manager Asa Dotzler
Directly Responsible Individual Michael Verdi
Lead engineer Dave Townsend
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead George Carstoiu
UX lead Alex Limi
Product marketing lead `
Operations lead `
Additional members `

{{#set:Feature product manager=Asa Dotzler

|Feature feature manager=Michael Verdi |Feature lead engineer=Dave Townsend |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=George Carstoiu |Feature ux lead=Alex Limi |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}

Open issues/risks

  • Since OS X and Linux don't have installers, we don't have a way to trigger this process for them upon re-installation. The other use-cases are still valid though.

Stage 1: Definition

1. Feature overview

The Reset Firefox feature will provide a way for users to automatically fix Firefox by creating a new profile and migrating their data (bookmarks, history, passwords, etc).

There are a number of serious Firefox issues (not starting, crashing, unexpected behavior, lost toolbars and more) that can be solved by creating a new profile. The problem is, creating a new profile (which is an incredibly difficult task) is not enough. A user will almost always want to also migrate their data to the new profile which is another difficult task. See these two articles (1, 2) for complete steps.

Many users try to reinstall Firefox to solve these issues but reinstallation doesn't do anything to the profile folder. Providing this option upon reinstallation and, in addition, offering this after consecutive start-up crashes and on the Troubleshooting Information page will make this feature both intuitive and discoverable.

  • There is a plan to remove the Profile Manager UI (Bug 214675) and add an external Profile Manager application (Bug 539524). This solution is fine from a testing point of view but for the user who is just trying to fix Firefox this will complicate an already difficult process. Our feature would make the removal of the profile manager ui irrelevant from the user's point of view.

2. Users & use cases

The goal is to take a difficult and confusing repair process that most people never discover (and often need one-on-one help to complete when they do find it) and turn it into an easy and discoverable operation that can be done by most users without guidance.

Example 1:
A user determines that "something" is wrong with Firefox, so they attempt to fix it by reinstalling. When the installer detectes that the same version of Firefox already exists on the computer it will offer the option to repair Firefox by resetting it to its default state. That intent can be passed on to Firefox and the reset process will be started the next time Firefox starts.

Example 2:
After a third consecutive start-up crash, Firefox will offer to either start in safe mode so diagnosis can be done or to reset Firefox to it's default state.

Example 3:
A SUMO article or helper can direct a user to a simple method for repairing Firefox by accessing the Troubleshooting Information page and clicking the Reset Firefox button.

3. Dependencies

This will probably require the expertise of installer, migration, and Firefox front-end hackers, reviewers, and testers.

4. Requirements

  • Easy to use
  • Easy to discover (Ideally the user shouldn't have to go to SUMO to figure this out)

Non-goals

  • A Clean Install is another repair process that is not covered by this feature.

Stage 2: Design

5. Functional specification

There are three ways the Reset Firefox feature can be accessed:

  1. During installation we can detect or be told by the user that this is a repair attempt. That information will then be passed on to Firefox which will start the Reset Firefox process. Note that the reset process is not performed by the installer.
  2. A third consecutive startup crash will trigger Firefox to offer to start in safe mode or to reset Firefox. (do we have the safe mode part of this already or is that "new work" too?)
  3. A user can start this process by clicking a "Reset Firefox" button on the Troubleshooting Information page.

When the Reset Firefox command is invoked, Firefox will:

  1. Confirm with the user what actions are about to be taken
  2. Create a new user profile
  3. Migrate user data
    • Bookmarks
    • History
    • Saved passwords
    • Autofill form data
    • Extensions and themes
  4. Reset toolbars and controls
  5. Reset all user preferences to Firefox defaults
  6. Disable all add-ons and switch to the default theme
  7. Then Firefox will restart using the new profile.
  8. (asa said: "do we want to load the add-ons manager on this restart so users can see they still have add-ons but those have been set to disabled? do we want to migrate their add-on prefs as well?)

6. User experience design

Preliminary Mockups:

Stage 3: Planning

7. Implementation plan

`

8. Reviews

Security review

`

Privacy review

`

Localization review

`

Accessibility

`

Quality Assurance review

`

Operations review

`

Stage 4: Development

9. Implementation

`

Stage 5: Release

10. Landing criteria

` {{#set:Feature open issues and risks=*Since OS X and Linux don't have installers, we don't have a way to trigger this process for them upon re-installation. The other use-cases are still valid though. |Feature overview=The Reset Firefox feature will provide a way for users to automatically fix Firefox by creating a new profile and migrating their data (bookmarks, history, passwords, etc).

There are a number of serious Firefox issues (not starting, crashing, unexpected behavior, lost toolbars and more) that can be solved by creating a new profile. The problem is, creating a new profile (which is an incredibly difficult task) is not enough. A user will almost always want to also migrate their data to the new profile which is another difficult task. See these two articles (1, 2) for complete steps.

Many users try to reinstall Firefox to solve these issues but reinstallation doesn't do anything to the profile folder. Providing this option upon reinstallation and, in addition, offering this after consecutive start-up crashes and on the Troubleshooting Information page will make this feature both intuitive and discoverable.

  • There is a plan to remove the Profile Manager UI (Bug 214675) and add an external Profile Manager application (Bug 539524). This solution is fine from a testing point of view but for the user who is just trying to fix Firefox this will complicate an already difficult process. Our feature would make the removal of the profile manager ui irrelevant from the user's point of view.

|Feature users and use cases=The goal is to take a difficult and confusing repair process that most people never discover (and often need one-on-one help to complete when they do find it) and turn it into an easy and discoverable operation that can be done by most users without guidance.

Example 1:
A user determines that "something" is wrong with Firefox, so they attempt to fix it by reinstalling. When the installer detectes that the same version of Firefox already exists on the computer it will offer the option to repair Firefox by resetting it to its default state. That intent can be passed on to Firefox and the reset process will be started the next time Firefox starts.

Example 2:
After a third consecutive start-up crash, Firefox will offer to either start in safe mode so diagnosis can be done or to reset Firefox to it's default state.

Example 3:
A SUMO article or helper can direct a user to a simple method for repairing Firefox by accessing the Troubleshooting Information page and clicking the Reset Firefox button. |Feature dependencies=This will probably require the expertise of installer, migration, and Firefox front-end hackers, reviewers, and testers. |Feature requirements=*Easy to use

  • Easy to discover (Ideally the user shouldn't have to go to SUMO to figure this out)

|Feature non-goals=*A Clean Install is another repair process that is not covered by this feature. |Feature functional spec=There are three ways the Reset Firefox feature can be accessed:

  1. During installation we can detect or be told by the user that this is a repair attempt. That information will then be passed on to Firefox which will start the Reset Firefox process. Note that the reset process is not performed by the installer.
  2. A third consecutive startup crash will trigger Firefox to offer to start in safe mode or to reset Firefox. (do we have the safe mode part of this already or is that "new work" too?)
  3. A user can start this process by clicking a "Reset Firefox" button on the Troubleshooting Information page.

When the Reset Firefox command is invoked, Firefox will:

  1. Confirm with the user what actions are about to be taken
  2. Create a new user profile
  3. Migrate user data
    • Bookmarks
    • History
    • Saved passwords
    • Autofill form data
    • Extensions and themes
  4. Reset toolbars and controls
  5. Reset all user preferences to Firefox defaults
  6. Disable all add-ons and switch to the default theme
  7. Then Firefox will restart using the new profile.
  8. (asa said: "do we want to load the add-ons manager on this restart so users can see they still have add-ons but those have been set to disabled? do we want to migrate their add-on prefs as well?)

|Feature ux design=Preliminary Mockups:

|Feature implementation plan=` |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature landing criteria=` }}

Feature details

Priority P1
Rank 999
Theme / Goal `
Roadmap User Support
Secondary roadmap `
Feature list Desktop
Project `
Engineering team Desktop front-end

{{#set:Feature priority=P1

|Feature rank=999 |Feature theme=` |Feature roadmap=User Support |Feature secondary roadmap=` |Feature list=Desktop |Feature project=` |Feature engineering team=Desktop front-end }}

Team status notes

  status notes
Products ` `
Engineering ` `
Security sec-review-needed `
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` `
User experience ` `
Product marketing ` `
Operations ` `

{{#set:Feature products status=`

|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=sec-review-needed |Feature security health=` |Feature security notes=` |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}