Jetpack/Roadmap-2011
High-Level Product Roadmap
Jetpack development comprises numerous releases of multiple products that achieve four major milestones.
| Jetpack Prototype, Firefox 3.5, 2009 | Jetpack SDK 0.1, Firefox 3.6, 2010 Q1 | Jetpack SDK x.x (1.0?), Firefox x.x (3.6.x? 3.7?), 2010 Q3/4? | Firefox x.x (4.0?), 2011 Q1/2? | |
|---|---|---|---|---|
| Firefox | Extension Manager no-restart API, transparent content iframes | support for Jetpack-native packages, Jetpack library in core? | ||
| Platform | chrome object wrappers | ECMAScript 5? | ||
| AMO | stats on Jetpack-built extensions | support for Jetpack-native packages | ||
| Security | reduced-privilege security model | ES5-based API hardening? | ||
| L10N | Jetpack-native APIs/tools, web service? | |||
| API | prototypes of various APIs | model for API design | robust library satisfying common use cases | stable (frozen?) library |
| Dev Tools | Bespin-based editor in extension | command line | FlightDeck web-based IDE | |
| Distribution | individual JS files | XPIs w/embedded Jetpack runtime | Jetpack-native packages (JPIs?) | |
| Documentation | bundled w/SDK | MDC |
Milestone One
The first milestone was a Mozilla Labs experiment with a set of high-level APIs for common extension use cases, a simple Bespin-based development environment, and easy distribution of Jetpack-based extensions via the Jetpack Gallery and developers' own websites. The milestone was aligned with Firefox 3.5 and achieved in 2009 Q4 with the seventh release of the Jetpack prototype extension.
Milestone Two
The second milestone is a Jetpack SDK with an architecture designed to achieve Jetpack's security and quality goals, a command-line-based development environment on which a web-based IDE can be built, and distribution on addons.mozilla.org via traditional extension packages (XPIs). This milestone is aligned with Firefox 3.6, will be achieved with the initial release of the SDK, and is scheduled for 2010 Q1.
Milestone Three
The third milestone is a Jetpack SDK with a reduced-privilege security model, an l20n-based localization infrastructure, a robust library of APIs for common extension use cases, a simple web-based IDE for extension development, and support for installing/uninstalling Jetpack-based extensions without restarting Firefox. This milestone is aligned with a future Firefox release (3.6.x? 3.7?), will be achieved with releases of the SDK (1.0?), the IDE, and Firefox, and is scheduled for 2010 Q3/4.
Milestone Four
The fourth milestone is the integration of a stable API library into Firefox along with a Jetpack-native packaging format and ECMAScript 5-based security hardening. This milestone is aligned with a future Firefox release (4.0?), will be achieved with that Firefox release, and is scheduled for 2011 Q1/2.
SDK Release Roadmap
SDK Release 0.1 - March 1, 2010
This release will introduce the new Jetpack platform, specifically its architecture, to extension developers. It will contain a core set of low-level methods that enable developers to produce extensions using the Jetpack platform as a base.
SDK Release 0.2 - March 29, 2010
Starter Pack
- No-Restarts for Install/Update/Uninstall
- Single UI Mechanism (TBD, will work with FF UI on this)
- Panel
- Simple Storage
- Life-cycle (includes first-run)
- Registered Jetpack URLs
Web Pack 1
SDK Release 0.3 - April 26, 2010
Data Pack 1
- Settings
- File
- Clipboard
- Passwords
- Places
SDK Release 0.4 - May 31, 2010
UI Pack 1
- Toolbar
- Drawers
- Awesome Bar
- Pull-down Menus
- Element Styles
Future SDK Releases - By the close of 2010?
UI Pack 2
- Gadget (Prism++ via Jetpack)
Legacy Prototype Release Roadmap
The information in this section is from an earlier draft of this roadmap and is pending review/archival.
Jetpack 1.0 Goals
- A seamless install process: It defeats the purpose of Jetpack to first require users to install Jetpack, then install a particular Jetpack, before using its features. Instead, we need a solution which allows a seamless install process.
- Seamless debugging: No pointless error messages, and all relevant warnings, line numbers, and tracebacks, are displayed.
- Enabling API: An API deep enough to support a large range of add-ons. It is a non-goal in 1.0 to support everything, instead it is to support 80% of the long-tail of add-ons. The exact feature set of the API will be determined by a set of target add-ons (TBD) and feedback from Jetpack authors.
- Frozen API: Although the API may be versioned, we the API will be backwards compatible from 1.0 on.
- Beautiful by default: A set of OS-specific icons, as well as a beautiful look for Jetpacks.
- Security-sensitive Import mechanism: The strength of any API is measured in how easily 3rd parties can extend it. The 1.0 release will have a strong import mechanism, replete with security provisions.
- Security: A functioning security system that mixes code with social protections.
- An AMO-like service with social code-review
- Localization story
- Works on Fennec
Release Roadmap
Prototype
- 0.1 through 0.4 - 2009-05 to 2009-08
- 0.5 2009-08-19
- 0.6 2009-11-16
- 0.7 2009-12-23
- 0.8 2010-1-30
Production
- 0.1 2010-3-1
- 0.2 2010-3-31
Release Details
0.6 Prototype
Target Release
- Future Graduates
- .storage.synced
- .cookies
- .passwords
- .panels
- Future
- .music (w/device integration)
0.5 Prototype
Target Release: Aug 19
- Future Graduates
- .toolbar
- .panel
- .menu
- Future
- .storage.synced
- .cookies
- .passwords
- .photos (w/device integration)
- +3 3rd party libraries
- Misc
- An default icon set
0.4 Prototype
Target Release: July 16
Features:
- Future Graduates
- .clipboard
- .contentScript
- Future
- .menu
- .toolbar (both new toolbars, as well as adding to the navigation toolbar)
- .panel (rich overlays)
- .people
- +2 third party "secure" libraries
- Misc
- Bootstrapping
- First run experience
- Settings page per Jetpack
- Gallery
- 0.5 release
0.3 Prototype
Target Release: 30th June
Features:
- Future
- .clipboard (40% used)
- .contentScript
- .selection
- Future Graduates
- Slidebar graduates from the future (JEP, drag'n'drop, etc.)
- Simple Storage (almost every extension needs this)
- Modules
- Fully privileged modules
- First implementation of a "secure" module
- Misc:
- Beautiful by default (statusbar stuff CSS problems fixed)
- Simple editorial feature on Jetpack web page
- Documentation solution
- Call for action (small contest?)