Skip to main content

Firefox Add ons

How to make Firefox addons compatible with the newest release.

Everybody likes to try out the newest version of Firefox. At the time I was writing this Firefox 3.1 beta 1 was available. When you install it you will find some of your existing Firefox add-ons may have already been updated to work with the new version. Others won’t install at all.

Don’t be surprised if some of the add-ons you modify to be compatible, bring Firefox to its knees. They don’t let you install older versions for a reason. But so I’ve had no problems at all.

Step 1 – Downloading the add-on


Locate the add-on you want to install. If it’s on the official Firefox add-on page you’ll have to click “See All version” to be allowed access to the .xpi. Right click on the now clickable “Add to Firefox” button and choose save target file as.

Step 2 – Extracting the add-on.

Locate the add-on you just saved. You should be able to open the .xpi file with your favorite compression utility. I use Power Archiver and it seemed to work just fine. Other compression utilities compatibility may vary. Extract the add-on to the folder of your choosing. I usually recommend extracting it to its own folder on the desktop.

Step 3 – Modifying install.rdf

Open the folder you just extracted the xpi file to. You’ll see a file called install.rdf. By default windows will have no idea which program to use to open the file with. You can either use notepad or WordPad.
Once you have the document opened do not get intimidated by the amount of text that you see. I find it’s easiest to just do an edit / find and look for the word max. That should take you directly too

3.0”.

All you have to do is edit what is between the > <. In this case it says 3.0. Change the number to the current installed version of Firefox. In this case I have Firefox 3.1 Beta 1 installed. Which is written out as 3.1b1. So when I get done, it should say

3.1b1”.

I guess you could also plan ahead so you don’t have to edit this for every new release. You could probably change it to 3.1b4 or something in that nature.
Once you have that change made, save and exit the file.

Step 4 – Recompressing the xpi file.

The method of recompressing it into a file will vary by the software you use. If you use power archiver or winzip, I would recommend you open the folder containing the extracted contents of the xpi file and do a select all. Once all the files are selected, right click anyone of them and click “Add to zip”. When you’re done you should have a file ending in .zip. All that is left is to rename the zip file (in XP you’ll have to make sure you can see file extensions) to the name of the xpi file you downloaded earlier. Just make sure when you are done that the file ends in .xpi and not .zip.

That’s it. Now just open Firefox and drag the xpi file you just created into Firefox and choose install. Once you reboot Firefox your add-on should now function properly (hopefully).

Popular posts from this blog

Visualizing large scale Uber Movement Data

Last month one of my acquaintances in LinkedIn pointed me to a very interesting dataset. Uber's Movement Dataset. It was fascinating to explore their awesome GUI and to play with the data. However, their UI for exploring the dataset leaves much more to be desired, especially the fact that we always have to specify source and destination to get relevant data and can't play with the whole dataset. Another limitation also was, the dataset doesn't include any time component. Which immediately threw out a lot of things I wanted to explore. When I started looking out if there is another publicly available dataset, I found one at Kaggle. And then quite a few more at Kaggle. But none of them seemed official, and then I found one released by NYC - TLC which looked pretty official and I was hooked.
To explore the data I wanted to try out OmniSci. I recently saw a video of a talk at jupytercon by Randy Zwitch where he goes through a demo of exploring an NYC Cab dataset using OmniSci. A…

HackRice 7.5: How "uFilter" was born

I have a thing for Hackathon. I am a procrastinator. A lazy and procrastinator graduate student, not a nice combination to have. But still when I see hundreds of sharp minds in a room scrabbling over idea, hungry to build and prototype their idea. Bring it to life, it finally pushes me to activity, makes me productive.  That is why I love Hackathon, that is why I love HackRice, our resident Hackathon of Rice University.

TL;DR: if you just want to try the extension, chrome version is here and Firefox version is here.
I have been participating at HackRice since 2014, when I think for the first time it was open for non-rice students, and have been participating ever since. What a roller coaster ride it has been, but that is a story for another day. HackRice 7.5 being the last one I will be able to attend at Rice, it was somewhat special and emotional for me.
HackRice 7.5 was a tad different form the other iterations. For starters it was the first time it was being held in Spring semester…

FirefoxOS, A keyboard and prediction: Story of my first contribution

Returning to my cubical holding a hot cup of coffee and with a head loaded with frustration and panic over a system codebase that I managed to break with no sufficient time to fix it before the next morning. 

This was at IBM, New York where I was interning and working on the TJ Watson project. I returned back to my desk, turned on my dual monitors, started reading some blogs and engaging on Mozilla IRC (a new found and pretty short lived hobby). Just a few days before that, FirefoxOS was launched in India in the form of an Intex phone with a $35 price tag. It was making waves all around, because of its hefty price and poor performance . The OS struggle was showing up in the super low cost hardware. I was personally furious about some of the shortcomings, primarily the keyboard which at that time didn’t support prediction in any language other than English and also did not learn new words. Coincidentally, I came upon Dietrich Ayala in the FirefoxOS IRC channel, who at that time was a P…