Top Ten Mistakes in Firefox 3

Top 10 Mistakes in Firefox 3

By Luke Miller
with thanks to Lachlan Cannon
May 2008

Introduction


Firefox, the cross-platform web browser descended from Netscape and Mozilla, is a flagship product of the open-source movement. With the number of users exceeding 100 million and a market share second only to Microsoft's pre-installed Internet Explorer, Firefox shows that open collaboration and sharing code can produce a world-class product with widespread appeal.

The next major revision of the browser is the eagerly anticipated Firefox 3 (FF3). Scheduled for release in June 2008, FF3 is already available in beta form, and going forward will be increasingly promoted as your primary browser. Already a number of Linux distributions, including the latest version of the most popular, Ubuntu (Hardy Heron), use FF3 as the default browser. With competition heating up from a resurgent Apple, a re-activated Internet Explorer, and a plethora of new mobile browsers, Firefox 3 developers have pledged to deliver a faster, more compliant, feature enriched and stable product.

However in the latest beta, a number of wrong turns have been taken by the hard working developers of Firefox. Here are ten of the worst decisions. While no single complaint is a deal-breaker by itself, together they expose Firefox 3 as an confused and confusing program, and are perhaps indicative of a product that is in danger of going off the rails.

10. Inconsistent Theming


With an impressive skinning ability, Mozilla and Firefox have always been visually impressive. This is taken to a new level in Firefox 3, with the browser using (or is that mimicking?) the native interface elements of the host window manager. For example, on a Mac, Firefox looks like a Mac application, on Windows the program looks like a Windows application and on GNU/Linux, it looks like ... well ...  Firefox tries anyway by adopting the popular GTK library look and feel used by gnome, which is about as close as Linux gets to a unified look.

A noble idea, but clearly someone forgot to pass the message on to the elite "download manager" team and their comrades in the "smart location bar" team. These two tools appear to use their own widget libraries. Among their crimes are the use of white backgrounds, usually understood by users to indicate user-editable text fields and hidden menu options (the download manager in particular hides all options in a right-click context menu). The smart location bar uses green for links and a layout that is radically different from the bookmark menus, despite duplicating the functionality.

Suggestion: Unify the location bar with the bookmark system, and revamp the download manager so that it is consistent with the rest of the application.


9. Too many buttons


When your window manager and your browser are taking up a third of the available real estate of your screen, you have a problem. Yet that is precisely what users with resolutions equal to or less than 1024x768 face when using Firefox on Linux. Popular websites such as wikipedia have common functionality located off the bottom of the screen. With a seemingly endless supply of new features, FF3 needs some serious trimming in the default distribution. A status bar that is normally empty save for the word "Done" is a shocking waste of space, and if so many interface elements must be available from the main window (FF4 will probably have a Kitchen Sink icon), much more functionality could be available, such as bookmark management and download management.


Streamlining need not result in reduced functionality and can even reinvigorate a project. The gnome desktop environment had a similar level of menu bloat several years ago, and after much vigorous debate, emerged in 2002 with a streamlined and fully functional application that is driving Linux adoption around the world.

Suggestion: Get a usability expert in to streamline FireFox as much as possible. Remove as many buttons as possible and if possible a few toolbars (for example the status bar at the bottom of the browser). This streamlined look should be enabled by default.


8. Addons aren't ready for Ubuntu


Ubuntu is the flagship linux distribution, and it was announced earlier in the year that the next Long Term Service release of Ubuntu, Hardy Heron, would ship with firefox3 as the default. The number of users expected to install Hardy Heron within a week of the release was expected to number in the millions.

While a remarkable example of the fleet-footedness of the open-source community, with its ability to ship near-production quality code in a mainstream distribution and then provide immediate secure and tested updates, it appears little effort was made by the Mozilla foundation to prepare for the release of Ubuntu (and the several million users instantly shifted to FF3). The biggest sign of this is that developers of popular addons were not requested to have their addons ready for version 3, resulting in a Firefox experience substantially below the level of Firefox 2 for many users.

Suggestion: Special effort to get popular addons working with FF3 as soon as possible, based on the popularity rankings at addons.mozilla


7. The confused preferences dialogue


Every version of Firefox completely changes the Preferences tool. Presumably the hope is that, like a pendulum, the tool will eventually settle on some magical point of equilibrium. If FF3 is any guide, users will be waiting for a very long time before that point is reached.


The tabs are, for a start, not tabs but rather icons in a white box which a lot of people will probably not understand are selectable. "Main" and "Content" are also vague categories. It is possible that a tabbed interface for preferences is inappropriate in this application, although it is often the best of a bad selection of interface designs.

It is also hard to guess "which preferences are where" on this dialogue. The settings for cookies are not located on the security tab, blocking pop-ups is on a tab labelled "content", whatever that might mean, and is the "tabs" tab really necessary? Then there is the mess that is the "Advanced" tab...

Suggestion: The advanced tab should repeat the layout of the non-advanced tabs, or each tab should have its own advanced button.


6. Error pages used as modal forms


Go to "about:config" or arrive at a site with an SSL certificate error (my work's test server is a Hindenburg-esque example of this), and you will be confronted by how the Firefox developers have used error pages as modal forms. That is to say, the browser displays error pages with questions and multiple buttons on them. While the genesis of this is in Firefox 2 with it's "Try Again" button on 404 pages, it feels like the Firefox 3 crew have invented a new form of user interface, one that confuses the application with the Internet itself.

Users expect all pages in their window to relate to remote Internet sites, and any changes to settings on their local machines to be done via the host operating system windows and forms, such as popup windows or menu options. Configuring your system's SSL options via an interface that looks like an error page is an interesting design decision. It conflicts with the established expectations of the user, who would use the menu system to set preferences.

Perhaps a case can be made for using an error page as a modal form. "We've experienced an error, please select from the following options" but presenting a modal form as an error page, using the "SELECT ONE OF THESE OPTIONS TO ADJUST YOUR SYSTEM, THIS PAGE LOOKS LIKE AN ERROR PAGE" is perhaps a bridge too far.


While on the top of SSL, which developer thought the ssl exception wizard as implemented in beta5 was a good idea? I found it confusing and I have a degree in software engineering! Regular users will be flummoxed.

Suggestion: Use a consistent method for adjusting the settings of the browser, either through the OS widget set (menu options, windows, dialogues, etc) or through a html-based set of pages, not both.


5. The lack of xforms support


What drove the adoption of Internet Explorer? Was it the monopoly position of Microsoft in the operating system market, the browser's proprietary tools such as ActiveX, or the browser's "embrace and extend" approach to standards?

The answer is "all of the above" (alright, it was mostly the monopoly thing, but stick with me here).

Since the browser wars of the late 1990s, the open source community has learned a valuable lesson. By adhering to standards, providing better support for standards, and promoting the standards as must-have features, Firefox has been able re-frame the debate of technological superiority, with Microsoft as the poor cousin playing catchup.

With FF3, the only Firefox browser guaranteed to garner a large install base post FF2, the developers have missed a golden opportunity to drive a standards-driven wedge between Internet Explorer and internet users.

XForms, the difficult-to-implement but potentially internet-changing web-forms standard developed by the W3C, is exactly the kind of technology Firefox should have implemented for version 3. XForms-enabled web-pages, initially driven by the open-source community, would drive the adoption of Firefox on Windows machines in much the same way "You need to install Internet Explorer to view this ActiveX page" was so damaging to Netscape in the 1990s.

SUGGESTION: Add XForms to trunk as soon as possible.


4. What the hell is "about:config" and why is it hidden?


Many users of Firefox may not be aware that the browser has a secret configuration screen. If you type "about:config" into the URL bar, you get taken to a special list of properties that power-users can edit and tweak to their hearts' content. The screen is hidden from regular users because it is here that you can really wreck your browser.


One of the killer features of firefox is its customisability. While there is a fine line between providing lots of options and over-complication, there is no reason to make the "about:config" screen in firefox as difficult to use as it is. Instead of hiding this screen, FF3 should endeavour to make it usable. Why not provide contextual help?

No program should have hidden options that no-one can figure out.

Suggestion: Context help for each option in "about:config", and give it its own menu option.


3. Failing the acid3 test


Safari can do it, and Opera can do it. Why can't FF3 do it? Acid3 is the hardcore browser test that on success draws a simple rainbow and a score of 100 in your browser or a number somewhat less than that if it fails.


The successor to the little smiley face that was Acid2 is the test for any next generation browser worth its salt. As well as showing that the browser supports the latest internet standards to the letter, passing Acid3 carries considerable bragging rights. You may laugh, but in a world where information is currency and human creativity is the most valuable commodity available, passing that test says you are a serious player in the web browser world.

As well as winning the standards debate, supporting Acid3 impresses the tech-rev-heads and the early adopters, who are key to the ongoing success of any project.

Suggestion: Have Acid3 support in place as soon as possible.


2. The home button


This will probably be the most controversial suggestion. It's time for the Home Button to go the way of the Shop Button. It's just more clutter people can learn to live without and a relic from the 1990s.

Suggestion: Trial removing it in one version and see if anyone complains.


1. Bookmarks are proliferating and taking over


There are now half a dozen methods of accessing bookmarks in firefox3, and they all overlap. Bookmarks are available from the menu, the bookmark toolbar, the bookmark library, the bookmark sidebar, the location toolbar and that's just what I'm aware of!

Nothing shows how organic the development of Firefox has been better than the multitude of bookmark interfaces, each one slightly different to the other. With some severe design work, it may be possible to reduce bookmarks to a subset of the existing implementations without sacrificing any features. I suspect that this process would also uncover exciting new features and drive usability developments in other parts of the browser.

One thing that FF3 does get right is the ability to properly edit bookmarks in place in various locations, something Firefox 2 was sorely lacking. It is still however, clearly only fixing a symptom of the underlying problem.

Suggestion: Get rid of the bookmark sidebar, and find a way to amalgamate the location toolbar and the bookmark toolbar.


Conclusion


Firefox is undoubtedly an amazing product, and an amazing achievement. It's not easy to grab a third of the market when your competition is a billion dollar company that gives away its product for free and pre-installed on 95% of all desktop computers sold. However, like any large software engineering project in development for a long period, its goals change, cruft accumulates and some of the original vision is lost. Perhaps the developers should look to the gnome desktop environment, a similarly sized project that did a radical reinvention in the early part of this decade to simplify the interface and reclaim the mantle of most popular desktop environment from KDE.

Firefox 3 is probably a lost cause. In many ways, it is a worthy successor to Firefox 2, building on many of the excellent features of that browser and implementing many new ones. But for Firefox to go forward towards version 4 and above, some major rethinking is required. Duplicate features need to be merged and the interface needs a radical overhaul. Firefox is a complex program, but complexity need not conflict with usability, consistency and simplicity.

Some of the problems listed here are trivial and are not deal-breakers in user adoption of the browser. They have been pointed out in the hopes of inspiring debate about the future of Firefox, one of the great open-source projects.

Good luck, Firefox!
From a devoted Mozilla/Firefox fan.

PS. This page is best viewed in Firefox.


Creative Commons License
Top Ten Mistakes in Firefox 3 by Luke Miller is licensed under a Creative Commons Attribution 2.5 Australia License.
Based on a work at um.com.au.