WebExtensions/Roadmap: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 1: Line 1:
This is an initial roadmap of WebExtensions.
Status: '''draft, in progress'''.
Status: '''draft, in progress'''.


WebExtensions exist at the time of writing of this page. They exist in Nightly, but as APIs get written they get added to Nightly and pushed through the trains.
= Firefox 48 =
 
= WebExtensions 1.0 =


Focuses of the first release:
Firefox 48 is the first release of Firefox where we are recommending people start to use WebExtensions. I won't be suitable for every project and add-on but it will be a stable platform.
* quality, stability and a base for many add-ons to move to
* parity with Google Chrome and others on some (but not all APIs)
* ability to build key add-ons that are not part of


Application support:
Application support:
Line 18: Line 11:
== APIs ==
== APIs ==


Focus on key APIs that bring the biggest return for investment. Currently these are: alarms, browserAction, extension, i18n, notifications, runtime, storage, tabs, webNavigation and windows APIs. For the full list, look at the tracking bug {{Bugzilla|1214433}}
Focus on key APIs that bring the biggest return for investment. For the full list, look at the tracking bug {{Bugzilla|1214433}}, but they will be:
* alarms (full)
* bookmarks (partial)
* browserAction (partial)
* commands (full)
* contextMenus (full)
* cookies (full)
* downloads (full)
* extension (partial)
* i18n (full)
* idle (partial)
* notifications (partial)
* pageAction (full)
* runtime (partial)
* storage.local (full)
* tabs (full)
* webNavigation (full)
* webRequest (full)
* windows (full)
 
Notable exceptions:
* storage.sync requires some back end services from Mozilla which is currently in the process of being set up [andym: insert link to chrome.storage.sync page when its ready]
 
In terms of code quality we are striving for:
* 100% test coverage (with exceptions where it doesn't make sense)
* eslint compliant code


== Development tools ==
== Development tools ==


Authors of WebExtensions add-ons should be able to develop easily their add-on locally, with support from tools like `jpm`. All APIs should be documented.
An add-on author will be able to use a new tool, `web-ext` to do the following:
* sign: sign the add-on through AMO
* run: start up a new profile and run the add-on
* test: start up a new profile and test the add-on in Firefox
* validate: run the add-on through the JavaScript add-on linter
 
A new tool is being written because of problems with the existing jpm tools.


== AMO ==
== AMO ==


WebExtensions will be able to be uploaded to addons.mozilla.org then reviewed, searched, installed and updated just like any other Addon {{Bugzilla|1210037}}
WebExtensions will be able to be uploaded to addons.mozilla.org then reviewed, searched, installed and updated just like any other Addon {{Bugzilla|1210037}}.
 
== Documentation ==


== Timeline ==
For all the APIs that Firefox supports, we'll have good documentation on MDN that outlines:
* how to use the API
* Firefox versions it is supported in
* any incompatibilities between Firefox and chrome
* any incompatibilities between Firefox Desktop and Firefox Android


By the end of Q2 2016.
Further we'll try to have examples available on github, documented on MDN for all the major examples.


== Deprecations ==
== Deprecations ==
Line 36: Line 66:
We don't anticipate that this release will cause any deprecations of other ways of building add-ons, although certainly we'd hope most resource will go into this release.
We don't anticipate that this release will cause any deprecations of other ways of building add-ons, although certainly we'd hope most resource will go into this release.


= WebExtensions Themes - scratch pad =
= Post Firefox 48 =
This is our area to free form work through upcoming ideas, a scratch pad for priority & planning
 
*native.js [https://bugzilla.mozilla.org/show_bug.cgi?id=1199718 Bug 1199718] - making it easy/faster for folks to prototype webextensions to build API’s
There are many areas we can work on past Firefox 48. This is one area to free form work through upcoming ideas, a scratch pad for priority & planning:
**with this we can dev in 2 weeks and have big benefit from this for a long time.  
 
***goal: tested, prototyped, pushed into mozcentral when ready “ideatown for webextension api’s” (Philip, Andy, John G - since similar to ideatown)
* native.js [https://bugzilla.mozilla.org/show_bug.cgi?id=1199718 Bug 1199718], this will make it easy/faster for folks to prototype and build new WebExtensions API's
**timing: UX work after e10s interface [https://bugzilla.mozilla.org/show_bug.cgi?id=1181835 bug 1181835]
** With this we can dev in 2 weeks and have big benefit from this for a long time.  
**what is in development? about:config list add-ons using native js
*** Goal: tested, prototyped, pushed into mozcentral when ready “ideatown for webextension api’s” (Philip, Andy, John G - since similar to ideatown)
*chrome parity
** Timing: UX work after e10s interface [https://bugzilla.mozilla.org/show_bug.cgi?id=1181835 bug 1181835]
*chrome add-ons porting
** What is in development? about:config list add-ons using native js
**top 20 chrome add-ons run in Fx
* Chrome parity
*firefox add-ons porting
* Chrome add-ons porting
**top 20 firefox add-ons running in WebExtensions - criteria based on downloads, actual usage, ratings: typically adblockers, download managers, tab add-ons, etc.
** Top 20 chrome add-ons run in Fx
*eg: the SDK proposal from Luca
* Firefox add-ons porting
*unique to Firefox features - get ideas in this cycle for next….
** Top 20 firefox add-ons running in WebExtensions - criteria based on downloads, actual usage, ratings: typically adblockers, download managers, tab add-ons, etc.
**driven by add-ons need  
* Migration
**ex: [https://bugzilla.mozilla.org/show_bug.cgi?id=1244789 Bug 1244789] - Support richer user interactions in the chrome.browserAction API (Giorgio dev side / aswan andy would like to help engage here, madhava, markus)
** For example, the ability allow SDK add-ons to use WebExtensions APIs (Luca)
**ex: [https://bugzilla.mozilla.org/show_bug.cgi?id=1219940 Bug 1219940 ] Something equivalent to OS.File - native.js would help until it's done as a "regular" WebExtension API  
* Unique to Firefox features
*[https://wiki.mozilla.org/WebExtensions/GoFaster go faster] - early feasibility planning starting
** get ideas in this cycle for next….
**feasibility (can we do it, difficulty, when good time)
** driven by add-ons need  
**open issues as it's ramping up (laura's team)
** ex: [https://bugzilla.mozilla.org/show_bug.cgi?id=1244789 Bug 1244789] - Support richer user interactions in the chrome.browserAction API (Giorgio dev side / aswan andy would like to help engage here, madhava, markus)
*runtime.connectnative
** ex: [https://bugzilla.mozilla.org/show_bug.cgi?id=1219940 Bug 1219940 ] Something equivalent to OS.File - native.js would help until it's done as a "regular" WebExtension API  
*Styling & sort order - UX is lower priority for now
* [https://wiki.mozilla.org/WebExtensions/GoFaster Go faster] - early feasibility planning starting
** Feasibility (can we do it, difficulty, when good time)
**open issues as it's ramping up (Laura's team)
* Runtime.connectnative
* Styling & sort order
** UX is lower priority for now
Confirmed users
1,158

edits

Navigation menu