Jetpack/Roadmap-2011: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (Reverted edits by MrLuke (Talk) to last revision by Dietrich)
No edit summary
Line 1: Line 1:
{{draft}}
__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 - 0.n</th>
     <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 - Q2</th>
    <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>Jetpack-native APIs/tools, web service?</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 w/SDK</td>
     <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''' =  
 
TBD. SDK versions 0.4 and 0.5 are currently targeting 2010 Q2. Once 0.3 is released, this space will fill in with the plan for those.
 
= '''SDK Release History''' =  


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