Coding Horror

programming and human factors

Buy the Community, Not the Product

Now that Internet Explorer 7.0 is final, the browser wars can begin again in earnest. It's clear that users should upgrade, because IE6 is so ancient. Security concerns alone compel an upgrade. But should IE6 users upgrade to IE7, or should they choose an alternative?

This comment in a web forum recently summed up my feelings nicely:

I have no idea why anyone cares that much about their browser, or why they feel it needs to be some sort of contest. I visit websites, which I consider more important than what I use to view said websites.

I've used IE7 at work and Firefox at home for the last six months or so. They're both modern web browsers. I don't see a big difference between the two. But there are dozens of killer add-ins for Firefox that extend the browser in useful ways. The lack of a viable FlashBlock for IE7 is enough to make me switch.

It's not that Firefox is inherently a better product than IE7. It isn't. But Firefox has a stronger, more vibrant user community, and that ultimately makes it a better product than IE7. Which makes me wonder: is the community around a product more important than the product itself?

Community doesn't happen accidentally. And Microsoft hasn't done much to cultivate community around Internet Explorer 7:

Another area where IE7 has serious shortcomings is with add-ons that give extra features to the browser. Firefox has an incredibly rich community of developers creating extensions, and IE has nothing that comes remotely close to it.

Don't expect much to happen in the way of add-ons for IE7, at least for the foreseeable future. There are several reasons for this. A big one has to do with how add-ons are written. To write an add-on for Internet Explorer, you need to be a C programmer. To write an extension for Firefox, you only need to be able to write a script -- and there are far more people in the world capable of writing scripts than are capable of writing C code.

Microsoft is aware of the problem and says that it hopes to ultimately make it possible to author add-ons via scripting. But there's no timetable for this.

Beyond that is a cultural issue. There is a sizable community of people that believes in open-source as a movement and philosophy, but outside the confines of Microsoft, you won't find a similar community devoted to Microsoft. So you don't have people with the same fervor devoted to writing IE add-ons as you have writing Firefox extensions.

Microsoft doesn't seem to be doing anything to foster an add-on movement, either. The Firefox extension site, for example, is run by the Mozilla Foundation, which plays an integral role in the open-source movement. Microsoft's add-on site, meanwhile, isn't even completely run by Microsoft itself; it's a co-branded download library powered by CNET's Download.com.

It's clear that community support can make or break a product. But popularity can be a curse, too. Dare Obasanjo asks, what happens when your community turns on you?

A number of times while he was speaking, Tim O'Reilly gave the impression that extensions like Greasemonkey are examples of Firefox's superiority as a browser platform. I completely disagree with this notion, and not only because Internet Explorer has Greasemonkey clones like Trixie and Turnabout. The proof is in the fact that the average piece of Windows spyware actually consists of most of the core functionality of Greasemonkey. The big difference is that Firefox has a community of web developers and hobbyists who build cool applications for it while most of the folks extending Internet Explorer in the Windows world are writing spyware and other kinds of malware.

It'll be interesting to see if the Firefox community can avoid this pitfall as Firefox gains in popularity. But the benefits of a strong community are worth the risk; it's enough to make the choice between IE7 and Firefox a meaningful one.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror