Firefox/Features/Expose Add-on Performance

From MozillaWiki
< Firefox‎ | Features
Revision as of 03:42, 26 January 2012 by Asa (talk | contribs)
Jump to navigation Jump to search
Please use "Edit with form" above to edit this page.

Status

Expose add-on performance information in Firefox
Stage On hold
Status In progress
Release target `
Health OK
Status note Awaiting input from AMO.

{{#set:Feature name=Expose add-on performance information in Firefox

|Feature stage=On hold |Feature status=In progress |Feature version=` |Feature health=OK |Feature status note=Awaiting input from AMO. }}

Team

Product manager Justin Scott & Asa Dotzler
Directly Responsible Individual Justin Scott
Lead engineer Hernan Rodriguez Colmeiro, Dave Dash, Justin Dolske
Security lead `
Privacy lead Sid Stamm
Localization lead `
Accessibility lead `
QA lead Henrik Skupin
UX lead Jennifer Boriss
Product marketing lead `
Operations lead `
Additional members `

{{#set:Feature product manager=Justin Scott & Asa Dotzler

|Feature feature manager=Justin Scott |Feature lead engineer=Hernan Rodriguez Colmeiro, Dave Dash, Justin Dolske |Feature security lead=` |Feature privacy lead=Sid Stamm |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

`

Stage 1: Definition

1. Feature overview

Users should be informed when an add-on they are about to install or have installed causes Firefox performance and or memory problems. This information should be presented at AMO and in the Firefox Add-ons Manager.

2. Users & use cases

We should develop a new Add-ons policy, and acompanying AMO and Firefox technology, which says that we will inform our add-on users and prospective add-on users about specific add-ons that can be proved to have a significant and excessive impact on memory usage and/or performance. I propose we test for start-up performance impact, page load performance impact, start-up memory use impact, and memory leaks.

The policy should specify that we will notify the authors of add-ons as soon as we discover a problem and it should have a grace period for correcting any excessive memory or performance impact. I propose, as a straw-man, half a release cycle or 3 weeks from notification.

If after the grace period the add-on is not brought within compliance, we should add it to a list of ill-behaving add-ons. That list would be consumed by both AMO and the Firefox client. Both apps would use the list to display warnings to users about the impact of the add-on.

If after an additional 3 weeks of the add-on being flagged publicly, (again, a straw man) it is not corrected, we should escalate the content of and the and visibility of the warning message.

At AMO, I believe these poorly-performing add-ons should be flagged at the add-on install page. The warning should be firm but friendly -- something like "Mozilla testing has determined that this add-on may cause Firefox performance problems". If, after some period if time from the public warning the add-on is not corrected, the message should be escalated to display in search results and with a text that would more seriously deter users, something like "This add-on is known to cause serious Firefox issues. Use at your own Risk".

In the Firefox client, the flagged add-ons should display warning text in the Add-ons Manager (where informed users, or users following the instructions of a support article or other help, would see it,) and for the escalation period, to an infobar.

This would give add-on authors 3 weeks to fix problems before potential users and some of the installed base are notified, and another 3 weeks before most potential and all existing users would see the more dire warning.

3. Dependencies

Add-on testing capabilities, manual or automated.

An AMO API for "warned add-ons" and for "doubly warned add-ons"

AMO and Firefox code to access this API, get the lists, and display UI based on the lists.

4. Requirements

`

Non-goals

`

Stage 2: Design

5. Functional specification

`

6. User experience design

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

  1. File AMO bug to expose performance information in the API
  2. File Add-ons Manager bug to make use of the new fields and display warnings when appropriate.
  3. Obtain designs for the Add-ons Manager
  4. Implement the designs in the Add-ons Manager.

Stage 5: Release

10. Landing criteria

` {{#set:Feature open issues and risks=` |Feature overview=Users should be informed when an add-on they are about to install or have installed causes Firefox performance and or memory problems. This information should be presented at AMO and in the Firefox Add-ons Manager. |Feature users and use cases=We should develop a new Add-ons policy, and acompanying AMO and Firefox technology, which says that we will inform our add-on users and prospective add-on users about specific add-ons that can be proved to have a significant and excessive impact on memory usage and/or performance. I propose we test for start-up performance impact, page load performance impact, start-up memory use impact, and memory leaks.

The policy should specify that we will notify the authors of add-ons as soon as we discover a problem and it should have a grace period for correcting any excessive memory or performance impact. I propose, as a straw-man, half a release cycle or 3 weeks from notification.

If after the grace period the add-on is not brought within compliance, we should add it to a list of ill-behaving add-ons. That list would be consumed by both AMO and the Firefox client. Both apps would use the list to display warnings to users about the impact of the add-on.

If after an additional 3 weeks of the add-on being flagged publicly, (again, a straw man) it is not corrected, we should escalate the content of and the and visibility of the warning message.

At AMO, I believe these poorly-performing add-ons should be flagged at the add-on install page. The warning should be firm but friendly -- something like "Mozilla testing has determined that this add-on may cause Firefox performance problems". If, after some period if time from the public warning the add-on is not corrected, the message should be escalated to display in search results and with a text that would more seriously deter users, something like "This add-on is known to cause serious Firefox issues. Use at your own Risk".

In the Firefox client, the flagged add-ons should display warning text in the Add-ons Manager (where informed users, or users following the instructions of a support article or other help, would see it,) and for the escalation period, to an infobar.

This would give add-on authors 3 weeks to fix problems before potential users and some of the installed base are notified, and another 3 weeks before most potential and all existing users would see the more dire warning. |Feature dependencies=Add-on testing capabilities, manual or automated.

An AMO API for "warned add-ons" and for "doubly warned add-ons"

AMO and Firefox code to access this API, get the lists, and display UI based on the lists. |Feature requirements=` |Feature non-goals=` |Feature functional spec=` |Feature ux design=* Early design mockup: shows percentage of runtime used for each addon.

  • [2]: newer mockup of the first stage

|Feature implementation plan=` |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=# File AMO bug to expose performance information in the API

  1. File Add-ons Manager bug to make use of the new fields and display warnings when appropriate.
  2. Obtain designs for the Add-ons Manager
  3. Implement the designs in the Add-ons Manager.

|Feature landing criteria=` }}

Feature details

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

{{#set:Feature priority=P3

|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 ` For more information, please see [3] [4] [5]
Engineering ` `
Security sec-review-complete complete: 10.05 Notes
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance waiting `
User experience ` `
Product marketing ` `
Operations ` `

{{#set:Feature products status=`

|Feature products notes=For more information, please see [6] [7] [8] |Feature engineering status=` |Feature engineering notes=` |Feature security status=sec-review-complete |Feature security health=OK |Feature security notes=complete: 10.05 Notes |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=waiting |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}