Extension Portability

Recently, I was overwhelmed by the immense number of extensions written for Firefox and to a much lesser extent, Thunderbird. I have received emails and as well as through my own observations, realised that most popular extensions are Firefox-only. Since both programs are created on the same code foundation,  including Mozilla Suite, Netscape, Nvu and Flock, surely at least some of the simpler extensions can be ported over to other programs.

Extensions like Image Zoom, FlashGot and even FoxyTunes have made it to Thunderbird, but not hundreds of others which make Firefox such an extensible and flexible piece of software. To increase the usage of Thunderbird, there must first be a decent number of extensions which work for Thunderbird.

These are each application’s corresponding <em:id> tag in the install.rdf file of an extension..

Firefox: (Web browser)


Thunderbird: (Email client)


Sunbird: (Calendar)


Mozilla Application Suite: (All-in-one suite, main development discontinued)


SeaMonkey: (All-in-one suite)


Netscape: (Web browser)


Nvu: (WYSIWYG HTML editor)


Flock: (Web browser)


Camino users, please read this in case you’re wondering why Camino is absent from the list above.

These tags are embedded within the <em:targetApplication> tag and <Description> sub-tag. Porting extensions over to other programs may not be as simple as merely changing these corresponding <em:id> tags though. The code to display a menu entry in Firefox will not work in Thunderbird.

There are plenty of tutorials and guides to create Firefox extensions, but it is much rarer to find any for the others. However, while it is for the good of the community to have an extension that has versions for each program, the authors of the extensions themselves may not have the time to dedicate towards extension portability.

It is important to keep the phrase “Extension portability” in mind as Firefox continues its phenomenal growth. The other programs, especially Thunderbird, must take advantage of this momentum to broaden their user base to provide people with free open-source alternatives.