Jetpack/Roadmap-2011: Difference between revisions
< Jetpack
Jump to navigation
Jump to search
No edit summary |
|||
| Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
| Line 19: | Line 18: | ||
<th style="text-align: left; background-color: #9f9f9f;">Jetpack Prototype</th> | <th style="text-align: left; background-color: #9f9f9f;">Jetpack Prototype</th> | ||
<th style="text-align: left; background-color: #cfcfcf;">Jetpack SDK 0.1</th> | <th style="text-align: left; background-color: #cfcfcf;">Jetpack SDK 0.1</th> | ||
<th style="text-align: left;">Jetpack SDK 0.2 - | <th style="text-align: left;">Jetpack SDK 0.2 - 1.0b</th> | ||
<th style="text-align: left;">Jetpack SDK 1.0</th> | <th style="text-align: left;">Jetpack SDK 1.0</th> | ||
</tr> | </tr> | ||
| Line 27: | Line 26: | ||
<th style="text-align: left; background-color: #9f9f9f;">DONE, 2009 Q4</th> | <th style="text-align: left; background-color: #9f9f9f;">DONE, 2009 Q4</th> | ||
<th style="text-align: left; background-color: #cfcfcf;">DONE, 2010 Q1</th> | <th style="text-align: left; background-color: #cfcfcf;">DONE, 2010 Q1</th> | ||
<th style="text-align: left;">2010 Q2 - Q4</th> | <th style="text-align: left;">2010 Q2 - Q3</th> | ||
<th style="text-align: left;">2011 Q1 | <th style="text-align: left;">2010 Q4</th> | ||
<th style="text-align: left;">2011 Q1</th> | |||
</tr> | </tr> | ||
| Line 35: | Line 35: | ||
<td style="background-color: #9f9f9f;"></td> | <td style="background-color: #9f9f9f;"></td> | ||
<td style="background-color: #cfcfcf;"></td> | <td style="background-color: #cfcfcf;"></td> | ||
<td>Extension Manager no-restart API, transparent content iframes</td> | <td>Extension Manager no-restart API, transparent content iframes, addon bar</td> | ||
<td></td> | |||
<td>Support for Jetpack-native packages, Jetpack library in core?</td> | <td>Support for Jetpack-native packages, Jetpack library in core?</td> | ||
</tr> | </tr> | ||
| Line 43: | Line 44: | ||
<td style="background-color: #9f9f9f;"></td> | <td style="background-color: #9f9f9f;"></td> | ||
<td style="background-color: #cfcfcf;"></td> | <td style="background-color: #cfcfcf;"></td> | ||
<td>Chrome object wrappers</td> | <td>Chrome object wrappers, OOP Jetpack</td> | ||
<td></td> | |||
<td>ECMAScript 5?</td> | <td>ECMAScript 5?</td> | ||
</tr> | </tr> | ||
| Line 52: | Line 54: | ||
<td style="background-color: #cfcfcf;"></td> | <td style="background-color: #cfcfcf;"></td> | ||
<td>Stats on Jetpack-built extensions</td> | <td>Stats on Jetpack-built extensions</td> | ||
<td></td> | |||
<td>Support for Jetpack-native packages</td> | <td>Support for Jetpack-native packages</td> | ||
</tr> | </tr> | ||
| Line 60: | Line 63: | ||
<td style="background-color: #cfcfcf;"></td> | <td style="background-color: #cfcfcf;"></td> | ||
<td>Reduced-privilege security model</td> | <td>Reduced-privilege security model</td> | ||
<td></td> | |||
<td>ES5-based API hardening?</td> | <td>ES5-based API hardening?</td> | ||
</tr> | </tr> | ||
| Line 67: | Line 71: | ||
<td style="background-color: #9f9f9f;"></td> | <td style="background-color: #9f9f9f;"></td> | ||
<td style="background-color: #cfcfcf;"></td> | <td style="background-color: #cfcfcf;"></td> | ||
<td> | <td>web service</td> | ||
<td></td> | <td></td> | ||
<td>Jetpack-native APIs/tools</td> | |||
</tr> | </tr> | ||
| Line 76: | Line 81: | ||
<td style="background-color: #cfcfcf;"></td> | <td style="background-color: #cfcfcf;"></td> | ||
<td>Implementation of robust library satisfying common add-on use-cases</td> | <td>Implementation of robust library satisfying common add-on use-cases</td> | ||
<td>Stable library</td> | <td>Stable core library, community library collections</td> | ||
<td></td> | |||
</tr> | </tr> | ||
| Line 84: | Line 90: | ||
<td style="background-color: #cfcfcf;">Command line</td> | <td style="background-color: #cfcfcf;">Command line</td> | ||
<td>FlightDeck web-based IDE</td> | <td>FlightDeck web-based IDE</td> | ||
<td>Firefox HUD console integration</td> | |||
<td></td> | <td></td> | ||
</tr> | </tr> | ||
| Line 91: | Line 98: | ||
<td style="background-color: #9f9f9f;">Individual JS files</td> | <td style="background-color: #9f9f9f;">Individual JS files</td> | ||
<td style="background-color: #cfcfcf;">XPIs w/embedded Jetpack runtime</td> | <td style="background-color: #cfcfcf;">XPIs w/embedded Jetpack runtime</td> | ||
<td></td> | |||
<td></td> | <td></td> | ||
<td>Jetpack-native packages (JPIs?)</td> | <td>Jetpack-native packages (JPIs?)</td> | ||
| Line 98: | Line 106: | ||
<th style="text-align: right;">Documentation</th> | <th style="text-align: right;">Documentation</th> | ||
<td style="background-color: #9f9f9f;"></td> | <td style="background-color: #9f9f9f;"></td> | ||
<td style="background-color: #cfcfcf;">bundled | <td style="background-color: #cfcfcf;">bundled with SDK</td> | ||
<td>bundled with Flightdeck</td> | |||
<td>MDC</td> | <td>MDC</td> | ||
<td></td> | <td></td> | ||
| Line 145: | Line 154: | ||
--> | --> | ||
= '''SDK Release Roadmap | = '''SDK Release Roadmap''' = | ||
The SDK releases so far are available at [[Labs/Jetpack/SDK|Labs/Jetpack/SDK]]. | The SDK releases so far are available at [[Labs/Jetpack/SDK|Labs/Jetpack/SDK]]. | ||
Revision as of 17:41, 30 June 2010
Jetpack High-Level Product Roadmap
Jetpack development comprises numerous releases of multiple products that achieve four major milestones, which this chart summarizes.
| Milestone One | Milestone Two | Milestone Three | Milestone Four | ||
|---|---|---|---|---|---|
| Jetpack Prototype | Jetpack SDK 0.1 | Jetpack SDK 0.2 - 1.0b | Jetpack SDK 1.0 | ||
| ETA | DONE, 2009 Q4 | DONE, 2010 Q1 | 2010 Q2 - Q3 | 2010 Q4 | 2011 Q1 |
| Firefox | Extension Manager no-restart API, transparent content iframes, addon bar | Support for Jetpack-native packages, Jetpack library in core? | |||
| Platform | Chrome object wrappers, OOP Jetpack | ECMAScript 5? | |||
| AMO | Stats on Jetpack-built extensions | Support for Jetpack-native packages | |||
| Security | Reduced-privilege security model | ES5-based API hardening? | |||
| L10N | web service | Jetpack-native APIs/tools | |||
| API | Prototypes and proposals of various APIs | Implementation of robust library satisfying common add-on use-cases | Stable core library, community library collections | ||
| Dev Tools | Bespin-based editor in extension | Command line | FlightDeck web-based IDE | Firefox HUD console integration | |
| Distribution | Individual JS files | XPIs w/embedded Jetpack runtime | Jetpack-native packages (JPIs?) | ||
| Documentation | bundled with SDK | bundled with Flightdeck | MDC |
SDK Release Roadmap
The SDK releases so far are available at Labs/Jetpack/SDK.
SDK 1.0 Goals
NOTE: Some of these are already achieved by the move to the SDK approach, and some made obsolete/irrelevant. These goals need updating.
- 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