We haven't been able to take payment
You must update your payment details via My Account or by clicking update payment details to keep your subscription.
Act now to keep your subscription
We've tried to contact you several times as we haven't been able to take payment. You must update your payment details via My Account or by clicking update payment details to keep your subscription.
Your subscription is due to terminate
We've tried to contact you several times as we haven't been able to take payment. You must update your payment details via My Account, otherwise your subscription will terminate.

Searching for good usability

Unlike many of its free-software predecessors, Firefox is a joy to use. How did that happen, asks Gervase Markham

Last week, I wrote about the challenge of making free software user-friendly. But when commentators are bemoaning the variable quality of user interface (UI) design in open-source software, the Firefox web browser is often commended. A great deal of its mainstream success has been attributed to its being a joy to use.

The Firefox team’s focus on simplicity and usability has deep historical roots. Several of the original core developers were employees of Netscape Corporation, working on both the Mozilla browser suite project and on the Netscape product which was built on top. The Netscape 7 browser had probably the most commercialised, pimped, sold-out interface of any application ever. Management even mandated that they should disable the pop-up blocker because AOL Time Warner, Netscape’s parent, was a heavy user of pop-ups – despite it being clear that users hated them.

The Netscape engineers hated this even more than the public did, and a small group vowed to produce a browser that put the needs of users first. Fortunately, they happened to be in that rare class of geeks who are both top quality software engineers and also people who understand usability. And, because Mozilla is free software and not the proprietary product of a single company, they had the freedom to take the code and innovate with it, without permission or payment.

So Firefox contains lots of features designed by and for someone who uses the web as it is today – rather than as marketeers hope it will be (Netscape 7) or back as it was in 2001 (when Internet Explorer 6 was released).

Advertisement

One small example of usability innovation in Firefox is the ‘Find’ feature. For many years, Find has been implemented in much the same way in every desktop application. You press Ctrl-F, a dialog box comes up (covering your work), you type what you want to find in a text box, and press “Find”. The software searches through the document and maybe finds an occurrence, usually hidden behind the dialog box. You move the box out of the way and, if the hit isn’t the one you want, you press Find again. And so on.

Firefox, on the other hand, features “Find as you type” (FAYT). You press Ctrl-F and then start typing the text you want to find. The text you type appears in the thin Find Bar at the bottom of the Firefox window, and all occurrences of matching text are highlighted in the page in real time, getting more specific the more text you enter. You only need to type as much as is necessary to find the match, and if you make a typo, you just backspace and correct it.

FAYT has long been a staple feature of complex text editors designed specifically for programmers, such as VI and Emacs (in my view, the Scylla and Charybdis of the software world – extremely unpleasant in their different ways, but very hard to avoid). However, it was always considered too complicated and geeky ever to implement in consumer software.

The team behind Firefox didn’t agree. They thought that it was possible to bring FAYT to the masses, and their hard work has resulted in a feature that is a clear and significant improvement over what was standard for decades, and which is being picked up by other projects.

It’s still undergoing tweaks – for example, while Firefox 1.5 has a checkbox for “search case-insensitively”, the in-development Firefox 3 automatically works out whether you want case-sensitivity by whether you typed any capital letters or not. This sort of extreme focus on making a product Do The Right Thing is worthy of a German car maker.

Advertisement

This could have a broader impact. Many free software advocates have a vision of Linux competing directly with Windows. Given that many Windows programs have bad usability – who can find their way around Word’s enormous feature set these days? – I would suggest that free applications could differentiate themselves by moving past the “Find feature? Yep, got that” approach to user interface design, and adopting the same level of attention to detail that was devoted to Firefox.

Gervase Markham works for the Mozilla Foundation, a non-profit organisation dedicated to promoting choice and innovation on the internet. His blog is Hacking For Christ