scottandrew.com

Noteworthy

You're currently viewing a very old version of this website. Follow me to the latest version.

-->

The Browser War: Nobody's fault but yours.

November 2000

Author's Note: This piece was originally written in November 2000, soon after the release of Netscape 6 PR2. Since it's release, it's been the topic of much thought-provoking discussion since. A lot changes in two years, however. Web applications have now old news and now Web services are all the rage. And with the impending release of Mozilla 1.0, and rumors that AOL may dump its current browser for a Mozilla codebase, I've decided that a followup is in order. Stay tuned. -- Scott

Please excuse the angry tone of this lecture. My hands still hurt from hours of debugging reams of HTML and JavaScript that supposedly works cross-browser.

If you believe everything you read, especially if everything you read nowadays comes in some sort of punditry from the Web, you already know the cry: Netscape is dead. Microsoft rules.

I'm here to tell you a little something. If you're a web developer, listen close:

It's YOUR fault.

You look hurt. Why? This is what you wanted, right? After all, it was you lamenting the fact that none of the cool tricks Internet Explorer provides aren't available in Netscape. It was you who downloaded the beta of Netscape 6, watched in dismay as your Dreamweaver-generated code fell apart, and immediately went to the nearest BBS to proclaim your loyalty to Microsoft. It was you, who nodded in agreement when one self-styled guru or another claimed that the Mozilla project was a ghost ship with no captain at the wheel.

After all, you just wanted to do your job, right? Your job is to make things for the Web; wind them and watch them go. Your job is to make the client happy by giving them what they want. Your job is to make money. You don't have precious time to waste.

But you're still a rebel, right? Deep down inside you believe you're still a member of the subversive Internet underground. You run Linux on a box you yourself configured. You use Jabber instead of AIM. You know ASP but would rather use PHP or Perl. You were hip to Napster from day one. AOL is for chumps. Information should be free!. Hack the planet! Et cetera.

The only difference is that you've given up when it comes to the browser. Frustrated with not being able to take full advantage of technologies like CSS and proprietary doodads like the IFRAME tag, you've thrown in the proverbial towel.

I suppose this is to be expected. After all, no other browser commands more business desktops. We don't need fancy stats to prove this -- we know. We're developers, the ones in the trenches. We know that among business users, the desktop of choice is overwhelmingly Microsoft-driven. Today's busy executive has neither the time nor inclination to learn how to use anything resembling a command-line interface. They use Outlook for email, Excel for spreadsheets, and for the company intranet, Internet Explorer. It doesn't exactly help our rebel cause that this software comes bundled along with Windows on nearly every PC that goes to market.

Microsoft was won the browser war, you say. Maybe this time.

But you're not off the hook yet. You see, there's a new opportunity. Another chance to win back some control, and at the same time, help build the next phase of the Web.

But you're gonna have to stop whining and work a little harder.

A Chance For Redemption

This article is for web developers only. If you're a web designer, you can stop reading.

That is to say, if your primary job is coding straight HTML, graphic design, project management, or anything that doesn't require deep knowledge of the browser or backend, sorry, this article is not for you. It is your sad fate to forever be coding to HTML 3.2 standards. You can go now. Thanks for coming.

Okay. Now listen:

There is a new opportunity for developers to help shape the future of the Web. It lies in the development of web applications...

What? Yes, I know. I know web applications are nothing new. Open up any trade magazine and you'll find the the words web and application about a zillion times. It's the phrase on everyone's lips, every angel investor, every CEO. Web applications! The new future of the Internet!

But that's not my point at all. Listen:

The new opportunity is not in web applications. I said it lies in the development of web applications. And here is where we can find our absolution -- a chance at redemption, and a chance to return to the fold of the anti-establishment. Microsoft may have won the fight for Internet I, but we can still win Internet II. And we can do it without sacrificing our integrity as Internet freedom fighters, people who do things the way we want to and not the way some corporate Goliath requires us to.

But to do this, you have to learn to let go. The first step is to stop developing for 4.0 browsers.

You can pick up your jaw now.

What? you say. Stop developing for 4.0 browsers? Are you insane? No.

If you're one of those developers who makes a habit of designing pages that "degrade" for older browsers, this may come as a shock, a blow to everything you believe. But someone's got to say it: developing "degradable" pages is holding back the Web.

Besides, were not developing "pages" anymore, right? Pages are oldthink. Pages are Internet I. We're developing web applications now. Web apps are not pages. Web apps are specialized. They target a specific user type. And they should require -- nay, demand -- a certain level of technology to function.

That doesn't mean pages are going anywhere. By all means, continue to create degradable pages if you wish. Just be sure to leave that oldthink at the door when you start talking web applications. Because the majority of people using web applications won't be surfing for the best price on dog food.

So, once we toss out the old 4.0 browsers, what does that leave? At first glance, it looks like we're just giving it all to Internet Explorer 5. Not so. Not if you include Netscape 6 and Mozilla.

And here is where our challenge begins. Are you brave enough to rise to it?

Are you *developer* enough?

World Domination

While some web developers were busy whining on the nearest BBS about Netscape's lack of an innerHTML property, the folks at Mozilla were busy rolling out a new browser that complied with the World Wide Web Consortiums' proposed standards for the Document Object Model (DOM) and Cascading Style Sheets (CSS). Netscape snatched up this codebase to create Netscape 6.

The DOM is an ideal tool -- the ideal tool, in my opinion -- for creating web applications. It has far superior methods for manipulating document data. Nearly every page element is exposed to scripting. The list of possibilities is enough to make any true web developer salivate. Properly implemented, the DOM can - should - be the future of the Web.

So why isn't it? This is what puzzles me.

When Netscape 6 beta was first released earlier this year, thousands rushed to condemn it. It was bloated. It was slow. It had ugly buttons. It broke most existing pages, especially those that were poorly-coded or utilized some form of DHTML. No one seemed impressed with its support of the W3C's DOM and CSS. In fact, few mentioned it at all.

They really missed the boat. These browsers are not meant for viewing pages. That's oldthink.

Netscape 6, Mozilla, Opera -- any browser that supports DOM/CSS -- should be regarded as application browsers. This is different than a web browser. A web browser is designed to view pages on the Web. An application browser is specialized. It's made for working with web applications.

Just as you wouldn't use the Hubble telescope to look for a dropped contact lens, you wouldn't use an application browser to just surf the web. It's too sophisticated.

Microsoft's Internet Explorer 5 also supports the DOM -- partially. Enough of the pieces are there to create applications that run successfully in both IE5.5 and the other DOM browsers.

Do you see where I'm going with this?

By developing applications that use the DOM, instead of proprietary tags and features, not only will you once again be cutting-edge and supporting the rebel alliance, but your applications will also work in Internet Explorer, which every CEO has pre-installed on his or her desktop.

Look at the benefits of supporting the DOM/CSS standard in your applications:

- you get to work with cutting edge technology, and get to take advantage of all the groovy new features DOM has to offer.
- No more cross-browser nonsense. The applications you build should work in any browser your client chooses, as longs as it supports DOM/CSS.
- Since we're only supporting DOM, we can toss the 4.0 browsers to the wind. Let people who just want to surf have 'em.
- Your client remains happy, because he/she is not forced to use a particular browser brand. Stick with IE? No problem. Used to Netscape? Just upgrade to version 6. Subversive? Try Mozilla.
- Widespread acceptance and implementation of the DOM and CSS standard will increase pressure on Microsoft to complete its own support.

And the best part, the part that appeals to me personally as a developer, is that I get to play a part in building Internet II. Internet I was about homepages and weblogs and look-here's-my-cat photo galleries. Internet II is about applications that enable you to do more than surf. Isn't it time we, as developers, demanded a better tool? A tool that does not shackle us to the proprietary whims of one GiantCorp, but allows us to choose how to build an application, and allows our clients to choose how to use it?

The Challenge

If we are to play any part in shaping the future of the Web, we cannot stand by and allow one company to dictate to us how that future should be.

Let this be my standing challenge to you, the web developer:

- Understand that web applications are NOT web pages and shouldn't be treated as such.
- Designs that "degrade" are great for pages, lousy for applications. You're holding back the Web. Stop it.
- Learn the DOM and CSS. It's not hard. It will make you giddy with power.
- If you own a company that specializes in web applications, consider including DOM support in your technical and design specs.
- Preach the case for DOM/CSS to your fellow developers and coworkers.

The window of opportunity is rapidly closing. Eventually the buzz will subside and web applications will take their place alongside ho-hum, been-there-done-that technologies. But the legacy they leave behind -- the way in which people develop for the Web -- will remain. Whether it will be for good or for bad is something we can influence right now, at this moment.