Prepare For Liftoff

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Prepare for Liftof

Jetpack & the Future of Add-on Development


Genesis
• it's too hard to make and use add-ons...

• most potential developers don't know XUL

• Firefox updates can break add-ons

• installing add-ons requires restarting Firefox

• add-ons have full control over system, even


though most don't need it
Goals
• simplify add-on development via high-level
APIs that use common web technologies

• keep add-ons working across Firefox upgrades


(a.k.a. Write Once, Run Everywhen!)

• make add-ons installable/removable without a


restart

• limit add-on privileges to the set they actually


use
Spring 2009: Experimental Prototype

• Firefox add-on

• a dozenish core APIs

• in-Firefox development via built-in web page

• add-ons as simple scripts

• install/remove without restarting Firefox

• (no privilege limiting)


Findings

• simple development/bundling model great,


especially for casual developers

• restartlessness great for users

• bootstrapping into Firefox & compatibility


across Firefox updates problematic

• no way to harness third-party APIs


Fall 2009: Reboot
• web application for casual developers

• SDK for professional developers w/existing


toolchain

• traditional XPI bundles + APIs bundled with


each add-on (akin to static linking) to solve
bootstrapping problem

• CommonJS Modules implementation for code


sharing via third-party libraries
Spring 2010: Debut
• initial preview release of web app to limited
audience

• initial release of SDK

• project enters “incubation” phase (transition


from Mozilla Labs experiment to production-
level efort)
Today
• fve releases of SDK

• high-level APIs (context-menu, localization,


page-worker, private-browsing, request,
selection, self, simple-storage, tabs, widget)

• restartless on Firefox 4 nightlies/beta

• unit testing harness & documentation tool

• second preview release of web app

• create add-ons and libraries

• instant testing via helper add-on


Demo!
The Future
• security (privilege limiting)

• APIs (places, window, sidebar?)

• debugging (console, memory analyzer?)

• compatibility across Firefox updates

• addons.mozilla.org integration
Try
builder.mozillalabs.com

Participate
jetpack.mozillalabs.com

Thanks!

You might also like