Standards For Standards Sake

This post gets nerdy enough that you might want to steer clear. I also don’t go too out of my way to explain the jargon of the subject, so be forewarned.

A few days ago, it was announced that the W3C was discontinuing work on XHTML2, which was planned to be the next big thing for the web; it was going to bring real semantics to the web while improving the extensibility and accessibility of the content on the web. I say ‘the content on the web’ rather than ‘HTML’ because XHTML2 was not going to be HTML. It was not backwards compatible with HTML. In other words, it was doomed to fail.

People saw the faults of the XHTML2 standard years ago and began working on incremental changes to HTML that would improve the semantics — perhaps not as much as XHTML2 could theoretically improve them — of the HTML content and introduce numerous new APIs that enhance what can be done in the browser while retaining backwards compatibility1. These improvements, along with adjustments to the HTML4 spec to align it to reality, are now known as HTML5.

Perhaps XHTML2 would have been better overall, perhaps not. That is a moot point now. HTML5 is happening, and XHTML2 isn’t.

But Shane McCarron, one of the people who worked on XHTML2 and the associated standards, decided to attack everyone he could in a post filled with a bunch of useless arguments.

The primary design principle for [HTML5] is “codify everything in use on the net, everywhere, no matter how broken, as long as Hixie has seen it at least once and thinks it is useful”.

These sorts of meaningless assertions, with an ad hominem thrown in for good measure, contribute nothing to the discussion. I’ve found Ian Hickson’s attitude on the HTML5 mailing list to be very brusque at times, but that has nothing to do with what the standard is about. Not only that, but the HTML5 spec does much more than codify existing behaviour; certainly it does that, but that is because the earlier specs were underspecified resulting in every browser doing things slightly differently.

But beyond this codification, the spec introduces a background process system for JavaScript execution, canvas elements for advanced graphical rendering, the video and audio elements to allow audio and video to be played in the browser without a plugin, with greater control and more openness, and that’s only a subset of the enhancements HTML5 brings. I don’t see how those things, which were specified before any browser implemented any of it, are mere codification of de facto behaviour.

There are between 5 and 15 actual user agent implementors in the world. There are millions of web content authors. How is it that the 15 (I’m feeling magnaminous) are more important than the millions?

This isn’t even the argument from popularity, it’s the argument from potential popularity. I’m a web content author. I wouldn’t want to write the content using the complexities defined in the XHTML2 spec. I was even one of those people that was fooled by the XHTML1 marketing that XML was somehow inherently better than SGML, and I still blanched at the sight of some of the things coming out of the XHTML2 working group.

In fact, of the millions of web content authors, I’m pretty sure that at most 15 (I’m feeling magnanimous) would be willing to work within the XHTML2 environment.

The people writing most websites are, unsurprisingly, writers. And whether they’re technologically savvy or not, the cognitive load that XHTML2, and all its associated extensions, would place on them is an unnecessary burden.

I know that some of the features of XHTML2 are useful for the machine-readability of websites, but you have to measure that against the extra effort required by content producers, text editors, and everything else involved in creating web content, to generate XHTML2 rather than HTML5. Machines will process things faster a month from now, and can use smarter algorithms to detect and discern human generated content. Humans don’t have that luxury.

But Shane doesn’t seem to understand that:

It was [Tim Berners-Lee] who decided to irreparably damage the brand(s) of the W3C by ceding control of the web to the WHATWG. What [was he] thinking? I assume [he was] under pressure from the browser vendors. I assume those 4 out of your ~400 members were saying “hey, we don’t want to implement XML-based semantic web. It’s haaaaaard (insert whine here)”.

I’m not a browser developer, but if I were I wouldn’t mind switching to a purely XML based system like XHTML2. It’s certainly easier to parse than the mess that is (the underspecified) HTML. Except that if I did that, I would no longer be a browser developer. I’d be someone that writes code, designed to behave as a browser, that is used by no-one.

Vendors possibly preferred to extend HTML4 rather than start over with XHTML2 but the difficulty of it would have been only one facet of the issue.

And developers like writing code. A well-defined spec, a text-editor, and a compiler makes many a developer salivate. And computers will always get faster. Those aren’t the blocking points, in my opinion. The thing that killed XHTML2 was the millions of voices crying out for improvements to the web who were at best amused and most often bemused by the complexities of XHTML2.

There are lots of other cheap shots taken throughout that post, but I’ve already shown you the gravest offenses; pointing out each individual baseless attack, accusation, and logical fallacy would only waste my time.

The facts are these. XHTML2 has been in development since before HTML5 was brought up as an idea. HTML5 is now in use in browsers everywhere with more and more of the spec being implemented with every new browser release. XHTML2 probably has a few experimental features that you can play with in Firefox. XHTML2 lost. You can blame that on the vendors for not implementing your ideas, but the fact is your ideas were shit. If they were good, if they were what users wanted, browser vendors would put more effort into implementing them.

HTML5 is not “shackling the web content developers into the tag-soup architecture of the 90′s.” Tag Soup was never about the language, it was about the philosophy. Did C++ shackle C developers into “goto architecture?” HTML5 was about giving web content developers what they actually want, not a bunch of buzzwords and disingenuous attacks. It’s not as if HTML5 is ready for prime-time. IE still doesn’t support most of HTML5, but people are out there experimenting with HTML5 because it’s cool.

XHTML2 is standards for standards sake. Nobody’s using it. Nobody ever will. So let’s all get over it2.


Footnotes

  1. It does introduce new elements which will not function correctly with an HTML4 browser, but nothing old would be broken. []
  2. I admit that this is a bit of a departure for me. I’ve been one of the silent (but full-throated) proponents of JavaScript2/ECMAScript 4 over ECMAScript 3.1/ECMAScript 5. But there are distinct differences here. First, ES4 was backwards compatible. Second, ES4 brought demonstrable advances to the JavaScript environment, whereas XHTML2 seems to mostly work towards normalizing the substructure of HTML without offering any inherent advances, only allowable advances. That said, the irony of me being such a staunch attacker of XHTML2 while such a staunch defender of ES4 is not lost on me. And it goes without saying that, at this point, I’ve gotten over the ES4/ES5 schism and am happy to be working towards advancing to ES-Harmony. []

Moral Cigarettes

I was over at Andrew Sullivan’s blog reading a post for which I have no context, but one thing in particular caught my eye.

Is the scientist (or anyone else) who refuses a cigarette based on that evidence making a moral judgment?  Yes!  The scientific data say nothing about whether cancer or death are BAD and things to be avoided, only that they are likely to happen.

Refusing a cigarette is not necessarily a moral decision. Not wanting to die is not a moral position. In fact, generally speaking self-preservation is seen as a biological imperative and selfish act. This statement is really taking the false dichotomy logical fallacy to new depths.

Guilty Pleasures

I don’t have them. I don’t understand why anyone would. A guilty pleasure is something you supposedly dislike liking. This is some form of public self-loathing that everyone seems to revel in. Liking The Spice Girls isn’t anything to be ashamed of; it’s just another part of who you are.

This is just another example of overspecialization our society encourages. If you like mostly rock music then you are a Rock Fan. Or maybe you’re a Post-Rock Fan. Or a Neo-Post-Punk-Rock Fan. The hyphenates only grow.

I’m not advocating the abandonment of categorization, in fact my recently started project is very much about deep and robust categorization of data. I simply believe that the fundamentalism many people employ when creating these categorizations is unnecessary.

It’s because of this fundamentalism that people simply decide that to enjoy a particular type of media, you must enjoy only that type and anything else is a “guilty pleasure.” It’s another form of the No True Scotsman logical fallacy; no true fan of Punk Rock could unironically enjoy The Backstreet Boys.

There’s a problem with this kind of mentality because it leads to division. As the breadth of information our world can offer is expanded by the Internet and mass media, we become inundated by more and more types of information and we need deeper hierarchies of data to be able to think about it coherently. But this doesn’t mean we need to apply such strict boundaries on what we take in, or prefer to, to simplify ourselves for the rest of the world.

In the end, everything we are is a part of who we are. Liking high-brow humour does not exclude you from enjoying low-brow humour, nor does enjoying scripted dramatic TV shows exclude you from enjoying Reality TV (though hopefully, having intelligence excludes you from the latter).

I can understand the mentality behind telling people that certain things you enjoy are guilty pleasures because it not only tells them that you like something, but it also tells them something about the thing you like; it’s a sort of implied metadata. But this particular snippet of metadata is grossly overused in our culture, exactly because we seem to have devolved into a world exclusive esoteric niches.

As this post has hopefully exemplified, I’m not a man of extremes; having a broad swath of interests, some overlapping, some seemingly contradictory is a good thing. But guilty pleasures sound ugly to me. It degrades you for saying that you should be above this but you aren’t, it degrades your audience by establishing false pretenses with them, and ultimately it degrades the thing you like. Liking something in spite of its origins or your initial perception is not a cardinal sin, nor should it be, so don’t act like it is.