Jetpack/Roadmap-2011
High-Level Product Roadmap
Jetpack development comprises numerous releases of multiple products that achieve four major milestones. The following chart summarizes the milestones, while the text below it describes them in more detail.
| Milestone One | Milestone Two | Milestone Three | Milestone Four | |
|---|---|---|---|---|
| Jetpack Prototype, Firefox 3.5 | Jetpack SDK 0.1, Firefox 3.6 | Jetpack SDK (1.0?), Firefox (3.6.x? 3.7?) | Firefox (4.0?) | |
| DONE, 2009 Q4 | IN PROGRESS, ETA 2010 Q1 | ETA 2010 Q3/4 | ETA 2010 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 that prototyped Jetpack's vision with a Firefox extension for installing, using, and managing Jetpack-based extensions; a set of high-level APIs for common extension use cases; a simple Bespin-based development environment for coding and testing extensions without having to restart Firefox; and easy distribution of Jetpack-based extensions via a basic software distribution website (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 Firefox extension.
Milestone Two
The second milestone begins the incubation of the Jetpack for eventual integration into Firefox as a production-quality feature of the browser.
It is building a Jetpack SDK with a robust architecture designed to achieve Jetpack's quality, security, and user/developer experience goals; a command-line-based development environment for power developers on which a web-based IDE for casual developers can be built; and distribution of extensions to Firefox users via traditional extension packages (XPIs) and AMO.
This milestone is aligned with Firefox 3.6, will be achieved with the initial release of the SDK (0.1), and is scheduled for 2010 Q1.
Milestone Three
The third milestone continues Jetpack's incubation with a version of the Jetpack SDK that incorporates a reduced-privilege security model to limit the potential surface area of attacks; an l20n-based localization infrastructure that makes it easy to localize extensions and doesn't require developer effort to package/distribute them; a robust library of APIs for common extension use cases; a simple web-based IDE (FlightDeck) 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 culmination of the project's incubation, resulting in a production-quality, stable and robust Jetpack API library that is integrated with Firefox; a Jetpack-native packaging format supported by both Firefox and AMO; and ECMAScript 5-based API security hardening to further protect against potential extension-based attacks.
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?)