The Inside Track on Firefox Development.

« Blood On My Hands | Main | Mozilla Firebird 0.7 Heats Up »

July 2, 2003

The Start of Something New

cls writes, "the focus [of Firebird's development] seems to be on end-users and, as an after thought, web developers."

My claim is that without an end-user product, you will have no users for web developers to develop for.

Mozilla's initial purpose was not to create and release end user products. Netscape has wanted to minimize its burden when turning Mozilla code into releasable end user products. As a result, Netscape has tried to encourage the Mozilla Seamonkey product to align with its definition of a consumer product. No company is perfect, and the combination of lack of module ownership and corporate fancies has led, by default, to the Seamonkey application suite. Thus, that the Seamonkey suite ended up featuring a UI of such enormous complexity that only the ninety-ninth percentile could truly love it should not be taken as an indiciation that it was meant to be that way.

User Interface is an interesting thing. Everyone thinks they can do it, but the sorry truth is they can't. User Interface is one of toughest areas of application design, requiring intuition or at least experience. Most people working on Mozilla, even seasoned Gecko hackers, have neither. To create an end user browser, you need to have it be designed and implemented by people with skills in that area, with minimal factional interference. I say implementation because it is rare to find a UI specification that describes functional behaviour in sufficient detail to identify every possible interaction sequence and its appropriate response. Given that constraint, the safest way to develop UI is to leave implementation to those with experience/intuition in design, as the odds are better that they understand application GUI design standards for the platform and will use that understanding to plug the holes in the specification in a reasonable fashion.

Unlike what many developers (especially those from a Unix environment) believe, good UI is not simply a collection of buttons, menus and other visual objects scattered amply in an almost logical fashion into windows. Developing GUI like that can create applications so bad (confusing, ambiguous, just plain incorrect) that command line tools are often a better choice. This is where many Linux desktop environments have fallen down, and why Apple Macintosh and Microsoft Windows have succeeded.

Some are suggesting that Firebird is not useful as a development tool. We are painfully aware of the lack of DOM Inspector and JS Debugger, partly because of our lack of install mechanism. By the time we go gold, we want to be able to ship with these invaluable components. Barring those tools, I'm not aware of which components we lack in order to support web development. Either we've missed something important (please tell us) and that should go on the 1.0 list - or it's something so specific that it's best handled by a third party extension. Either way, we don't feel we're slamming the door on web developers, on the contrary, we think that by 1.0 we'll offer the best development platform around.

We have wanted this for a long time. For years, in fact. We are proud of Firebird, we have aggressive plans for developing and marketing it. We feel Mozilla has wallowed in the shadows of obscurity and irrelevance for too long, and are actively working towards a future where we present a viable alternative browser for millions of computer users around the world.

Posted by ben at July 2, 2003 4:52 PM

Comments

Do you think that a copy of IE's UI is the best solution for all problems ?

Posted by: Monk at July 2, 2003 9:43 PM

That's a ridiculous statement. It uses a few things that have become platform conventions from Windows and IE (Tools,Options) and Windows browsers in general (IE, Opera) but is has more unique aspects than similarities.

That said, I don't really consider it too harmful to fall back on IE behaviour in places since that's what over 90% of web users are accustomed to these days.

Posted by: Ben at July 2, 2003 9:57 PM

being able to look at tinderbox sidebar is for me a minimum requirement for a browser that I would use daily.

Error: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIRDFContainer.Init]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: file:///C:/PROGRAMME/MOZILLAFIREBIRD/components/nsSidebar.js :: anonymous :: line 138" data: no]
Source File: file:///C:/PROGRAMME/MOZILLAFIREBIRD/components/nsSidebar.js
Line: 138

In other words, while fb is fine for my wife, the "known issues" prevent me from using it. I am simply a fan of the integrated UI, where things work.

Posted by: bernd at July 2, 2003 11:43 PM

Work is being done on a new implimentation of the Sidebar, so lack of sidebars shouldn't be an issue once it is ready.

Posted by: Chris at July 3, 2003 6:20 AM

So who's going to be doing this marketing? Netscape?

Posted by: Jeff at July 3, 2003 6:23 PM

Jeff, open source projects don't *have* to rely on commercial companies to do their marketing. As you start to attract increasing numbers of end users you also attract increasing numbers of non programmers who want to give something back. Or at least we found this over at OpenOffice.org.

Posted by: Jeff at July 4, 2003 3:15 AM

[quote]Developing GUI like that can create applications so bad (confusing, ambiguous, just plain incorrect) that command line tools are often a better choice.[/quote]

So true. I only use a handful of Linux gui tools for this reason, and of those I only like the UI of Firebird, Thunderbird and Gaim. Although things have started getting better.

Posted by: Hampton at July 5, 2003 11:39 AM