Browsing all posts tagged firefox

This post serves as a notice that all Firefox content on this website has been removed. This includes:

  • CoLT
  • Googlebar Lite
  • Firefox Toolbar Tutorial
  • Firefox Profile Tutorial
  • Automatic Extension Updates Tutorial

All links to that content should now redirect to this notice statement. If you're looking for information on the above, here are a few external references for your use:

As of today, I am officially withdrawing my development support for the Googlebar Lite Firefox extension. I'm aware that the extension no longer works well in the latest builds of Firefox, and I have absolutely no desire to fix them. Mozilla's development environment has gotten pretty irritating as of late, and I just don't have the cycles (or the drive) to fix the issues that exist.

The future of Firefox add-ons lies in WebExtensions, and toolbar support in that arena is pretty bare-bones (last I looked). The default Firefox search box meets most needs, which has motivated me to drop this extension.

For those that are so-inclined, I will accept pull requests at the official googlebarlite repo. Or, you can fork the project and roll your own.

In their march to copy Google Chrome, Mozilla is moving Firefox to a multi-process architecture. The code name for this project is Electrolysis. As of this writing, this project's integration target for released levels of Firefox is at the end of 2015. Dates can always slip, and are likely to, but that target seems real soon now.

Frustratingly, Mozilla has been surprisingly quiet about this upcoming change, at least from a developer standpoint. For months the Mozilla Add-ons Blog has promised upcoming articles on the changes necessary for add-on authors, but as of this writing, nothing has appeared. What documentation does exist is, as usual, poorly written. The examples they provide aren't real-world enough for me to fully understand.

It frightens me that Mozilla should be so lackadaisical about evangelizing these changes. This architecture shift will affect the vast majority of add-ons in one form or another. I verified tonight in a nightly build that both Googlebar Lite and CoLT are affected by this change, the former being broken in a number of areas. It seems to me that Mozilla should shift their evangelism of this new architecture into high gear. Every developer who cares about application compatibility needs to be working on these changes sooner rather than later; otherwise, a ton of add-ons won't work properly come release day.

I have created a GitHub repo storing several Firefox extension utility scripts that I wrote. Here's the rundown on what this repository contains:

compareLocales.pl
Compares all of the locales it finds against a "master" locale (en-US by default) and reports the number of exact duplicate entries for each. This is useful for figuring out which locales have not been updated.
entityToProperty.pl
Converts a given list of locale entities into corresponding properties. Handy for migrating existing entity localizations into a .properties file.
removeLocaleEntries.pl
This script removes a given list of entries from all of the locale folders it finds in the current working directory and below. Useful for cleaning up strings that are no longer needed.

Hopefully others will find these scripts to be useful. I hope to add additional scripts to this repository over time.

By default, Firefox ships with the Use hardware acceleration when enabled option turned on. Unfortunately, Firefox has a number of font rendering bugs under the hardware acceleration umbrella (the following are a select few):

As a result of these bugs, I've run with hardware acceleration disabled on my personal systems for quite some time. This, however, has resulted in an unforeseen consequence with my web development. The apps and pages I've developed look great in every browser, except stock Firefox! I only recently ran into this issue when I re-enabled hardware acceleration on my work laptop (in the process of creating a new profile). To my horror, several sites I had developed looked pretty terrible, my photo site being one among them.

I have since rolled out an updated stylesheet to my photo site, fixing the problems that showed up in stock Firefox. It should (hopefully) still look alright in all other browser variants (if you spot a bug, let me know). It's worth knowing, however, that enabling hardware acceleration in Firefox is a worthwhile thing to do if you develop things for the web. The underlying bugs in the rendering engine may bring out underlying flaws in your design.

The Firebug extension is a very helpful tool for web development. But did you know that you can use its console as an output target for your Firefox extensions? It's pretty simple to do:

Firebug.Console.log("Text to log"); // Output text
Firebug.Console.log(myObj); // Output an object

Is that easy or what? Having this capability is a great way to print out JavaScript objects from your Firefox extensions, making your debugging life much easier.

As I tweeted recently, Firefox 4 is to the 3.x line what Windows 7 is to Windows XP. It really feels like a worthy successor in so many ways. Tabs on top is a great enhancement, and I especially like the tabs-in-the-title-bar approach. I'm really able to maximize my screen real estate with these options. Surprisingly, I don't miss the status bar or menu bar as much as I thought I would (and yes, I know the menu bar is still present; I've simply chosen to turn it off). The orange "Firefox button" is a little strange, and takes some getting used to, but I can live with it.

The biggest improvement in my eyes is the ability to pin certain sites as "app tabs." Currently, I have GMail and Twitter pinned open. I am the world's worst at closing Firefox down completely at various points during the day. I don't know why I do this, but knowing I have some app-tabs open will hopefully help me break this terrible habit. One other great improvement worth mentioning is start-up time, which is notably faster. They've really caught up to (though not surpassed) Chrome in this regard, which has always been lightning fast to boot up. Hopefully this trend will continue.

One of the strangest decisions (among many) made in Firefox 4 is the removal of the browser's status bar. No longer can users glance down at the bottom of the screen to see where a particular link will take them. Instead, this information is displayed on the right side of the URL bar in a surprisingly low-contrast font (how are low-vision users supposed to cope with this?). I cannot think of a single application, in Windows or otherwise, that exhibits this behavior.

Removing the status bar from Firefox completely changes the standard windowing paradigm. I'm all for maximizing vertical real estate, but I really think they should have copied Chrome and made the status bar invisible, showing it only when necessary. Besides, gaining 20 pixels or so isn't that much of a real estate win.

I'll be interested to see if this decision, along with a few other similar changes (removing the menu bar by default) impacts Firefox's usage rate, if at all. I can't imagine too many corporations will adopt Firefox 4 out of the gate due to changes like this, but perhaps my perception is too closed minded. What do you think about these changes? Are you willing to put up with them, or will you use a different browser?

Yesterday's nightly Firefox build fixed bug 147777, in which the :visited CSS property allows web sites to detect which sites you have visited (essentially a privacy hole). Sid Stamm wrote a very interesting article on the problem, along with how the Firefox team decided to fix the issue. I recall being amazed at the simplicity of this privacy attack: no JavaScript was needed for a site to figure out where you had been. Several history sniffing websites are available if you're interested in seeing the hole in action.

In my recent post on gripes I have with Firefox 3.6, I mentioned in passing that I detest (and disable) the AwesomeBar. I had a recent lunch-time discussion with Dustin about this very topic, and Michael asked about it in a recent comment, so I thought I'd post a few thoughts on why I dislike the AwesomeBar as a whole.

For the uninitiated, the AwesomeBar is simply the address bar in Firefox 3.0 and later. Prior to version 3, the Firefox address bar was a simple edit box with an associated drop down menu. URLs that you manually entered into this box were saved in the URL history (the drop down menu), and would be auto-completed in future accesses to the URL bar. When Firefox 3.0 was released, Mozilla changed the behavior of the URL bar considerably. Instead of being a repository for typed URLs, the address bar became a "one-stop shop" allowing users to search through bookmarks, history, and previously typed URLs.

So what do I dislike about it?

Performance, Performance, Performance
Without a doubt, this is my number one complaint with the AwesomeBar (and, these days, Firefox in general). When the AwesomeBar made its debut, its performance was terrible. It was so slow, in fact, that as I typed into the URL bar, I would lose key strokes as Firefox struggled to keep up with potential suggestions. For example, as I typed a URL like https://borngeek.com/, I would end up with something like http://wweek.com/ (note the loss of the w.borng characters). Behavior like this is completely unacceptable, but was, for me, the norm for a long time. I'm not sure if Firefox still suffers from this issue because I never use it!
Results Ordering
When the AwesomeBar was first introduced, there was no way to specify what it should suggest as you search. As a result, there was much debate about which results should appear higher in the results list: should history take precedence over bookmarks, or vice-versa? In my experience, search results were never what I wanted them to be. Often, my target search would be the third or fourth result from the top, requiring me to use the arrow keys to select it. Poorly sorted suggestions essentially forced me to scan the results list for each query, wasting my time in the process. I know that Firefox has improved this greatly (you can now specify what kind of results are returned), so this is an admitted non-issue today.
Why Do I Need This?
My last complaint is simply, why is the AwesomeBar something I need? Unlike many computer users, I have very few actual bookmarks; instead, I maintain a static-HTML page of links I frequently visit. Because my bookmark count is so low, I never have a need to search my bookmarks; I already know what is or is not there, as well as how to get to it. Similarly, it's not often that I need to search my browsing history. When I need to do so, I simply open the history sidebar (Ctrl + H) and search there. What was the AwesomeBar giving me that wasn't already available in the browser? I'm not sure the answer to that is very substantial.

I think I would have more respect for the AwesomeBar if it came disabled by default. Shipping Firefox 3.0 with this enabled radically changed the behavior of a key UI element, something that seems pretty dangerous to do from a "keep the end user happy" standpoint. Mozilla enjoys screwing around with the default settings, however, so I've since come to expect this kind of thing from them. For now, the AwesomeBar is disabled in my browser. Until I see a good reason to do otherwise, it will stay in its upright and locked position.

Firefox 3.6

Jan 22, 2010

As you have undoubtedly heard by now, Firefox 3.6 has been released. I've been using it for a few days now (I picked up the release candidate earlier this week), so I have a few thoughts on it.

Faster Performance
If Firefox 3.6 is faster than 3.5, then it's not by much. I have yet to see any gains. When I installed Firefox 3.6, I blew away my old installation completely. I'm using a new profile, with a fresh install, and cold starts still take upwards of 15 or 20 seconds on my laptop (Core 2 T7400 at 2.16 GHz, with 2 GB of memory, on Win XP). I only store 14 days of history (versus 90 days by default), I turn off the Awesomebar (which I hate), and I only use 7 extensions (Adblock Plus, CoLT, Console2, Firebug, Googlebar Lite, Linkification, and Web Developer), none of which seem to be the problem. Mozilla had better make significant gains here in the future. Browsers like Chrome are literally miles ahead in this realm (Chrome cold-starts on my system in as little as 5 seconds).
HTML 5
I haven't played with the HTML 5 stuff, but there's been plenty of news about websites adding HTML 5 variations of their content (like YouTube and Vimeo). The only problem? Firefox doesn't support the H.264 encoding being used by these sites! I understand their licensing standpoint, but if the world chooses H.264 over OGG, they had better jump on board pretty quick.
Personas
Do we really need Personas? This feels like something that AOL would have rolled out back in the day, for every grandma computer user. The real-time preview mechanism feels very scary to me; the fact that document-level content can alter the look and feel of my web browser feels like a security nightmare waiting to happen. What kinds of exploits will crop up as a result of this?
Plug-in Checker
This is the one feature of 3.6 that I actually appreciate. A new update mechanism allows you to quickly see if your plug-ins are out of date, which was pretty painful before. Unfortunately, I have a number of plug-ins on my laptop here that aren't recognized by the updater, but maybe that will improve with time.

I'm hoping that the next release of Firefox, whenever that may be, will be a step in the right direction. Lately, Mozilla really seems to be heading into some strange territory. As much as I love Firefox, I'm growing tired of the bloat, I dislike their possible plans to ditch extensions, and the new UI features seem insipid at best.

The only thing holding me back from moving to Chrome (which I also enjoy), is the lack of decent extension support. When that feature gets implemented, I just may switch, so consider yourselves on notice Mozilla. The next Firefox release had better be good to win back my respect.

Here's a great web developer tip that I've discovered recently. If you're trying to test a site that involves cookies, and you specifically want to test as a "new visitor" (i.e. you are visiting the site for the very first time), simply turn on Private Browsing mode in Firefox. This can be done with the handy Ctrl+Shift+P keyboard command, or via the corresponding menu item in the Tools menu. Using Private Browsing will prevent you from having to clear your cache, allowing you to save those cookies you really do care about.

When you're done, simply exit Private Browsing mode and you will be returned to your previous session: cookies, history and all! This is a handy way to quickly run through tests that might otherwise be a bother to do.

It is being reporting that Firefox will replace menus with an Office-style ribbon interface. Personally, I couldn't be more against this. I'm no fan of the Office ribbon (it takes up way too much screen real estate and looks clunky), and I fail to see how this interface will make things better for the user. Mozilla is known for screwing around with the GUI, however, so I won't be surprised when something like this shows up. I can't imagine how this change will affect many extensions out there, like Googlebar Lite, that add UI elements.

What do you think about the Office ribbon interface? And what do you think of this decision? Thankfully for me, someone will undoubtedly come out with a theme to fix this stupid design decision. Consider me signed up for it already!

Is anyone else seeing a slow startup issue with Firefox 3.5? I'm talking about the initial load (after turning on your computer, for example). For me, startup times have increased dramatically with 3.5, and I've even tried creating a new profile. On my machine at home, cold startup takes between 30 and 60 seconds. On my laptop, it's between 15 and 30 seconds. Firefox 3.0.11 took on the order of 5 or 10 seconds on both machines.

I've got to believe something is wrong with 3.5. Maybe a 3.5.1 is on the horizon...

Update: According to commenter Dean, cleaning out your temporary directory should help things (and it worked for me). To locate the temp folder, open a command prompt and type echo %TEMP%. For me, the folder was under "Documents and Settings\Jonah\Local Settings\Temp." I cleaned this out using the Disk Cleanup utility (mine was 750 MB in size!) and startup was much faster (10 seconds or so).

Update 2: I've found the requisite bug about this problem on Bugzilla: bug 501605. If I read this correctly, NSS uses files in the temporary folder to seed its random number generator. If you have tons of files, this operation takes a long time (the file scan operation isn't as efficient as it should be). There may also be other factors (as commenters in the bug report suggest), but this is at least one of the problem areas.

Firefox 3.5

Jun 30, 2009

The latest and greatest version of Firefox is now available. There are a lot of new features and fixes in this release, including HTML 5 support, the new TraceMonkey JavaScript engine, Private Browsing, and lots more.

Both CoLT and Googlebar Lite are compatible with the new release, so make sure you're up to date with both.

I recently noted in Firefox 3.0 RC 2 that the sort order for autocompleting input fields is broken. In Firefox 2.x, items are sorted alphabetically (different from the insertion order scheme used in Firefox 1.x, if I recall correctly). Now, it appears that the items are sorted according to how they were inserted, with the most recent entries appearing on the bottom. This strange result unfortunately affects Googlebar Lite, beginning with Firefox 3 builds. I haven't received any complaints about this at the moment, but I'm guessing that most people haven't switched away from 2.x, so no one has caught it yet.

It's possible that this issue is a valid Firefox bug. I see that bug 418343 has been written against the search autocomplete results, though I'm guessing it applies to all autocompleting elements (with the exception of the AwesomeBar).

The autocomplete textbox inherits the sortDirection property from the base XUL element, but I have yet to try setting that manually to see if it has any effect. And I'm not sure whether to set it on the textbox itself, or on one of the child elements that lives inside.

Hopefully setting this property will fix the issue, though I'm only given three sort options: ascending, descending, and natural. I'm guessing that the natural option is what I'm seeing now in Firefox 3, with newest at the bottom. One of the largest feature requests that I get for Googlebar Lite is to sort search history items in the order they were inserted, with newest at the top. While I may not be able to easily sort things like people want, I might at least be able to return to the behavior seen in 2.x.

Mozilla Developer News reports that Firefox 3 will be officially launched next Tuesday, June 17. Make sure you download your copy that day, to help Mozilla break the world download record. I've been using Firefox 3 for a while now, and it's worlds better than Firefox 2 (which was already super awesome).

It's official: I am switching to Firefox 3 RC1 as my primary web browser. All of the extensions I use are now compatible in some form or another (Firebug and Linkification are still in 'beta'), so that's no longer holding me back.

One interesting note about Firebug. The new version has removed the 'Disable / Enable' feature for individual sites. Or so I thought. This functionality has now been moved to the Network Monitor and Script Debugger sections of the extension. In other words, I can now explore the DOM tree for any site, without having to pay the performance hit from the network monitoring code. Woo-hoo!

The last few Firefox 3 nightly builds have changed the way SSL URI's are displayed to the user. In Firefox 2, accessing a secure site results in a yellow background for the address bar (which I think is a particularly elegant solution). For reasons I don't fully understand, Mozilla is getting rid of this implementation. In new Firefox 3 builds, the background of the 'favicon' will change depending on the security of the site. A blue background indicates an SSL secured site, while a green background indicates an EV SSL secured site. Moving the color to the favicon, in my opinion, makes things a little harder to understand. A heated debate about this inevitably appeared in the corresponding bug, and there will likely be more confusion over this in the future, as more public users begin to explore the Firefox 3 world. I fully expect an extension to 'fix' this feature, so all may not be lost. This is a very strange decision on Mozilla's part, and it should be interesting to see what the end result is.

Playing in a Minefield

Mar 13, 2008

For the most part, I haven't spent much time with Minefield. Firefox 2 works well enough for me that I haven't had much desire to play around with the new stuff, especially seeing as many portions are inevitably either incomplete or broken. However, the recent beta 4 release prompted me to take it for a spin around the web. Here are a few thoughts on the latest build I've tested as of this writing (2008031205):

New Look
The new skin is interesting, but portions of it will definitely take some getting used to. Surely it's not final (these things never are until the thing is actually released), so I'm hopeful there will still be a few tweaks. When using large toolbar buttons, the back button appears round, while the forward button is much smaller and rectangular; an odd pairing which is reminiscent of Internet Explorer 7. I tend to use the small toolbar buttons, so this change doesn't affect me too much. The forward and back history menus have been consolidated into one menu (again, like IE7), which I think is a nice improvement. The new URL bar looks nice and provides a lot more information than the previous one did. A little star icon at the far right of the bar provides a quick means of bookmarking the current page, which is handy.
Improved Memory Usage
I put the new build through its paces at Google Maps, dragging around, zooming in and out, and generally trying to run up memory consumption (which I did successfully). After closing the corresponding tab, I noted that memory usage dropped considerably, and continued to decrease over time. The new garbage collection and memory defragmentation that has been implemented is clearly a big improvement. Firefox is still a hog, but it's heading in the right direction.
Faster JavaScript
The JavaScript improvements which I recently mentioned are immediately noticeable. GMail and Google Maps feel a lot faster than they typically do, which is super great.
URL Bar Autocompletion
Autocompletion in the URL bar is now handled in a new (and exciting) way. As you type, matches are offered based on all text associated with a link. The page title, the URL itself, and bookmark keywords are all searched. Matched text can appear anywhere in the string, which is really handy.
Password Manager Prompts
The password manager now slides down from the top (like the information bar), so it's not quite as intrusive. However, the handy keyboard shortcuts are no longer the same. In order to quickly answer the 'Not Now' choice, you have to press Alt+N instead of just N. This will take some getting used to.
Page Zoom
The new page zoom feature works really well. Images are magnified, as is the text on the page. There's even an option to only zoom the text, leaving images alone. Pretty neat!

There are plenty of other changes in Minefield, so I recommend checking it out. I am starting to work on adding FF3 support to CoLT and Googlebar Lite, but it's turning out to be a little more difficult than I initially thought. A host of code changes are needed in Googlebar Lite, since I'm currently using interfaces that are now deprecated. Hopefully I can get things updated in the near future.