"Jetpacking: The 0.3 SDK and a peek at what's coming next."

I've been working on the Jetpack project for about a month now - implementing features, fixing bugs, and generally helping move things forward as we build out the wide set of capabilities needed to enable an awesome future for Firefox add-on development.

The Jetpack team released the 0.3 version of the SDK yesterday, which has a bunch of platform improvements, and also the context menu API - the first UI feature to ship in the SDK. The SDK documentation has an example of using this feature that shows 1) how easy it is to build UI features with Jetpack, but also 2) shows how add-on development process has changed with the SDK. For example, all of the manual packaging steps are gone. That's right. No more crazy directory structures, no more RDF files, no more GUIDs. All of that stuff is gone, replaced with a couple of simple commands. It's not perfect yet, but expect it to get even easier to both package and deploy add-ons as we build out the SDK further.

So what's next? The 0.4 release is where the feature set of the SDK really starts to blow up:

  • Panels: Floating rich content, tooltips, contextual UI.
  • Private Browsing: Making it easy for add-ons to respect your privacy.
  • Selection: Remember how awesome it was having an intuitive selection API in Ubiquity?
  • Localization: Simple access and distribution of locale data.
  • Page Worker: Like a Web Worker, but with more privileges and a DOM.
  • Simple Storage: Persistent object store - like DOMStorage for add-ons.
  • Places: Improved bookmarks and history searching and browsing.
  • Widgets: A preview of the ideas Daniel and Boriss have recently blogged about.
  • Request: Even easier AJAX (Please don't make that into an acronym. Please.)
  • Installable without needing to restart Firefox (trunk builds only).
  • Documentation: More and better! And it's not just about the feature set: The diligent focus of the Jetpack core team on developer ergonomics, and the experience gained from the Jetpack prototype and projects like Ubiquity, is resulting in a set of APIs that are far more intuitive and easy to use than the current XPCOM-riddled minefield that add-on developers have to deal with today.

If you have questions or suggestions, let me know in the comments, or join us on Jetpack developer forum.