Extension Manager:Projects:Improve Add-on Installation

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

Status

Improve Add-on Installation
Stage Design
Status In progress
Release target `
Health OK
Status note Finalizing plan for initial improvements in Firefox 7, beginning to scope out further research for future Firefox.

Team

Product manager Asa Dotzler
Directly Responsible Individual Jennifer Boriss
Lead engineer `
Security lead Jesse Ruderman, Curtis Koenig
Privacy lead `
Localization lead `
Accessibility lead `
QA lead Henrik Skupin
UX lead Jennifer Boriss
Product marketing lead `
Operations lead `
Additional members `

Open issues/risks

  • How can different trust levels of add-ons can be both determined and messaged to users appropriately?

Stage 1: Definition

1. Feature overview

The process of installing Firefox add-ons is currently fraught with user experience issues. The process involves differently-styled windows, unnecessary amounts of user interaction, and delays which users find confusing and annoying.

Our goal is to make the process of installing add-ons more efficient and smoother while (at the least) not effecting and (at the best) improving security.

This feature falls primarily in the Experience category (from the "Discover, Experience, and Connect" vision statement.)

While general improvements in efficiently and consistency are the goal, several specific issues fall under this category.

Priority 1:

  • Not switching windows styles during installation, and removing all modal dialogs. Currently, the verified add-on information confirmation notification is modal, while the download notification window at the beginning of the process and confirmation/restart notification at the end of the process are in the arrow panel notification style.  All notifications should be moved into the arrow-panel notification style, with subtle animated resizes where needed.

Modalvsnot123412.png

  • Reducing the timer wait time from 3 seconds to 1, and subtly fading the install button from disabled to active state rather than displaying a countdown

Timerdelay.png

  • Not giving the implication that AMO and AMO's reviewed code are untrusted, specifically by:

1) Removing "author not verified" messaging for trusted authors

Trusted messaging3242342342.png

2) Messaging reviewed add-ons differently to unreviewed add-ons and relaying the different meaningfully to users

Authornotverifiedfail234444.png

Priority 2:

  • Changing the installation flow order from download-then-ask-permission to ask-permission-then-download.  We currently download an add-on's .xpi file before the user is asked permission to install it.  While it's roughly understandable enough for users to navigate through, the order is backwards compared to the vast majority of similar installation flows. Installing a file before asking both flies in the face of user expectation, and gives the impression at first that we will be installing an add-on without asking permission at all. This may cause users to prematurely cancel an insatllation.  If we can ask the user's permission first - even with imperfect add-on data - and then download the file, we'll be following a very well expected and utilized model.

Download-then-ask-permission (current model):

Backwards addon installation case.png

Ask-permission-then-download (goal):

Not backwards addon case.png

2. Users & use cases

  • Installing human-reviewed add-ons from AMO
  • Installing automated security review sandbox add-ons from AMO
  • Installing add-ons not from AMO (default buyer beware)
  • (possibly) Installing trusted add-ons not on AMO (e.g. AdblockPlus)

3. Dependencies

`

4. Requirements

Several user experience improvements detailed in bug 646602.

Non-goals

`

Stage 2: Design

5. Functional specification

`

6. User experience design

Ask permission, then download installation (ideal order)

The diagram below shows how the add-on installation would feel if we were able to ask the user's permission, with whatever add-on information was available, before downloading the .xpi file. This is far more consistent with user's expectations of giving permission before the action that they gave permission for. Obviously the information we have at the beginning of a download may be imperfect, but we should show the best information we have available and only throw a flag if there is a problem. At least on AMO, the information we display should be correct.

Mockup

Download, then ask permission second installation (current but not ideal order)

This is the order of our current add-on download installation. While it's roughly understandable enough for users to navigate through, the order is backwards compared to the vast majority of similar installation flows. Installing a file before asking both flies in the face of user expectation, and gives the impression at first that we will be installing an add-on without asking permission at all. This may cause users to prematurely cancel an instllation.

Mockup

(also see bug 646602)

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

Likely:

  • bug 416605 - Reduce security dialog delay from 2 seconds
  • bug 643020 - Implement the new install UI in the content area
  • bug 652896 - Allow AMO to show extension install dialog before downloading XPI

Possible:

  • bug 646602 - Installing add-ons from AMO should not invoke the security prompt

Wontfix:

  • bug 561177 - Remove countdown from add-on install dialog(wontfix - we're reducing, not removing, the delay)
  • bug 588266 - Firefox add-on installation dialog should use doorhanger notification
  • bug 616100 - Remove redundant install delay (undo fix for Bug 162020) [for non-AMO sites]

Stage 5: Release

10. Landing criteria

`


Feature details

Priority P2
Rank 999
Theme / Goal `
Roadmap Add-ons
Secondary roadmap `
Feature list Desktop
Project `
Engineering team Desktop front-end

Team status notes

  status notes
Products ` `
Engineering ` `
Security ` Notes
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` `
User experience ` `
Product marketing ` `
Operations ` `