Extension Manager:Projects:Improve Add-on Installation

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.

{{#set:Feature name=Improve Add-on Installation

|Feature stage=Design |Feature status=In progress |Feature version=` |Feature health=OK |Feature 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 `

{{#set:Feature product manager=Asa Dotzler

|Feature feature manager=Jennifer Boriss |Feature lead engineer=` |Feature security lead=Jesse Ruderman, Curtis Koenig |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=Henrik Skupin |Feature ux lead=Jennifer Boriss |Feature product marketing lead=` |Feature operations lead=` |Feature 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.

 

  • 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

 

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

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

 

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

 

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):

 

Ask-permission-then-download (goal):

 

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.

 

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.

 

(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

` {{#set:Feature open issues and risks=* How can different trust levels of add-ons can be both determined and messaged to users appropriately? |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.

 

  • 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

 

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

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

 

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

 

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):

 

Ask-permission-then-download (goal):

  |Feature users and 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)

|Feature dependencies=` |Feature requirements=Several user experience improvements detailed in bug 646602. |Feature non-goals=` |Feature functional spec=` |Feature ux 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.

 

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.

 

(also see bug 646602) |Feature implementation plan=` |Feature security review=* Security Discussions/Reviews |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=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]

|Feature landing criteria=` }}

Feature details

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

{{#set:Feature priority=P2

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

Team status notes

  status notes
Products ` `
Engineering ` `
Security ` Notes
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=` |Feature security health=OK |Feature security notes=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=` }}