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.