Add-on SDK in Firefox: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(mention another use case (porting old add-ons))
mNo edit summary
Line 29: Line 29:
* Repacking might be simpler, or not required at all
* Repacking might be simpler, or not required at all
* Scratchpad could be used as an offline version of the Add-on Builder.
* Scratchpad could be used as an offline version of the Add-on Builder.
* Old school add-ons can more easily leverage features from the addon-sdk, which should help them port older add-ons.
* Old school add-ons can more easily leverage features from the add-on sdk, which should help them port older add-ons.
|Feature dependencies=* Packageless Jetpack proposal may be a dependency ([https://github.com/mozilla/addon-sdk/wiki/JEP-packageless view])
|Feature dependencies=* Packageless Jetpack proposal may be a dependency ([https://github.com/mozilla/addon-sdk/wiki/JEP-packageless view])
|Feature requirements=* Add-on SDK loader and API libraries are shipped inside Firefox, removing the necessity of packaging them inside each add-on.
|Feature requirements=* Add-on SDK loader and API libraries are shipped inside Firefox, removing the necessity of packaging them inside each add-on.

Revision as of 18:16, 15 March 2012

Please use "Edit with form" above to edit this page.

Status

Add-on SDK in Firefox
Stage Draft
Status In progress
Release target Firefox 14
Health OK
Status note `

{{#set:Feature name=Add-on SDK in Firefox

|Feature stage=Draft |Feature status=In progress |Feature version=Firefox 14 |Feature health=OK |Feature status note=` }}

Team

Product manager `
Directly Responsible Individual Dietrich Ayala (:dietrich)
Lead engineer Irakli Gozalishvili (:gozala)
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead `
UX lead `
Product marketing lead `
Operations lead `
Additional members `

{{#set:Feature product manager=`

|Feature feature manager=Dietrich Ayala (:dietrich) |Feature lead engineer=Irakli Gozalishvili (:gozala) |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=` |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}

Open issues/risks

Open issues:

  • Need to ensure Jetpack tests are run per-checkin by default on all branches (where it makes sense)

Stage 1: Definition

1. Feature overview

Ship the Add-on SDK runtime and libraries inside Firefox.

Prior work, notes:

2. Users & use cases

  • Reduced add-on size. Currently add-ons created with the SDK are 200k at a minimum. This reduces download time and installation time of add-ons, streamlining the process.
  • Develop core features using the SDK. Firefox core developers can use the SDK libraries to build features.
  • Easier to convert add-ons into Firefox features, so prototyping features should be easier.
  • Repacking might be simpler, or not required at all
  • Scratchpad could be used as an offline version of the Add-on Builder.
  • Old school add-ons can more easily leverage features from the add-on sdk, which should help them port older add-ons.

3. Dependencies

  • Packageless Jetpack proposal may be a dependency (view)

4. Requirements

  • Add-on SDK loader and API libraries are shipped inside Firefox, removing the necessity of packaging them inside each add-on.
  • SDK development continues on Github.
  • SDK continues to be developed and reviewed by the SDK team.

Non-goals

  • Allow runtime resolution of modules.
  • Allow sharing of modules across add-ons.
  • Allow interdependency at the add-on level.

Stage 2: Design

5. Functional specification

`

6. User experience design

`

Stage 3: Planning

7. Implementation plan

Meta-bug: bug 731779

  1. Allow one-way syncing of a Git repository to a Mercurial repository
  2. Create a Git repo that's specifically for pulling from
  3. Land the SDK's module loader in Firefox at /browser/modules via the Git repo
  4. Progressively land SDK API libraries in Firefox via the Git branch
  5. Once migration is complete, sync the SDK's master instead of the migration rep

8. Reviews

Security review

The Add-on SDK has gone through multiple security reviews. Should schedule another one to review how/where the code lives and is initiated/loaded inside Firefox.

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=Open issues:

  • Need to ensure Jetpack tests are run per-checkin by default on all branches (where it makes sense)

|Feature overview=Ship the Add-on SDK runtime and libraries inside Firefox.

Prior work, notes:

|Feature users and use cases=* Reduced add-on size. Currently add-ons created with the SDK are 200k at a minimum. This reduces download time and installation time of add-ons, streamlining the process.

  • Develop core features using the SDK. Firefox core developers can use the SDK libraries to build features.
  • Easier to convert add-ons into Firefox features, so prototyping features should be easier.
  • Repacking might be simpler, or not required at all
  • Scratchpad could be used as an offline version of the Add-on Builder.
  • Old school add-ons can more easily leverage features from the add-on sdk, which should help them port older add-ons.

|Feature dependencies=* Packageless Jetpack proposal may be a dependency (view) |Feature requirements=* Add-on SDK loader and API libraries are shipped inside Firefox, removing the necessity of packaging them inside each add-on.

  • SDK development continues on Github.
  • SDK continues to be developed and reviewed by the SDK team.

|Feature non-goals=* Allow runtime resolution of modules.

  • Allow sharing of modules across add-ons.
  • Allow interdependency at the add-on level.

|Feature functional spec=` |Feature ux design=` |Feature implementation plan=Meta-bug: bug 731779

  1. Allow one-way syncing of a Git repository to a Mercurial repository
  2. Create a Git repo that's specifically for pulling from
  3. Land the SDK's module loader in Firefox at /browser/modules via the Git repo
  4. Progressively land SDK API libraries in Firefox via the Git branch
  5. Once migration is complete, sync the SDK's master instead of the migration rep

|Feature security review=The Add-on SDK has gone through multiple security reviews. Should schedule another one to review how/where the code lives and is initiated/loaded inside Firefox. |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature landing criteria=` }}

Feature details

Priority Unprioritized
Rank 999
Theme / Goal `
Roadmap `
Secondary roadmap `
Feature list `
Project `
Engineering team `

{{#set:Feature priority=Unprioritized

|Feature rank=999 |Feature theme=` |Feature roadmap=` |Feature secondary roadmap=` |Feature list=` |Feature project=` |Feature engineering team=` }}

Team status notes

  status notes
Products ` `
Engineering ` `
Security sec-review-needed dveditz assigned
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=Assigned |Feature security notes=dveditz assigned |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=` }}