FIREFOX TAKE BACK THE WEB
Take back the web:
FIREFOX Firefox is one of the most successful open source projects ever. With help from its creator, Blake Ross, Linux COVERRE Format reveals how it made the FEATU breakthrough in five key areas.
LXF66 MAY 2005
16/3/05 12:29:57 pm
FIREFOX TAKE BACK THE WEB
n February 25, the Mozilla Foundation announced that its Firefox web browser had been downloaded more than 25 million times since its official 1.0 release less than 100 days before. We knew from the 0.8 release that Firefox was good, but something about this felt different: it was edging closer to the mainstream, and receiving more mainstream press coverage, than any other open source project had been able to do. Today, close to 30 million users have, to use Mozilla’s own slogan, ‘taken back the web’: happily browsing the internet faster, more safely and with fewer interruptions than at any time in the last five years. But why has Firefox been so astoundingly popular? How has it made the breakthrough?
Internet Explorer, an advantage that’s shared by all the open-source browsers. Transgressions of web standards are quickly highlighted by users and web developers and can be checked out almost immediately – even non-programmers can contribute. The continual development process of open source also means that fixes get rolled out quickly, without the need to wait for a major release. As CSS guru Eric Meyer puts it, “Even a crawling man will get ahead of a stationary man, and a running man will get even further ahead.” Mozilla has embraced open source development without stinting on standards-compliance. Used to ensure web pages are accessible to as many users as possible, web standards were at first often theoretical benchmarks
“WHY HAS FIREFOX BEEN SO HUGELY POPULAR? HOW HAS IT MADE THE BREAKTHROUGH?” We knew there must be something about the Firefox story that other open source developers and advocates could learn from, and we found plenty. Here are the five secrets of Firefox’s success.
1 It’s open source This might elicit a loud “Doh!” from our readers, but beyond the free-software community Firefox has managed to make its open-source status a selling point, rather than a limitation. The fact that the code is open gives it an immediate advantage over Microsoft’s
that some browser developers found hard to apply in practice. In many ways, the World Wide Web Consortium (W3C) relied on browser developers to create and innovate the features that could become standards – if the resulting standard didn’t quite match the code already implemented, developers were left to choose between rewriting significant chunks of code (breaking backwards compatibility in the process) or being branded bad guys by the code cognoscenti. But standards have matured, though, and the years of browser space domination
by Internet Explorer have now created a stable environment. There’s no reason for open-source browsers not to comply. “It’s hard to implement standards, period – but that doesn’t mean it’s harder to do just because you’re innovating,” believes Meyer. “Opera, Firefox, Safari – all of these browsers have been innovating while sticking as close as they can to standards, and with far, far less resources than Microsoft commands.” In fact, Meyer believes open-source projects may even be ahead: “When it came out, [IE] was pretty darned good, but the web marches on and IE has been standing still.” It’s quite telling that should you browse the Bugzilla logs for Firefox (Bugzilla is Mozilla’s bug-tracking system), you’ll find that many are logged as invalid – these are the original ‘bugs’ resulting from other browsers (mostly IE) failing to implement strict standards that are followed in the Mozilla family.
FIREFOX TIPS Throughout this feature you’ll find our favourite Firefox features. They’re a reminder of why it’s so popular – and, we hope, will improve your web browsing experience...
2 It’s secure Firefox is built on the success of the Mozilla web suite, inheriting much of the advantages of that software’s rigorous approach to standards and security. Decisions such as eschewing ActiveX on Windows, the source of many problems on IE, has given it a reputation for being safe from malware, phishing attacks and so on – especially in comparison with the ‘other’ browser. Perceived security is a major reason for its success. Starting out
The ‘Get Firefox’ campaign included a two-page advert in the New York Times, paid for entirely by user donations.
HOW FIREFOX CAME TO BE Key developments in the browser’s history (1980–April 1994)
Tim Berners-Lee, while working as a contractor to CERN, proposes a project designed to facilitate the sharing of information among researchers. His idea is based on hypertext, allowing documents to be dynamically cross-referenced.
The future co-founder of Netscape, Marc Andreessen (right), works with Eric Bina to port an HTML browser from expensive UNIX workstations to a more user-friendly PC.
Andreessen announces Mosaic, a “networked information systems browser”, and at the same time releases beta version 0.10 of Mosaic for X/Motif including full source code and binaries.
Andreessen bumps into SGI’s displaced founder Jim Clark (right). Together they start up the Mosaic Communications Corporation, the first company to capitalise on the growing world wide web.
LXF66 MAY 2005
16/3/05 12:30:31 pm
FIREFOX TAKE BACK THE WEB
FIREFOX TIP: SHORTCUTS Firefox has shortcuts scattered everywhere to make it fast and easy to use, so why not take advantage of them? For example, press Ctrl+Enter to have Firefox add ‘www’ and ‘.com’ to your URLs; Shift+Enter to have it use ‘.net’, and Ctrl+Shift+Enter to have it do ‘.org’. If you don’t have the location bar selected, hit Ctrl+L first, or use Ctrl+K to select the Web Search.
>>with security high on the agenda is
a bonus: the alternative of retro-fitting security features to existing software is hard and rarely as comprehensive as integrating a system at the start. Yes, it has vulnerabilities – Mozilla has already issued a security update including a fix of a phishing vulnerability – but there’s a lot of evidence to suggest that open-source applications are at least as secure as proprietary counterparts. “The security problems and apparent stagnation of IE gave the digerati an itch to look elsewhere. Firefox, with its open-source nature and power-user abilities, was a perfect place to turn,” says Meyer. The long-heard and quite reasonable assumption is that Internet Explorer is more of a target because of its larger install base. Presumably then, as Firefox becomes more popular, there will be plenty of people looking at ways to subvert it.
“THIS IS OPEN SOURCE’S BEST CHANCE TO FREE THE WORLD FROM IE.” FIREFOX TIP: FORENSICS Whether you’re debugging your own web pages or just curious about other peoples’ work, the DOM Inspector lets you pick apart the construction of a website and see what Firefox is doing to the code. To run the inspector, visit the web page and then click Tools > DOM Inspector from the menu bar.
Not necessarily, according to its author, Blake Ross. “Sure, it will become a target. But that doesn’t mean hackers will be successful,” he says. “Firefox’s code has been freely available on the web for years, and the Mozilla Foundation encourages top people in the security industry to try to find vulnerabilities. In fact, the foundation actually pays security experts to search for security bugs and report them in a responsible manner,
and I think everyone on the team has been very pleased with the dearth of bugs uncovered thus far.”
3 It’s non-commercial No adware extensions, no pop-ups… Firefox has gained support among users for eschewing commercial applications that are vulnerable to exploitation. Its timing is perfect, as the world becomes weary of in-your-face selling and underhand data snooping. In the beginning, of course, the web was a happy place. In the Elysian fields of interconnected ether, ideas and information were exchanged freely and without barriers. There weren’t so many things you could do on the web, to be sure, but it wasn’t a dangerous place to be frightened of. Then business moved in. Money-makers paved over paradise and put up an ecommerce store. The effects of the new e-conomy appear in both the profit and loss columns. On the plus side: far more features, services and a more connected internet lifestyle. It is easily imaginable that you could run your life on the internet – bank your money, and spend it on food, clothes, holidays, pensions and Buffy DVDs without ever leaving your chair. In the other column, the monetisation of the internet has led to spam, pop-ups and, indirectly, to phishing scams and many Nigerians finding it difficult to inform people of legitimate investment opportunities. In a darker, less visible way, it has also altered the objectives of proprietary software developers. Many commercial companies have been guilty of including features or selecting
default options that benefit the company more than the end user. Marketing data is very valuable, so valuable that in many cases it’s profitable to develop and distribute software for the sole purpose of harvesting it. Such ‘spyware’ can be downright criminal, but even the more innocuous examples give pause for thought. Back in 2000, Netscape caused a stir when users noticed that the SmartDownload file-downloading utility issued each install with a unique ID and communicated back to Netscape details of every file that the user downloaded. There was no alert dialog to tell the user it was sending secret information on their surfing habits back to base – the software just called home whenever it liked. Of course, the user had accepted such an arrangement in the small print of the licensing agreement when installing it. And everybody reads that, don’t they? Whether or not you mind your data being harvested, such situations foster distrust between the user and software providers. There is a sense of ‘caveat emptor’ when installing new software – ironically this is especially true if it’s
HOW FIREFOX CAME TO BE (continued: July 1994–June1997)
Unix Mosaic developer Jamie Zawinski, during a brainstorming session to find a new name, blurts out a suggestion of “Mozilla!” – supposedly a (very) loose amalgam of Mosaic and NCSA.
Mosaic Communications Corp releases a web browser called Mosaic Netscape 0.9, an ‘Internet Navigator optimised for 14.4 modems’, including X, Microsoft Windows and Mac versions.
After a protracted lawsuit with Andreessen’s previous institution, the University of Illinois, Mosaic Communications changes its name to Netscape, and its browser is renamed Netscape Navigator.
Netscape1.1 is released. A milestone in web browsing, it offers support for tables and many other new attributes. This, and the later 1.2 release pushes Netscape’s browser market share to more than 80%.
LXF66 MAY 2005
16/3/05 12:30:46 pm
FIREFOX TAKE BACK THE WEB
FIREFOX INTO THE FUTURE Developers are already working towards the next major release: Firefox 2.0. But it’s not a one-step hop from 1.0 to 2.0. Instead, they’ve split the transition into three bite-sized chunks: 1.1, codenamed Deer Park; 1.5 codenamed The Ocho (see the film Dodgeball to get this obscure reference); and 2.0. Thanks to the long test cycle of Firefox preview releases, the Gecko build inside Firefox1.0 is out of date. But that’s changing – 1.1 will resync with the Mozilla tree, bringing in the rendering fixes and tweaks made since Firefox1.0 was stabilised. For web developers, this includes big changes like the inclusion of CSS 3 columns and cursors, but most of us will probably notice that the infamous Slashdot rendering bug is fixed – hurrah! One minor change expected in 1.1 is more support for the Gnome human interface guidelines, resulting in smoother integration between browser and desktop. In 1.0, changing your Gnome theme while Firefox is running will update everything but Firefox – this is fixed in 1.1.
September 1995 Microsoft bundles Internet Explorer 1.0 with its Windows 95 Plus Pack. While IE is still technically inferior to Navigator, bundling free software with commercial packages draws the line of battle for the coming of the Browser Wars.
FIREFOX TIP: RENDERING
A key target for developers in future is adding per-site customisation options, which should allow us to save user agent settings, cookie options and security levels that depend on which URL is open.
Firefox pauses for a quarter of a second before drawing web content, but you can override that and force it draw content immediately. To do this, enter about:config into the location bar, and look for the nglayout. initialpaint.delay setting. If it’s not there, right-click and select New > Integer, and give it that name. The default value is 250 (milliseconds), but you can set it to 0 to make Firefox feel much snappier.
Resist... you must resist Following on from previous Firefox releases, one thing we’re sure isn’t going to change is Firefox’s resistance of extensions. Where other browsers sling features into the main code, Firefox has consistently remained thin and light, with any feature additions coming in the form of extensions. If anything, this process is going to be tightened as extensions are given more control over the browser without increasing the initial browser download size. Although no official dates are available, we expect Firefox1.1 to be available by the time you read this, with 1.5 approaching its first developer preview (alpha) release. The race is now on to ensure that the thrust behind
Users may berate the laxness of Internet Explorer when it comes to ActiveX, but at least Microsoft seems to be trying to put the users’ needs first. It is possible for proprietary developers to make the right decisions. Blake Ross agrees: “Google is involved in ‘important stuff’ like writing a search engine, and has emphatically spoken out against pop-up ads on its website,” he points out. “Google and other thriving companies have figured out that earning users’ trust will eventually lead to far greater revenues than anything a pop-up could rake in.”
4 It’s focused Historically, open source software projects have started from the ‘scratch
Firefox continues – the Spread Firefox team and the advert that they placed in the New York Times in December have given the browser a good public profile, and it must not be allowed to slip. This is the open source software’s best chance to liberate the world from the insecurity of Internet Explorer, which means it’s imperative that Firefox1.1 comes out quickly to keep up the pace – and raise the pressure.
your own itch’ scenario. A user wants a particular application, but finds that none is available or that none works in quite the way required. So the user, with some programming ability, creates an application themselves and releases it into the wild. If it fulfils a more general need others will begin using it and perhaps contributing to it. Over time, these projects attract a great deal of momentum and contributors. Usually this will lead to more features being added and more complex software applications, which can hopefully serve more general needs. Often though, it can lead to a whole load of features that nobody really needs, but which developers think are cool.
As you browse around the web, Firefox keeps track of all the sites you visit. This helps when you visit the same sites repeatedly in the same session, but also means others can follow your footsteps later on. If you don’t want this to happen, look in the .mozilla/firefox directory in your home directory, and you’ll see a directory named xxxxxxxx.default (eg wqye4sug.default). Go in there, type ‘rm –f history.dat’, then restart Firefox – this deletes your history, then has Firefox recreate a blank file. Close it again without doing anything, then type ‘chmod 444 history.dat’ to make it read-only. Now any URLs you visit with Firefox will be forgotten as soon as you close your browser!
Netscape releases Navigator 3.0. New to this version are multi-column text, horizontal and vertical spacing, strikeout and and table cell background colours. New plug-ins are supported, including Apple’s QuickTime.
Netscape releases Communicator version 4. This version supports most of CSS 1.1, and introduces Layers for the first time. Communicator not only includes the browser, but also an email and news client.
FIREFOX TIP: HIDE YOUR HISTORY
LXF66 MAY 2005
16/3/05 12:30:49 pm
FIREFOX TAKE BACK THE WEB
FIREFOX EXTENSIONS Firefox is purposely plain. But if you’re after more features, here’s how to add them Blake Ross wrote Firefox to avoid the creep of new features that was bogging down Mozilla. As a result, using the browser can be a rather spartan experience, but Ross and his developers have made sure that you can add functionality easily through what they call extensions. Extensions are installed and managed through their own window – accessed within Firefox from the Tools menu – and the easiest way to install them is by simply clicking on Get More Extensions. When a new version of Firefox is released all the installed extensions can be updated in a single stroke from the same window. Firefox’s extensions page is at update. mozilla.org, along with other recent updates. Installation is usually as simple as clicking on the link, with Firefox’s extension manager automatically handling the details. After download, most require a complete restart of the browser (including the download manager). You can acceess options pertinent to each extension from the Tools menu, or directly from the Extensions window.
Ad-free web browsing
FIREFOX TIP: HTTP PIPELINING Send your network performance through the roof by enabling HTTP pipelining, a neat trick that allows Firefox to request multiple files simultaneously. about:config comes to our rescue – set network.http.pipelining to true, and you can also enable network.http. proxy.pipelining while you’re there.
Top of the list when it comes to extension must-haves is Adblock. While this may annoy advertisers and jeopardise the continuing existence of many ‘free’ websites, there’s no doubt
>> Mozilla itself is a notable example
of this (see Firefox Extensions box, above). The original Netscape code attempted to create a suite of applications. As well as the browser, there was an email client, which doubled as a newsreader too. So far, so reasonable. Then came Composer, a web-layout tool. In some ways, because of economies of sharing code,
Firefox can be customised to feel like a completely different browser. it gives you more control. Once installed, Adblock makes itself known via a small box in the lower right of the main window. Clicking on this presents you with a list of items on the current page that it’s possible to block. Adverts are
usually obvious, either by their file extension (.swf for Flash for example) or their domain. Adblock also places a small tab into the rendered page that, when clicked, allows you to remove the offending advertisement directly.
this made sense to the developers – but did it make sense to users? A far lesser proportion of web users now have any need for a visual HTML composer, but because the idea was there already, it was hard to imagine leaving it out. The initial Mozilla release approached 30 million lines of code: impressive, but a bit of a worry – the
kernel for Linux comes in at under 5 million lines. The size of the software wouldn’t be an issue if it weren’t for the fact that much of it is for non-core functionality. In a clear example of the Pareto principle, 80% of users may need only 20% of the features. There is also a tendency in open source for the existing code to be extended and ‘made better’ by
HOW FIREFOX CAME TO BE (continued: October 1997–August 2002)
Internet Explorer 4.0 is released. Despite IE playing catch-up to Navigator over the previous 18 months, this release marks the start of its domination of the marketplace.
Facing annihilation at the hands of Microsoft’s bundled browser, Netscape makes the decision to release Navigator for free. This includes the binary code, as well as most of the code-base under an open-source licence.
An early development snapshot of Netscape Communicator is released as source code to the recently-founded Mozilla Organisation. Developers are encouraged to download the code (8MB) and post their own enhancements.
Netscape Communications announces a new browser rendering engine, initially named Raptor. In what will become a theme for Mozilla, this name is already taken – it opts for the more lizardy (and geekier-sounding) Gecko instead.
LXF66 MAY 2005
16/3/05 12:30:53 pm
FIREFOX TAKE BACK THE WEB
it makes a lot of sense to integrate Gmail directly, and that’s exactly what the Gmail Notifier extension does. This great little tool sits in the status bar and simply informs you of any outstanding Gmail messages. Clicking on the little red envelope opens a Gmail session under a new tab, quickly giving access to all that spam.
Firefox’s extension manager. Drawing shapes with the mouse to control a browser (rather than clicking buttons on the GUI) was considered too esoteric for the main Firefox release, but this power is easily installed using the All-In-One Gestures extension. Basic gestures include forward, backward and reload, but there are also more advanced gestures such as tab switching, scrolling and font sizes. New gestures can be added manually by drawing the corresponding action on to a canvas, and once you get used to them it’s difficult to go back to buttons. You know Gmail has reached critical mass when there’s more than a dozen ways of managing your inbox. As Firefox is probably the default browser for accessing Gmail (especially for KDE users)
developers, which usually results in it getting longer as team-based contribution exercises are generally additive rather than reductive. The whole Mozilla team have recognised this problem, and there are efforts within the Mozilla developer community to address it. The current roadmap exhorts programmers: “Tinderbox now measures code footprint,
Other extensions worthy of a mention include: ■ Download Status Bar, which lets you see the status of downloading files without having to resort to the external window. ■ User Agent Switcher changes the browser identifier sent to a site, often providing access to stubborn locations such as online banks that insist on a certain browser. ■ Translate performs BabelFish magic. ■ MediaPlayerConnectivity allows you to open embedded media content with a configurable external program – a great way of avoiding those terribly constrained RealPlayer windows. Best of the bunch, though, is the ScrapBook extension. This lets you drag highlighted clips from a web page into the side bar for later reference. The clips includes text and images, along with a link to the original source, and can become irreplaceable.
of them initially and they had a clear idea of where they wanted to go. Blake Ross admits: “A major problem with the old Mozilla software was that literally dozens of people influenced the product’s direction. That just doesn’t scale.”
5 It puts users first Who is software for? It’s a question that the Firefox developers have constantly asked themselves. They’d say it’s for the user, but in proprietary development, there are obvious compromises to be made. For one, the
Although the <b> and <i> HTML tags get our goat (use semantic tags, dammit), they are mere bagatelles compared with <blink> – the evil horror that makes text and other elements flash on the page. Fortunately, Firefox users can disable this through about:config – just look for browser.blink_allowed and set it to false, and your eyeballs need never be scalded again!
“USABILITY IS MORE IMPORTANT THAN FUNCTIONALITY.”
business itself needs to be maintained, which is still the case even when proprietary software is delivered for free. There is an incentive to put the business aims before those of the user. Even in the arena of open source, the end user is not the focal point of all development. Ask the average developer what makes them devote so much time and energy to coding, and creating usable applications with a wide appeal isn’t likely to be their top reason. It’s natural to want to do more so let’s start working to reduce it rather – to do more complicated things, to than increase it. Resist the all-toosatisfy the code equivalent of common tendency to add more code. machismo by doing hard things, Try to remove code, simplify oversometimes in an obscure but complicated code [and] undo essentially cunning way. For software premature optimisations.” that’s going to be used by people of In retrospect, the decision of the same mindset, this isn’t so much of Firefox’s developers to split off and a problem. But to switch over into broad work on a minimised browser probably mainstream use, usability is more succeeded because there were so few
FIREFOX TIP: RESIZE FRAMES Page frames can be a boon to site usability, but we froth at the mouse when inconsiderate programmers force them to a specific width – we have big monitors for a reason and don’t want 120-pixel width restrictions, thankyou-so-very-much. Firefox comes to the rescue. Look in about:config and set layout.frames.force_resizability to true – and breath a sigh of relief.
AOL buys Netscape for $4.2 billion. There are worries that this could signal the end of Netscape’s quirky Gecko project, but AOL remains committed to financing Mozilla.org despite having no plans to switch from using IE.
After a three-year hiatus, Netscape 6.0 is released. Based on the Mozilla 0.6 branch, it’s a total failure – thanks to the terrible UI, awful page rendering and stability that would make Cristiano Ronaldo look like a mountain goat.
Disillusioned by Mozilla’s bloated and feature-rich direction, developers Blake Ross and David Hyatt take a partial fork of the Mozilla code base. They intend to build a lean browser with a lasersharp focus on the user.
FIREFOX TIP: DISABLE BLINK
LXF66 MAY 2005
16/3/05 12:30:57 pm
FIREFOX TAKE BACK THE WEB
users, not control them.” It’s not important than functionality, Two browsers showing the same site. You can’t tell the difference in isolated in a development bubble: something emphasised by Blake Ross. speed from a static picture, but you “The key to Firefox’s success is simplicity. Firefox knows what users want and can see the extra complexity of the puts them first. So it’s hello tabbed I can’t stress that enough. Software example on the left, the beta browsing, live bookmarks and Google developers seem to be stuck in an version of Netscape Browser 8.0. What are all the buttons for? We endless search for ‘the next big feature’. Search in the toolbar. used it for a few hours and still With Firefox, we zoom in on each and can’t tell you. Firefox, on the every part of the product, reworking right, is simple enough for your granny to use. Firefox is a well-conceived idea, and refining and tweaking it until it’s developed properly with an eye on just right for mom and dad. All these security, restraint when it comes to new little things add up to a superb overall features and sole consideration for the experience, and that’s the big feature.” end user. Are its five ‘secrets’ really So ‘Taking back the web’ isn’t just a enough to account for its revolutionary catchy slogan for Firefox, there are success? “Unfortunately, yes,” says Ross. some real issues at the heart of it, as “I say “unfortunately” because there Blake explains: “Back when we shouldn’t be anything revolutionary worked at Netscape, we read the feedback that users submitted almost Once you make the switch to obsessively, and a common thread tabbed browsing, having multiple emerged: people complained that browser windows open becomes a bad For more information about Firefox, they’d lost all control of their browsing memory. But how can you make the check out the home page at experience and were now at the whim most of your screen real estate? With www.mozilla.org/products/firefox and Firefox, the answer is simple: tap F11 of pop-up ads and spyware and other advocacy site www.spreadfirefox.com. to switch to Full Screen mode. Firefox annoyances. They were spending more will take up – surprise, surprise – the time fighting with the web than using it Blake Ross is a founder of the Firefox whole screen, getting rid of the team and an all-round nice guy. Catch to get stuff done. window decoration at the top and also up with his life and thoughts at “This seemed backwards to us: any menu bars you have at the bottom. www.blakeross.com. technology is supposed to empower
FIREFOX TIP: MAXIMISE
about the Firefox model: ease of use and simplicity should be the driving principles of any software project, open source or not. I think Firefox is making waves because it’s the first open-source product to really dive headfirst into the consumer pool, and I hope our success is a signal to the rest of the community that they can come on in, the water’s fine.” So a consumer-friendly model can work in open source. Perhaps it’s the movement’s best chance of winning mainstream acceptance. “The era of ‘by geeks for geeks’ software development is over,” says Ross. “Open source can play in the big leagues.” LXF
Eric Meyer is a leading expert on CSS, principal consultant at Complex Spiral and the author of several excellent books. Check out his homepage, www.meyerweb.com. Read exclusive full interviews with Blake Ross and Eric Meyer on our relaunched website, www.linuxformat.co.uk.
HOW FIREFOX CAME TO BE (continued: September 2002–November 2004)
First binary release of the forked project, named Phoenix, version 0.1. According to the release notes, the browser’s features include a customisable toolbar, a quick search facility (for bookmarks and history) and speed, speed, speed.
Trademark issues force the team to change the name of the project to Firebird. This name is used for the following month’s 0.6 release, which features smooth scrolling and automatic image resizing.
Following further problems with a free database called Firebird, the project makes its final name change to Firefox. This is followed with the 0.8 milestone release, now with Windows installer and download manager.
Official release of version 1.0 of the Firefox browser. The volunteer advocacy group Spread Firefox takes out a two-page ad in the New York Times to publicise the launch.
LXF66 MAY 2005
16/3/05 12:31:00 pm