Is the Internet still hardware-independent?
The Internet: maybe you've heard of it. It's the great equalizer and the great enabler. Part of its beauty is that it's global, it's egalitarian, and it's free. Internet standards like HTML, POP, and SSL were designed to be hardware-, software-, language-, OS-, and byte-ordering neutral. It doesn't matter what computer you're using or what operating system you prefer. Internet standards don't care if you're a PC or Mac user, big-endian or little-endian, using a fast new machine or an old slow one.
That glorious impartiality comes at a price, though. It's hard to imagine a less-efficient way to transport data than with 7-bit ASCII-encoded HTML. But efficiency wasn't the goal in defining the Internet's internal standards; universality was. We're willing to give up a little (okay, a lot) in transport efficiency in exchange for a single global network that everyone can share. Or can they?
The answer, as with so many things, is yes and no. Although the Internet's network plumbing is hardware-agnostic, most Web content is not.
Web content has become less portable and more client-specific over time. This didn't happen by accident. It's the result of both commercial forces and simple human nature. The upshot is that today's Web is becoming an Intel- and Microsoft-centric medium, just like PC software is. And there's no reason why this situation will change any time soon. Whether that's a good thing or a bad thing depends mostly on your job.
Getting there from here
First things first: is the Web really platform-neutral or has it become PC-centric? Anyone who's spent an hour surfing the Web on two different computers has seen how pages often look different on different machine. Folks with a PC at work and a Mac at home are familiar with this effect. Even changing browsers on the same computer (from Internet Explorer to Opera, for example) can highlight dozens of differences in what was supposed to be a standard presentation format. Anything more exotic than an all-text page with blue underlined links is liable to look and behave differently on different clients. Viewing a favorite site on your BlackBerry or iPhone is also likely to lead to frustration--or amazement that it works at all.
How did Web content get this way? It's a combination of simple human nature mixed in with a fair bit of commercial self-interest. After the initial "gee whiz" wore off around 1994, most of us got bored with plain-text Web pages. Some Webmasters studded their pages with blinking text or flashing borders. That was about as creative as early browsers would allow. Remember, HTML wasn't created with today's slick e-commerce economy in mind. It was intended for academics.
Today, any decent commercial Web site uses Flash, Java, QuickTime, Postscript, Real Audio, and any number of other semi-standard extensions to the basic HTML underpinnings. These extensions have all become part of the Web's lingua franca: the language of global Internet commerce. Increasingly, you can't even read a site's basic content--never mind browse the catalog or log in--without installing the requisite helper applications to read PDF or Flash files.
Here's where the problem starts. Like any program, these helper applications had to be written for (or ported to) each distinct combination of processor and operating system. The Adobe PDF reader for Internet Explorer 7 running on Windows XP running on an Intel Core 2 Duo processor isn't the same as the PDF reader for Safari running on Mac OS running on a PowerPC chip, and so on. Just like any other team of programmers, the folks who develop these helper apps must look at the cost/benefit. Is it worth the effort to port this program to Platform X if said platform accounts for only 5% of the market? Do we really need to write, debug, and support a RealAudio decoder for the Commodore 64, Silicon Graphics Indigo, or Cray Y-MP if hardly anybody will ever use it?
A good example is Flash and the iPhone. Millions of happy iPhone users know that their favorite toy can't render Flash animation. There just isn't a Flash helper application for iPhone and, until recently, no hope of getting one. Apple has since released an iPhone software-development kit, so Adobe will presumably be quick to fill this gap in its product coverage. But in the meantime, no iFlash.
So browsers and their helper apps behave just like any other software. They must be ported and supported, and that means the most popular processors and operating systems get supported first. The less-popular platforms catch up later, if at all. Your Amiga might be able to load Google's basic home page, but good luck getting YouTube to work.
That's the practical side. There's a commercial side at work, too. Microsoft, like any good software company, wants to protect and extend its customer base. It has done this in part by encouraging a number of "non-standard" extensions to Web content. Active server pages (ASP), ActiveX, Exchange Server, and .NET are a few examples of Microsoft's contribution to Web content cacophony. Oracle, Real Networks, and other companies have all done likewise, promoting extensions in which they had a commercial interest. Some of these efforts have been more successful than others, but all of them erode the independence and client-agnosticism that was inherent in the early Internet. The more bells and whistles we add, the more locked-in we become.