New ways to extend Firefox with Mozilla Labs’ Jetpack

Mozilla Labs has introduced Jetpack, a new Firefox extension that adds a new programming interface (API) developers can use to create innovative and relatively light enhancements (called features). As example, Mozilla Labs presented a feature that can hide ads, based on adblockplus.org’s list of well known ad banners providers, similar to the popular AdBlock Plus.

However, unlike Adblock Plus, it doesn’t require a Firefox restart to enable the feature, and creating it is a much simpler task (about 100 lines of code). Another example, adds a Gmail notifier to the status bar in less than 50 lines of code, which is also possible thanks to the simple and powerful API.

To develop new Features, programmers only need to knowÂ HTML, CSS and JavaScript. It even comes bundled with jQuery, a powerful JavaScript library, and is designed soÂ developers can link others like Dojo, or web APIs like Twitter’s which is also bundled in this release.

A simple feature editor that integrates with the Error Console (preferrably on a 3.5 beta) or the Firebug console for better debugging is included, as well as a basic memory monitor developers can use to identify memory leaks.

Bespin, Mozilla Labs’Â web based development environment, has added native support for Jetpack features development making it easy to develop, install, test and enable/disable them.

Distribution of features is a simple process of linking to the code (JavaScript) file as an external resource the same way web feeds or style sheet are declared. If Firefox senses an available Jetpack feature it prompts an infobar users can click to add the feature. By default, features served from sites other than jetpack.mozillalabs.com, also prompt a warning on the potential risks of adding a feature and even lists the full code.

Jetpack is a new Mozilla Labs projectÂ that makes Firefox an even more extensible browser: themes, personas, extensions, Ubiquity commands, search engines, dictionaries and plugins (without mentioning some extensions own ways like Stylish, Greasemonkey or CustomButton), all contribute to make web browsing a more personal activity.