X

Unearthing the origins of Firefox

Firefox lead engineer Ben Goodger explains the behind-the-scenes decisions leading to the release of this increasingly popular alternative to Microsoft's Internet Explorer browser.

Paul Festa Staff Writer, CNET News.com
Paul Festa
covers browser development and Web standards.
Paul Festa
9 min read

Only 14 years old when the Netscape browser was first released in 1994, Ben Goodger is leading a key effort to preserve that browser's legacy.

Goodger, a native of Auckland, New Zealand, has spent most of the past four years working for AOL's Netscape division and then at the Mozilla Foundation AOL spun off last year to oversee the open-source development of the Mozilla and Firefox browsers.

As the Web observes the 10th anniversary of the first public release of the Netscape browser, Goodger finds himself the lead engineer for Firefox, widely seen as Mozilla's best browser yet and an increasingly popular alternative to Microsoft's dominant Internet Explorer.

Q: How did you originally get involved with Netscape?
A: I had been involved in the Mozilla open-source effort beforehand, and some folks at Netscape noticed what I was doing and thought it was good enough that they offered me a job.

What sort of work were you doing?
After Netscape decided to redesign the browser to use the more standards-compliant Gecko layout engine, they also began redeveloping the user interface. In 1999, it was very basic--just enough to be able to browse Web pages but not very polished. Seeing how most energies were being focused on getting basic functionality to work, I focused my initial volunteer efforts on user interface polish as I learned the user interface programming technologies being used. But eventually, I began to plan new features.

For the sake of us who may be rusty on our Mozilla history, how was the group redesigning the browser in 1999?
Netscape open-sourced its Communicator source code in 1998, in an effort to "harness the power of thousands of open-source coders around the world."

In the words of Mozilla founding engineer Brendan Eich, "The browser is back--Longhorn is irrelevant in a Web application world."
But as the product being developed (Communicator 5.0) neared completion, an activist group for Web developers known as the Web Standards Project lobbied Netscape to stop developing its older, less-compliant layout engine (used in 4.0 and improved for 5.0, and dubbed "Mariner") and replace it with a newer standards-compliant one called Gecko. After some deliberation, Netscape decided to do this.

Unfortunately the separation in code between the old layout engine and the old browser user interface wasn't exactly clean, so moving to Gecko involved a complete browser rewrite--from the ground up, in most cases, with only a few things carried over, like JavaScript.

The switch (from Mariner to Gecko) was Oct. 26, 1998. At that point, everyone working at Netscape on 5.0 was moved over to the new "XPFE" (Cross Platform Front End), XUL (Extensible User Interface Language) was born, the long road to Netscape 6 began, and the rest is history.

How does XUL facilitate the production of browsers?
XUL is a way of describing user interfaces in XML. In the same way you make Web pages by writing HTML tags, you can write applications based on Mozilla by writing XUL tags for things like menus, toolbars, buttons, etc. ...So you end up, for the most part, writing a XUL file once and having it look the same everywhere.

So the idea was that perhaps these Web markup languages would wind up supplanting the heavy-duty computer programming languages when it came to writing applications. To what degree has that come to pass?
In general, the idea seems like a good one.

In many ways, Mozilla's vision today of the browser is similar to the original Netscape goals of creating a useful browser.
Microsoft clearly thinks so--it is making XAML one of the core pieces of Longhorn. XAML (Extensible Application Markup Language) resembles XUL in that it is an XML markup for generating chrome, though the methods by which it does so are somewhat different.

How does Mozilla compete in a Longhorn world--assuming that it ever gets here?
At this point, we have better GNOME OS integration. Firefox fits better in with the GNOME (GNU Network Object Model Environment) desktop now than ever. We have native look-and-feel menus, default browser integration, and more.

But is there now a concerted collaboration between GNOME and Mozilla?
There's no concerted collaboration between GNOME and Mozilla, at this point. There is a collaboration at the level of embedding the Gecko layout engine itself, and our maintaining our embedding APIs (application program interfaces) to allow them to do that.

Is that going to be enough to compete against Longhorn, with its grand plans for operating system-browser integration?
We think we'll be able to hold our own. We're redeveloping our graphics systems, for example, to better take advantage of hardware acceleration and newer features.

You seem pretty casual about Longhorn. Is that because Microsoft is so far behind on its deadlines, or because you think the standalone browser is going to prevail, even in a Longhorn world?
Longhorn is going to be a difficult thing for Microsoft to sell. It (will) not run well on older hardware--which companies have lots of. It's going to be expensive to tell companies that they need to update to the newest version of Windows for X amount of dollars, and upgrade their hardware as well, just to run applications they already have older versions of.

Still, before too many years, Longhorn should still be making an impact. Even now, companies are producing XAML applications.
There aren't nearly as many companies producing XAML applications as there are building Web applications. In the words of Mozilla founding engineer Brendan Eich, "The browser is back--Longhorn is irrelevant in a Web application world."

Tell me how Microsoft's decision not to release any more standalone IE versions affects Mozilla.
It makes it clear to people that if they want to see their online experience improved in significant ways, they're not going to get them from Microsoft. We're one of the alternatives--and it helps that we're free.

Here's a question coming from your blog. "Sept. 17, 2004, Market Dominance: Netscape had it by being first. Microsoft has it by being everywhere. Firefox will have it by being best. We're coming." Do you really expect market dominance? Even if Firefox lives up to its buzz, isn't dominance a pipe dream? Most people just won't download a browser. Or will they?
We don't know--but you have to aim big. Otherwise, why even try? It's time for open-source software--good open-source software--to be proud of itself, set its sights on the big leagues and get out there and try and get as much out of it as possible. You don't get there by aiming for 5 percent or 10 percent.

OK, going back to our ancient history for a minute, when (Netscape principal engineer Ramanathan) Guha first spoke to CNET News.com about Mozilla.org way back in 1998, he talked about the idea of making a browser with small footprints that you could modularize so that it could be used with a variety of non-PC devices. Only now are we seeing work being taken seriously--specifically by Nokia--in the case of the Minimo project. What took so long?
Footprint and performance have long been priorities for the Mozilla project. You, no doubt, remember Netscape 6. It wasn't a particularly small, fast browser.

Right--and neither was Mozilla 1.0. Why did that goal elude Mozilla for so long, and why has the project seemed to finally grasp it with Firefox? What changed?
Footprint and performance work has been ongoing over the past few years, in fact--it just doesn't manifest itself readily to the user, especially not when they're using the "same old suite."

With Firefox, we went back and re-evaluated some of the ways we have been developing XUL applications, and took steps to make the application UI itself load faster to better leverage improvements that had been made to Gecko. Minimo, having very little UI at all, benefits further.

So those were the most consequential changes?
I would say that the footprint and performance work done by AOL and others in 2001, 2002 and 2003, and a lot of the work done optimizing the Firefox front end, were the major reasons why Firefox is faster and smaller today than previous releases of Mozilla and Netscape.

What's the best thing that AOL did, as a parent company, to benefit Mozilla?
Have people work on it. I don't mean to imply by that that they should hire Netscape back and have everyone there work on it again. The people at Netscape/AOL got a lot of stuff done in a small amount of time, and that's an immense contribution. We're now able to reap some of the rewards.

Are you sorry they spun you off? Are there concerns about the foundation's solvency?
No concerns on the solvency front. Not sorry they spun us off--it's given me more time to work on Firefox.

How much time do you spend looking at competing open-source browsers? What have you learned from KHTML/Konqueror? As an open-source project, are you free to use each other's technology outright? Do you?
It depends on licensing. You can only use code if you are happy/compatible with the license under which it is released. For example, we're looking at using Cairo, a high-performance 2D graphics layer. Cairo has been relicensed under the MPL/LGPL dual license, which allows us to more easily make use of it.

I keep tabs on competitors, but not just competing software--other types of software--that might be doing new and interesting things.

Some people say Firefox has a better security reputation than IE only because it doesn't have enough market share to attract the attention of bug hunters and malicious hackers. Is that a fair estimation of the difference between Firefox and IE?
No. Firefox is better designed in a number of ways--we have no "mode" that allows untrusted content to be executed automatically, for example--no "safe zone."

Another reason: Market share does not predict security. Apache has more market share than has Microsoft IIS, which has more holes than Apache.

What are some other things about Firefox that you think make it inherently safer?
We try to make you more aware of the security level you're browsing at so you don't go and buy something through a nonsecured site, for example.
You have to aim big. Otherwise, why even try? You don't get there by aiming for 5 percent or 10 percent.
And the additional scrutiny that comes from a community (e.g. Jesse Ruderman/Georgi Guninski) of people focused on identifying and fixing any problems that might arise. A community that is possible for anyone to join by virtue of our being open source.

What are your ultimate goals with the Mozilla Foundation? Mozilla PR always says it's to maintain choice on the Web, but is there more to it?
My personal goals? Make the best software I can--something that is genuinely useful to as many people as possible.

And your view of the foundation's goals?
The whole "maintain choice and innovation" goal is one thing--but to be a real viable choice, you have to work hard for it. The foundation wants to see a successful Aviary release (Aviary is our nickname for Firefox plus Thunderbird) and to further its platform goals.

When did you first start using the Netscape browser?
1997. I used IE before that, since that's what was available on the machines I had. I switched back to IE in 1999 and continued to use it until Mozilla/Netscape became stable enough to use as a default in 2001. I use the tools that let me get stuff done quickly--no brand affiliation or idolatry.

How is Mozilla's vision of the browser and the browser suite different from what Netscape released 10 years ago?
In many ways, Mozilla's vision today of the browser is similar to the original Netscape goals of creating a useful browser, and our vision moving forward is based on that--a useful browser application, a useful mail application and so on, rather than an all-in-one suite, which is more of a carryover from Netscape's later days. What Netscape did not know in 1994 was the direction the Web was going to take.

With hindsight, we have been able to refine this simple vision into one that allows people to find things more easily through the use of integrated search engines, reducing the annoyances associated with Web browsing, like pop-ups, and using new technology and thinking in usability to improve how people interact with these features and Web content.