Saturday, June 19, 2004

mozilla stuff

via /.:

scott collins, one of the old timers at netscape and a current evangelist for mozilla does an interview with ars technica.

he starts off by talking about microsoft:

It's not going to be that somebody else actually knows better, because Microsoft actually does have a pretty good idea of what one generalized virtual person wants. But I think in the new world it's not about one big program to solve everybody's needs, it's about a zillion tiny programs all stuck together. Stuck together one way for you, stuck together another way for me that do the right thing. I think people are becoming savvy enough where they don't want a general program, they want something customized, they want a software kit that does what they want. Maybe if you're a business, it's not that every employee has a software kit, but maybe you are willing to spend to have two IT guys take an existing software kit and make it exactly what your business needs.

i kinda don't agree with this one. it's not that i think microsoft software's good, but as a user of emacs, i prefer a monolithic program (of course, an infinitely scriptable one) over a bunch of smaller tools. having a bunch of little tools is good, and i appreciate the unix "pipe" philosophy , but having systems built from small interlocking tools means that i have to actually learn how to use a bunch of different tools. emacs lets you learn one thing, and then customize the hell out of it, which i really really appreciate. both solutions have the same goal, creating a system tailored to individual usage patterns, but the emacs-way (so to speak) is better in my opinion. in fact, i wish mozilla was more emacs like almost every day.

he then goes on to talk about mistakes netscape made:

Ars: You mention mistakes made by Microsoft. What do you feel are mistakes that Mozilla has made in the past?

One: There was a fundamental mistake made by Netscape management, twice, which cost us a release at the most inopportune time. I think we can attribute a great deal of our market share loss to this mistake that was pretty much based completely on lies from one executive, who has since left the company (and left very rich) and who was an impediment to everything that we did.
Two: We made a version of COM, called XPCOM, a fundamental piece of every component of every part of the software. We took COM all the way down to the lowest levels of the system, and I think that XPCOM is a fantastic useful tool. We had great and important places to use it, but we used it too deeply, we allowed it to influence our memory model across the board, and there continue to be costs associated with that which I don't think we need to be paying.
Three: I was the head of the team that fought hard with Netscape management to get a system of XML to define the user interface. I named it the XML User Interface Language, or XUL (pronounced zool). David Hyatt is the primary implementer of it, and one of the ideas that we had is that we would have a cross-platform interface, but that you specify native controls with XUL. It turned out that specifying native controls with XUL was hard. They were limited, and hard to write, and we waited a long time. People kept telling us that Mozilla would never be good until we had the native controls, and we knew they were wrong, it is good without native controls, but boy, people really really want their native controls. And they really rewarded us when we gave them native controls. When we gave them things like Firefox, which looks native on the platforms that its on, and Camino, which is native in OS X. They thought it was fantastic.

We should have used native controls as soon as it was possible, despite of the fact that they're harder to write, because we ended up going that way anyway.

points 2 and 3 seem to be supporting evidence for "worse is better", which is dissapointing. the first point just goes to show that management sucks, which is refreshing.

goes on to obliquely talk about software engineering methodologies and other crap:

Ars: Can you talk a bit about some of the lesser known Mozilla products, like the web tools? Bugzilla is used by a large number of high profile OSS projects, how come isn't marketing these tools as much?

You could probably define the web tools as our primary product in a way. During the great migration away from AOL and Netscape, every engineer that ever worked there took with them Bugzilla, Tinderbox, and the others. . . Once you use Tinderbox, you cannot work on big software without it. You see people working on big software without Tinderbox and you say to them "You guys are idiots! How do you know if your tree builds?" and they always say "Oh, our tree never builds, we know when a guy comes around and tells us when our tree builds."

Something interesting about Netscape: when I first got there, the tree was broken all the time. Every once in a while there was a day where the tree would build, and you pulled on that day. Someone would yell out "The tree is green!" and you would do everything you could to merge your stuff, and then the tree would be broken again, and it would be broken forever. When we wised up and started writing these tools things started to change, and along the way we came up with these cultural and behavioral standards. For instance, when the Tinderbox shows "RED", you don't check in. You don't check in on red. And if you do check in on red, someone will be there to kick your ass, and that person is the sheriff, and they have a sheriff badge and everything. In Code Rush you see Tara walking around with that bat, that was mostly symbolic but her job was to kick ass.

Everybody who checked in since the last freeze is "on the hook," so when the tree burns, everyone who checked in code during that cycle is responsible for fixing the tree. Life got better when there were serious consequences and it got to the point where in the old days everyone just checked in whenever they wanted. In the new days, you would be ashamed to check in something that broke the tree. It would be a big deal when you broke the tree. I checked in stuff that broke the tree on two occasions and the same guy fixed my shit twice, and I went out and bought him a bottle of Shiraz because I was ashamed that I broke the frickin' tree and I was grateful that he fixed it.


Post a Comment

Links to this post:

Create a Link

<< Home