
I recently ran into a problem on my system where all the HTML document icons had been reset to the generic default icon: ![]()
Apparently, the Minefield build of Firefox had at some point corrupted this icon. I found that I was unable to change or reset the icon through the Folder Options » File Types dialog in Windows Explorer. No matter what I tried, I couldn’t restore the icon, and it drove me nuts. Then I figured out what to do, thanks to this forum post at MozillaZine:
Problem solved!
Firefox 3 will include several heavy-hitting changes to extension development, some of which will cause existing extensions to break. Let’s take a look at what’s changing, to get an idea of what to expect from a development point of view:
New APIs
One big change that will likely break some existing extensions are the new Firefox APIs being introduced in 3.0. All of the bookmark and history APIs are changing radically, with the introduction of the new Places architecture. As such, any extensions that make use of these will need substantial work to run properly in Firefox 3. Similarly, any extensions that use the Password storage functionality in Firefox will need changes (a new login manager will be used to handle stored passwords). It remains to be seen how one will develop an extension that will be compatible across all versions of Firefox. I haven’t seen any mention of simply deprecating the existing API calls, though I would hope that’s what the developers would do.
Secure Updates
Firefox 3 will require that all extension updates be provided over a secure channel, to avoid man-in-the-middle attacks. This means that if you are not using the official addons.mozilla.org website to host your extensions, you must provide your own secure method of distributing updates. One has several options for doing this:
updateURL must either use https or not be provided at all.updateURL value at all), or you are willing to host your extensions from a secure location using https. The latter option will likely cost you money, while the former forces you to use a website beyond your personal control.updateURL uses http and the updateKey entry is specified.updateKey value must be provided in your extension’s install.rdf file. Second, a digital signature must also be included in the update manifest; otherwise, the update will be rejected. Your updateLink value can either use https, or it can use http while providing an updateHash value. The updateHash value can be generated using either a sha1, sha256, sha384, or sha512 hash algorithm. But take note: you should not use sha384 or sha512 as of this writing. This forum thread mentions bug 383390, in which both sha384 and sha512 values are incorrectly truncated by Firefox 2.x (making backwards compatibility a problem).Some further information about this new signing process can be found here.
Other Changes
The two items above aren’t the only changes coming down the pipeline for extension development, but they are the largest changes that I can see. A document detailing the new items is available, and should (hopefully) be updated as 3.0 nears an actual release date. It looks like extension developers will have a fair amount of work coming up, but I think these changes will be beneficial in the long run. How well the community accepts these changes remains to be seen.
A recent article at Indistinguishable from Jesse gives some updates on the current state of memory management in Firefox. There are some exciting improvements coming in Firefox 3, which should be a boon to many users. One of these days, when I get a free chance, I’d like to examine my extensions with the leak-gauge.pl script. I’m not 100% sure that there isn’t a leak or two in Googlebar Lite, though I’ve done my best to be careful.
In entirely unrelated news:
One nice thing about the xkcd web comic, is that each comic’s image has an additional joke or tidbit of information hidden away in an HTML title attribute. Hover your mouse over it for a second or two, and you’ll see the joke. Sometimes, the text is fairly lengthy, as in this example. Unfortunately, Firefox only shows one line of text in a title tooltip, so any lengthy amounts of text get cut off with an ellipsis.
Thankfully, bug 218223 was filed way back in 2003 (as a Firebird equivalent of a bug posted in 2000). Now, 7 years later, a fix has been implemented. Firefox 3.0 will include this fix, much to my delight. This just might be enough to make me switch to the alpha builds of 3.0 for my daily browsing habits.
Update: I’ve found an extension that fixes this problem. Woo-hoo!
Last Wednesday was apparently a freeze day for the Gecko 1.9 rendering engine (which will appear in Firefox 3). A laundry list of new features have been added, as can be seen from the most recent nightly build report. Full page zoom is one of the biggest new features coming, though it has not yet been enabled via the GUI (you have to download a separate test extension to play around with it).
One particularly nasty regression (bug 390451) lurks in the nightly builds, so I’m not planning on switching my base install to this alpha. But it looks like it won’t be much longer before we can enjoy some new Firefox features.
MozillaZine has announced that Firefox 2.0.0.5 has been released (though, as of this writing, I still don’t see it via auto-update). I enjoy looking through change logs (weird as that may seem), so for every new Firefox release, I take a look at Bugzilla to figure out what has been fixed and what is new. Here’s how I do it:
Here are the fixed bugs and verified bugs for 2.0.0.5. If you really want to get clever, you can combine these keywords together (separated by a comma) on the advanced BugZilla search page. You’ll need to tweak some of the default settings on that form to get it to work, but it can be done (as this query for Firefox 1.5.0.5 indicates).
There are two special notes about doing things this way:
I just read an interesting article over at Wired that essentially asks “Is Firefox Getting Bloated?” The article compares Firefox to SeaMonkey. I was a Mozilla browser user well before it was named “SeaMonkey”, and well before Firefox 1.0 was released. During that time, I really came to despise the bloat in the application. Firefox was an incredible breath of fresh air when it was released: light-weight and responsive.
Personally, I feel that Firefox still exhibits both qualities. But I can see the argument made by the Wired article. Additional features, some of which many users may not actually care about, are creeping into the code base. Built-in support for microformats (something that I still don’t fully understand) is coming in Firefox 3.0. Do users really need this? Mozilla apparently thinks so. Many users may disagree.
There are certainly areas where Firefox could improve (in-browser support for both Java applets and PDF files are horrible). But I think Firefox is in great shape now. One thing I know for certain is that I’m never going back to Internet Explorer. (Side Note: I recently installed IE 7 on my work laptop … man, is it horrible.)
What do you think? Is Firefox too bloated? Too lean? Just right?