Jetpack/Roadmap-2011: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 2: Line 2:
__NOTOC__
__NOTOC__


= <b>High-Level Product Roadmap</b> =
= '''Jetpack 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.
Jetpack development comprises numerous releases of multiple products that achieve four major milestones, which this chart summarizes.


<table border="1" bgcolor="#ffffff">
<table border="1" bgcolor="#ffffff">
Line 17: Line 17:
   <tr style="vertical-align: baseline;">
   <tr style="vertical-align: baseline;">
     <th></th>
     <th></th>
     <th style="text-align: left; background-color: #9f9f9f;">Jetpack Prototype, Firefox 3.5</th>
     <th style="text-align: left; background-color: #9f9f9f;">Jetpack Prototype</th>
     <th style="text-align: left; background-color: #cfcfcf;">Jetpack SDK 0.1, Firefox 3.6</th>
     <th style="text-align: left; background-color: #cfcfcf;">Jetpack SDK 0.1 - 0.5</th>
     <th style="text-align: left;">Jetpack SDK (1.0?), Firefox (3.6.x? 3.7?)</th>
     <th style="text-align: left;">Jetpack SDK 0.6 - 0.9</th>
     <th style="text-align: left;">Firefox (4.0?)</th>
     <th style="text-align: left;">Jetpack SDK 1.0</th>
   </tr>
   </tr>


   <tr style="vertical-align: baseline;">
   <tr style="vertical-align: baseline;">
     <th></th>
     <th>ETA</th>
     <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;">IN PROGRESS, ETA 2010 Q1</th>
     <th style="text-align: left; background-color: #cfcfcf;">IN PROGRESS, 2010 Q1/2</th>
     <th style="text-align: left;">ETA 2010 Q3/4</th>
     <th style="text-align: left;">2010 Q3/4</th>
     <th style="text-align: left;">ETA 2011 Q1/2</th>
     <th style="text-align: left;">2011 Q1/2</th>
   </tr>
   </tr>


Line 34: Line 34:
     <th style="text-align: right;">Firefox</th>
     <th style="text-align: right;">Firefox</th>
     <td style="background-color: #9f9f9f;"></td>
     <td style="background-color: #9f9f9f;"></td>
     <td style="background-color: #cfcfcf;"></td>
     <td style="background-color: #cfcfcf;">Extension Manager no-restart API</td>
     <td>Extension Manager no-restart API, transparent content iframes</td>
     <td>Transparent content iframes</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 50: Line 50:
     <th style="text-align: right;">AMO</th>
     <th style="text-align: right;">AMO</th>
     <td style="background-color: #9f9f9f;"></td>
     <td style="background-color: #9f9f9f;"></td>
     <td style="background-color: #cfcfcf;">stats on Jetpack-built extensions</td>
     <td style="background-color: #cfcfcf;"></td>
     <td></td>
     <td>Stats on Jetpack-built extensions</td>
     <td>support for Jetpack-native packages</td>
     <td>Support for Jetpack-native packages</td>
   </tr>
   </tr>


Line 59: Line 59:
     <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>reduced-privilege security model</td>
     <td>Reduced-privilege security model</td>
     <td>ES5-based API hardening?</td>
     <td>ES5-based API hardening?</td>
   </tr>
   </tr>
Line 66: Line 66:
     <th style="text-align: right;">L10N</th>
     <th style="text-align: right;">L10N</th>
     <td style="background-color: #9f9f9f;"></td>
     <td style="background-color: #9f9f9f;"></td>
     <td style="background-color: #cfcfcf;"></td>
     <td style="background-color: #cfcfcf;">Jetpack-native APIs/tools, web service?</td>
    <td>Jetpack-native APIs/tools, web service?</td>
    <td></td>
     <td></td>
     <td></td>
   </tr>
   </tr>
Line 73: Line 73:
   <tr style="vertical-align: baseline;">
   <tr style="vertical-align: baseline;">
     <th style="text-align: right;">API</th>
     <th style="text-align: right;">API</th>
     <td style="background-color: #9f9f9f;">prototypes of various APIs</td>
     <td style="background-color: #9f9f9f;">Prototypes and proposals of various APIs</td>
     <td style="background-color: #cfcfcf;">model for API design</td>
     <td style="background-color: #cfcfcf;">Implementation of high-level browser APIs</td>
     <td>robust library satisfying common use cases</td>
     <td>Robust library satisfying common add-on use-cases</td>
     <td>stable (frozen?) library</td>
     <td>Stable library</td>
   </tr>
   </tr>


Line 82: Line 82:
     <th style="text-align: right;">Dev Tools</th>
     <th style="text-align: right;">Dev Tools</th>
     <td style="background-color: #9f9f9f;">Bespin-based editor in extension</td>
     <td style="background-color: #9f9f9f;">Bespin-based editor in extension</td>
     <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></td>
     <td></td>
Line 89: Line 89:
   <tr style="vertical-align: baseline;">
   <tr style="vertical-align: baseline;">
     <th style="text-align: right;">Distribution</th>
     <th style="text-align: right;">Distribution</th>
     <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>
Line 104: Line 104:


</table>
</table>
<!--
TODO: commented out for now. Not aligning with specific releases. -dietrich


== Milestone One ==
== Milestone One ==
Line 139: Line 143:
<small>[[Labs/Jetpack/Roadmap#High-Level_Product_Roadmap|< back to overview chart]]</small>
<small>[[Labs/Jetpack/Roadmap#High-Level_Product_Roadmap|< back to overview chart]]</small>


= <b>SDK Release Roadmap</b> =  
-->
 
= '''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.


The roadmap for the SDK is available at [[Labs/Jetpack/SDK|Labs/Jetpack/SDK]].
= '''SDK Release History''' =


= <b><span style="color: #f00">Legacy</span> Prototype Release Roadmap</b> =
The SDK releases so far are available at [[Labs/Jetpack/SDK|Labs/Jetpack/SDK]].


The information in this section is from an earlier draft of this roadmap and is pending review/archival.
= '''SDK 1.0 Goals''' =


== Jetpack 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.
* '''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.
Line 159: Line 167:
* '''Localization story'''
* '''Localization story'''
* '''Works on Fennec'''
* '''Works on Fennec'''
== [[Labs/Jetpack/Reboot_Roadmap|Release Roadmap]] ==
<b>Prototype</b>
* 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
<b>Production</b>
* 0.1 2010-3-1
* 0.2 2010-3-31
== Release Details ==
=== 0.6 <i>Prototype</i> ===
  Target Release
* '''Future Graduates'''
** .storage.synced
** .cookies
** .passwords
** .panels
* '''Future'''
** .music (w/device integration)
=== 0.5 <i>Prototype</i> ===
  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 <i>Prototype</i> ===
  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 <i>Prototype</i> ===
  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?)

Revision as of 23:47, 19 April 2010

Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.


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 - 0.5 Jetpack SDK 0.6 - 0.9 Jetpack SDK 1.0
ETA DONE, 2009 Q4 IN PROGRESS, 2010 Q1/2 2010 Q3/4 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 and proposals of various APIs Implementation of high-level browser APIs Robust library satisfying common add-on use-cases Stable 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


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.

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