July 27, 2008

The greatest blogger on earth is Joel Spolsky. He has an article he wrote recently called Martian Headsets. In a very roundabout analogy way, he explains why the fact that Internet Explorer 8 is going to be standards compliant is both a good and terrible thing and why Microsoft is screwed no matter what they do. Now, it’s not like Microsoft deserves sympathy for the mess they’re in because they created it.

To recap: versions of IE up to and including IE6 are not only non-standards compliant but they were downright hostile to standards and now if IE8 actually does wind up being standards compliant it will break every page out there that’s been coded to account for IE6’s quirks. Developers actually call it “quirks mode” and IE7 went a little ways to fix this but IE8 is actually going to try and implement the standards fully. Depending on who you listen to, IE6 (often called out because it went the longest time without an update) either did not meet standards because standards were too loosely defined or too difficult to follow (it’s all in the article above).

There’s one bit in the article though that I think really needs to be pointed out

Jon Postel should be honored for his enormous contributions to the invention of the Internet, and there is really no reason to fault him for the infamous robustness principle. 1981 is prehistoric. If you had told Postel that there would be 90 million untrained people, not engineers, creating web sites, and they would be doing all kinds of awful things, and some kind of misguided charity would have caused the early browser makers to accept these errors and display the page anyway, he would have understood that this is the wrong principle, and that, actually, the web standards idealists are right, and the way the web “should have” been built would be to have very, very strict standards and every web browser should be positively obnoxious about pointing them all out to you and web developers that couldn’t figure out how to be “conservative in what they emit” should not be allowed to author pages that appear anywhere until they get their act together.

But, of course, if that had happened, maybe the web would never have taken off like it did, and maybe instead, we’d all be using a gigantic Lotus Notes network operated by AT&T. Shudder.

Basically there are all kinds of stuff that you shouldn’t be allowed to do in a standards-compliant webpage in a standards-compliant web browser. You cannot follow certain kinds of tags with certain other kinds of tags, it’s illegal. It doesn’t really make sense that it’s illegal, since the basic effect is the same, but it’s still illegal.

But if web browsers enforced everything, would the web really have become as popular as it is?

MySpace is a site to go to if you want your eyes to bleed. The guys there have constructed their code in such a way that it’s fantastically easy to make a web page, and damn near impossible to make a web page that looks good. Years ago (think 1996) there was a site called GeoCities which did something similar, without the social networking capabilities. Web site hosting was expensive and out of most people’s grasp, and they sure didn’t know how to use HTML. GeoCities would let you create a webpage, get it online, and also had a tool to edit the HTML for you. Sure, you had about 2MB to work with and sure, the URL was half a mile long, but you could do it. And the web became littered with tens of thousands of sites that essentially consisted of pictures of their cats, a couple of animated “UNDER CONSTRUCTION” gifs, and every tag trick in the HTML 2.0 book, with at least one blinking text tag which became useless when IE decided not to implement it.

Most of the people who made GeoCities sites either abandoned the concept of making their own pages (and maybe moved on to making YouTube videos or something) or they went forward and maybe pursued a career in technology. The new generation of people who want to make a spiffy web page and don’t know how have moved on to MySpace. Namely, High School teenagers.

Now I may come across as a snob here but really I’m giving MySpace some faint praise. It’s not like MySpace is the first site to try this – it wasn’t even the first site trying at the same time that it got started and running. It was just the first one to nail what people need – an easy way to create content, and an audience.

Same thing goes for YouTube – people don’t remember (even though it was maybe 2006 when this all happened) but YouTube was one of a number of video site competitors. And if you’re like me and you mainly just watch the videos, they were all the same. So why did YouTube succeed? Easy, they made it dead simple to upload a video and share it. No one else quite got this. Not even Google, who had their own competing video hosting site and wound up buying YouTube.

And it’s not like video sites were a new concept or anything – there had been sites for years that hosted online videos, but they all suffered from the same problems, namely the technology involved. You had to embed the videos on your site, or make them streamable. Most video players, like RealPlayer or Windows Media Player or QuickTime could be embedded but which one did you go with? If you went with any of the three you wound up locking out people who didn’t have the one you picked. If you went with Windows Media Player, which has the greatest install base, then you locked out the Macintosh and Linux users. If you went with QuickTime you locked out people who were purposely keeping Apple off of their systems. If you went with RealPlayer you locked out everyone who didn’t purposely go out and download that player. And since Real Media did so many shitty things for so many years with their player and how it would operate many people, myself included, just boycott the thing out of sheer spite.

And then every once in a while the program you wrote the embedded video player support for in your website would change and decide to not work with your page unless you updated the tags in your document – but doing so would then break the support for anyone who didn’t upgrade. You could just tell everyone going to your site to just upgrade to the latest player but a large percentage of your audience would just say to hell with it and move on.

This all changed when Macromedia (now part of Adobe) added the ability for Flash to play video content. Initially I thought it was a dumb idea – why would anyone want to play a video in a Flash document? I also figured for sure it would be abused – great, now all those sites out there who annoy you with Flash-only content will throw videos in your face. But it turned out to be brilliant – now instead of worrying about the ten different kinds of video codecs and who has what player, now you just had to worry about who had Flash. And 93% of web users have Flash (out of desktop users, not phones or anything). So while Google Video was trying to implement and enforce an open source standard based on VLC on their users, YouTube would literally take just about any sort of video file on Earth and just play it. They solved the technical issues involved with video on the Internet, and because they solved the problem YouTube became easy, and that made them popular. YouTube didn’t win by having the best ad campaign or spending a lot of money convincing people, they won because they were the best in a field suddenly ripe with competitors.

Of course the other problem with video sites on the Internet was bandwidth. YouTube ran advertisements from day one but no one believed for a second that they were making enough money with them to cover their bandwidth costs – especially since they were literally doubling their bandwidth usage every month. Everyone wanted to know what their business plan was. As it turns out their business plan was “get purchased by someone bigger” and that’s exactly what happened. But that’s another story.

There’s a reason the web took off – because it became easy to make a web page. If making a web page was difficult – and if the initial web browsers of the day had enforced this – then the web might not have taken off. It’s not like this was the first thing to appear on the Internet – email and newsgroups go back further than the web, along with IRC, FTP, etc. For that matter, if Microsoft hadn’t made Internet Explorer a built-in feature of Windows, would the web have taken off as quickly as it did? Suddenly you had no excuse not to be online – there was a web browser built into your system. Netscape sued Microsoft for bundling IE with Windows 98, and it’s not like Microsoft really did them any favors there, but even as recently as 1997 Wired Magazine was prognosticating that the Web Browser would go the way of the Dodo in favor of “push” technology. “Push”, as it was configured back then, never really took off (the idea that instead of you seeking out content it would come to you) but in a modified form it exists today – RSS feeds, instant messages, podcasts, etc.

So why doesn’t the Macintosh take over the world? Especially since, as so many of its fans decree, it’s so much better? Simple really – it’s not easy to run one. There’s one place you can get one – Apple – and if you don’t like their offerings or their prices, then tough. Want to run a PC with Windows? You have hundreds of manufacturers in an ecosystem of computer hardware makers to choose from. Back when Apple started making computers, every manufacturer did their own thing, no one ran programs from anyone else, and the market was very fragmented. Apple still runs their operation the same way today. So while Steve Jobs can make rooms full of people in turtleneck sweaters cluck like chickens at the sight of a new iPhone, Apple can’t get past a single-digit market share.

Their #1 success story, the iPod, only sells and works as well as it does because it runs what people want it to run, namely the scores of MP3 files they’ve amassed over the years. The Macintosh, by comparison, doesn’t run what people want it to run, namely all of the Windows programs they own, and all of the games they’d like to play. If the iPod had, from day one, only run AAC files then no one would have purchased it. They would have just gone on to the next iPod-like player that would. In fact, the iPod never really picked up steam, sales-wise, until the third generation which officially supported Windows. Sure, you could do it before if your PC had FireWire (few did in 2001) and if you were willing to try and run one of the reverse-engineered programs people were releasing, but until Apple officially made the thing support Windows, it didn’t go anywhere. And today probably 70% or more of iPod owners run Windows, which Apple treats as a second-class citizen with regard to iTunes. The Macintosh is selling better nowadays, but it’s likely to have nothing to do with the witty “Mac vs. PC” ad campaigns – it’s likely due to the fact that now the Macintosh runs on an Intel processor, which means you now run Windows on your Macintosh, either through dual booting (which Apple officially supports, via Boot Camp) or through a program called Parallells which allows you to boot Windows at the same time as Mac OS X. So in other words, the Macintosh is becoming more popular now because it gives people what they want – the ability to run their existing Windows programs and games.

Anyway the point of this whole long diatribe which took way too long to write is that there’s usually really good reasons that things take off and it’s not just because someone can advertise better than someone else. The Internet took off because it made it easy to get information out to the massess, especially when you could guarantee that they’d be running a web browser. MySpace made it even easier to have a website when you don’t know how to make one. Video sites were always a lost cause until Flash took away the technical barriers to entry, YouTube took away the content posting barriers, and Google took away the bandwidth concerns. The Macintosh has always been a bit player until Apple took away the barriers to running Windows and the programs everyone already owns.

We want to believe in conspiracy theories. It’s fun. But IE wasn’t standards noncompliant because Microsoft wanted to fuck the web, it was noncompliant because standards are really hard to nail down and Microsoft just screwed them up. YouTube isn’t the #1 video site online because they advertised, they’re #1 because they made it easy for people to put videos online – they figured that out before anyone else. The reason someone wins in a technical field is just because they figure out the barrier to entry and the elminate it.