Firefox/Projects/Jetpack
Jump to navigation
Jump to search
Work with the Jetpack team to implement a core set of modules. This is currently looking like JEPs 102 - 116, over releases 0.3, 0.4 and 0.5.
Status
IN FLIGHT JEPs are owned, and in development.
Team:
- Lead: Dietrich
- Members: Drew, Paul, Felipe, Marco
Modules owned by Fx-team members
JEP | Module | Owner | Target | Status | Notes |
102 | Single UI (Addon Bar) | Marco/Dietrich | 0.4 | on track | Had a meeting with all the UX and Jetpack people about this. Boriss estimating full design delivery by 5/1. Going to implement infrastructure first, estimating two weeks for basic "Phase 1" implementation, as of 4/16. |
104 | Simple storage | Drew | 0.5 | blocked | Blocked by bug 553020 (which is at-risk for 0.3). Estimates 4 weeks of work for implementation. |
105 | Lifecycle | Dietrich | 0.4 | planning stage | bug 549324. Blocked by bug 553020 (which is at-risk for 0.3), and on the EM's support for reboot-less extension installs (bug 555349. Estimate 2 weeks for implementation. |
108 | Page Worker | Felipe | 0.4 | on track | Felipe has a first-cut patch up. |
109 | Request | Zpao | 0.4 | planning stage | Some implementation already done. Paul estimates 2 weeks for implementation. |
112 | Context menu | Drew | 0.3 | on-track | bug 548590, has patch, in reviews. |
114 | Places | Marco | 0.4 | in-progress | Core work done by ddahl, but needs API review for Jetpack API consistency. Marco is out on vacation, but said some API and code work still needs to happen, but nothing major. Still targeting 0.4 for now. |
116 | private browsing | Zpao | 0.4 | not started | Paul talked with Myk about the spec, estimates 2 weeks for implementation. |
Other modules, assist if necessary
JEP | Module | Owner | Target | Status | Notes |
103 | Panels | Myk | 0.3 | at risk | ping enn to see if need anything |
106 | Registered urls | Brian | 0.4 | on track | |
107 | Page mods | Nicolay | tbd | on track | Myk's working w/ him |
110 | Tabs | Atul | 0.3 | on track | might need owner for post-0.3 development |
111 | Selection | Eric Jung | 0.3 | on track | |
113 | Localization | Gandalf | 0.3 | on track | for client, need webdev for server, likely later release |
115 | Content frames | completed | spec, no impl |
Goals
- Help Labs implement modules for JEPs 102 - 116.
- Bonus goal: Drive code reviews core Jetpack code (bug 551311)
Roadmap
- Fri Apr 09
- Core JEPs selected, owners found, estimates given
- Fri Apr 16 (0.3 freeze on 18th)
- Drew mostly finished with Context Menu module for 0.3
- Fri Apr 23 (0.3 release on 26th)
- Paul finishes Private Browsing module for 0.4
- Felipe finishes Page Worker module for 0.4
- Dietrich finishes Lifecycle module for 0.4
- Fri Apr 30
- Dietrich finishes initial implementation of SingleUI module for 0.5
- Fri May 07
- Marco finishes Places module for 0.4
- Paul finishes Request module for 0.4
- Fri May 14 (0.4 freeze on 18th)
- Fri May 21 (0.4 release on 26th)
- Drew finishes Storage module for 0.5
- Fri May 28
- Fri Jun 04
- Fri Jun 11
- Fri Jun 18 (0.5 freeze)
- Fri Jun 25 (0.5 release on 26th)
Not slotted in yet:
- Single UI module completion, no design delivery from UX until 5/1, will estimate then.
Background
Jetpack's architecture under versions 0.8 and earlier (now called the Jetpack Prototype) is being phased out for a new architecture called the Jetpack SDK. Check the SDK docs and wiki for details, but briefly, the differences between the two:
- The Jetpack SDK is a framework for making (traditional) extensions.
- "Jetpacks" produced under the SDK are actually XPIs. They're real extensions. Under the Prototype they were single JS files.
- Since jetpacks are now extensions, it no longer makes sense to say "I made a jetpack." It's more like, "I made an extension using Jetpack."
- Jetpack itself is no longer an extension. It no longer makes sense to say, "I installed Jetpack."
- The SDK is basically a toolchain, runtime, and API -- a framework.
- The SDK is very loosely integrated with Firefox. The runtime is bundled in each XPI. Aside from changes required to support the SDK's high-level APIs, the runtime doesn't require any significant changes to Firefox or Gecko. A (re)loadable extension mechanism is being worked on, but it's like icing on the cake.
- The SDK has a security model, the Prototype didn't.
- Roughly speaking, there are two layers of APIs under the SDK. There's a low-level, chrome-privileged layer that wraps the platform. And there's a high-level, secure, low surface area, and friendly layer that builds on the lower. It's the higher layer that might be thought of as "the Jetpack API," but it's entirely possible to use the lower to build an extension.
- The Bespin IDE of the Prototype will be replaced with a contracted-out in-browser IDE called "FlightDeck." (Maybe you've heard of it?) FlightDeck provides a nice UI to the SDK's toolchain. It will be available as a Web app.
Related Links
- Jetpack SDK wiki
- Jetpack team weekly meetings wiki
- #jetpack
- There's a Jetpack drivers mailing list. Ping adw or Daniel Buchner if interested.
- Module coding guidelines