I'm here at the Webstock conference in Wellington, New Zealand. I'm live-blogging the presentation of Ben Goodger, the Lead Engineer on Firefox who also works for Google. His presentation is titled: Firefox: Success and Challenges. It'll be interesting to compare his talk to one later in the day from Tony Chor, Group Program Manager of Microsoft's Internet Explorer team. It's an excellent speaker list here at Webstock - next up after Ben's speech is one from Andreas Gigardet, an analysis of the struggle between Closed and Open Source Software and the development of the Web.
To Ben's speech now... he is of course a New Zealander (as am I), so to become the lead engineer on Firefox is a huge accomplishment for someone from this side of the world. He starts by talking about the origins of Firefox. In late 1997/early 1998 Netscape was in trouble. They were shipping Netscape 4 and tidying a new version (Netscape 5). During 94-98 web technology developed rapidly, but Netscape was facing "stiff competition" (from guess who!). "Microsoft did an excellent job of keeping Netscape honest", says Ben in a master understatement!
In 98 Netscape decided to distribute Communicator for free and give away the source code to Netscape 5. The idea behind that was to get software developers interested in web tech to contribute - fix bugs, etc. Also Netscape did it for good PR. At the time the press was creating a big battle between the browsers. Mozilla started as a group within Netscape, to provide infrastructure and handle admin. Things were going slowly initially in terms of volunteers, but the software continued to develop. It was clear by end of 98 that the new browser was "light years ahead of Netscape 4", but "still it wasn't the best foundation to build a future browser". So towards the end of 98 the decision was made to switch from Netscape 5 code base to a new one, Gecko. This meant they had to start from scratch, so it was very risky. It cost them a couple of years, but ultimately the new code base was very successful.
A lot more volunteers came on board over the next few years. But for Netscape itself, a "new generation "bubble" company gone traditional" is how Ben described their transformation. "Their hiring bar had lowered quite a lot". So people with not much interest in open source were now too populous in Netscape. "The browser was changing, but the volunteers [...] weren't getting a sense they were involved", said Ben. Volunteers felt decisions were being made behind the scenes - internal dysfunction, micromanagement, etc. Execs told them "ship or be fired".
At the same time, Netscape was convinced they had to release a suite of products (Communicator Suite). "Getting all these things to work right was a daunting task". This was circa 2000. While the volunteers hoped the product they released "wouldn't suck", unfortunately it was "not a very good product" - it crashed, was unstable, etc. "Many people who had a lot of hopes for the Mozilla product now became very disillusioned." Over the next few years improvements were made, so "the browser became a lot more solid". But at the same time the marketing type people in Netscape continued to meddle - wanting advertising, pop-up blocking disabled, etc. "Netscape became the walking dead"!
I'm getting a sense Ben doesn't like business and marketing management :-)
In 2001/02 "a bunch of us began looking at new ideas" for browsers. A couple of these went on to become successful - including of course Firefox. Firefox shipped Nov 9, 2004. They've had 177 M downloads, including 10 M downloads in ten days when they launched. 12-25% market share (12% is avg consumer figure). The most successful browser since IE.
One of the pillars of success is Product Focus. Think about users - "duh!" (that's Ben's quote not mine!). Less is more - "feature for feature Firefox is very similar to the suite it replaced", but not so many turned on by default. Tear down, then build up. Also mentioned Extension API. Also the Firefox developers tried to "empathize" with users - mass market. The Application Suite, which had become a hodgepodge of solutions, was made more usable to normal people. They had criticisms of "dumbing down" Firefox, that "this sucks for advanced users". Their approach was there are very intelligent people out there, but even they "just want the browser to work" - calls this localized expertise.
Detail is important, but it's not pixie dust. Must be an integral part of the design. Case study: feed preview. In Firefox 1.x rendered feed as XML. In 1.5 feedview had trouble. In Firefox 2 "improved user experience, architecture". Getting the details right: Location Bar and View Source.
Being ambitious was another important thing - qst all assumptions, don't be conservative, etc. But also be realistic - e.g. they had to tighten back on features in order to ship by Nov 04. They threw the bookmarks and history overboard, also the Update System. Ben came to regret leaving out Update System in the initial release. They achieved "critical mass of stability, compatibility and performance" by Nov 04. Important lesson: it is good to ship. People can and will use useful and decent quality software, even if some features are missing.
End Game Project Management: nothing is ever perfect, so they prioritised the bugs based on their impact "on real people". Just don't ship another Netscape 6, says Ben. Provide meaningful updates - normal is 3-4 month release cycle, but users need motivation to upgrade though. They're currently on a 12 month cycle, which creates excitement for users - and developers (more ambitious features). Case study of Places - wanted to release in Firefox 2, but it's been saved for Firefox 3 so they can focus on fixing bugs, other features etc.
Open source pros: most of the current Firefox development team started off as volunteers. Mozilla open source "got off to a slow start", but as the software has matured more people have joined. Mozilla today has many diverse communities - developers, testers, localizers, tech writers, marketers.
Managing growth: "Netscape in 1994 looks pretty similar to us" - will Firefox's fate be similar? Ben doesn't think so, but doesn't want them to become complacent. They'll continued to focus on their ideals, not be distracted by what the competition is doing. They don't have closed decisions and want to encourage 'lurkers' - make it easy for them to contribute if they want to.
Focus on Mozilla project has been on standards last few years, but "implement proprietary extensions when there is a tangible compatibility win".
Coming in Firefox 3 - gecko bug fixes, improved table layout, prospect of Acid2, improved DHTML, new graphics architecture.
Overall very impressive speech from Ben and Firefox development is in excellent hands with him in charge!
Update: my write-up of Tony Chor's presentation (Group Program Manager of Microsoft's Internet Explorer team) is online now.