“Extending Firefox with Jetpack” Presentation @ VanJS

Having recently given a presentation on Jetpack to the VanJS meet-up group, I thought I would share my slides from the event and review some of the questions that were asked. The main goal of my presentation was to shine a light on Jetpack’s evolution and hopefully encourage JavaScript developers to think about how they might extend Firefox with Jetpack.

I certainly enjoyed meeting the people who attended this VanJS event; thanks goes out to Allen Pike for organizing the event and everyone who attended!


var doc = window.document, frame = doc.createElement(‘iframe’);frame.src = ‘http://docs.google.com/present/embed?id=d3dj9v7_24hdnzfkdm’;frame.style.width = ‘625px’;frame.style.height = ‘337px’;frame.style.background = ‘#ababab’;frame.style.padding = ‘8px’;frame.style.marginTop = ’10px’;frame.style.MozBorderRadius = ‘5px’;frame.style.MozBoxShadow = ‘0 2px 6px 0 #BFBFBF’;frame.style.border = ‘1px solid #4A4A4A’;doc.getElementById(‘ErikVansJS’).appendChild(frame);


Example 1: View Page Source in Tab

Example 2: Google Maps for Microformats


Will Jetpack modules work with Webkit?
Jetpack only supports Firefox currently.

Will you be able to use Jetpack with Google Chrome?
The security model for Google Chrome extensions and Jetpack are very different, so generally speaking you will not be able to use a Jetpack as, or in, a Google Chrome extension. However, I believe a small portion of basic extensions may be written to work across platforms if the code performs some environment detection.

Will the modules that a Jetpack uses be displayed to the user when they install an add-on from sites other than AMO?
This type of capability-based notification to users is a privacy and security goal for Jetpack, it will likely be addressed in future releases.

When will the restart-less add-ons feature be ready?
You can create restart-less Jetpack-based add-ons as of the Jetpack SDK 0.4 release, but the restart-less feature will only work with the nightly versions of Firefox at the moment.

What kind of content will you be able to add to Panels?
As far as I know all HTML content can be used in a panel.

What does cfx stand for?
cfx means Cuddle Fish executable I believe, ‘Cuddle Fish’ is a bit of a code name, and cfx will be replaced by jpx in the future.

How do Jetpack-based add-ons keep track of the menu items to be removed when they are uninstalled?
I believe a unique Jetpack ID is used to track anything that needs to be removed when the uninstall command is issue to a given add-on.