Friday, April 11, 2003

Know When Not to Plan to Use XHTML

From The .NET Guy:

I used to use XHTML for my site and blog, but I don't any more. If you want to know why, Ian Hickson is the guy who convinced me. I do believe that the issues he brings up and real and important.

I'm going to partially disagree. Having read Ian's argument, I think he ignores a very real and important phenomenon: the standards aren't set in stone. Things on the Internet frequently evolve when a bunch of people decide to do something, it breaks a bunch of other things, and the authors of those things then fix them to work with the new stuff. Observe the recent rapid evolution of blog reading software.

In other words, the fact that XHTML doesn't work with existing software doesn't mean we should avoid it in all cases. For example, using it in RSS feeds might be fine, since the software for RSS readers is still evolving rapidly and can quickly adapt to the changes. And it's easy to see that XHTML is easier to parse than HTML 4.01, which can have all sorts of nice benefits.

Notice that I'm not arguing for a complete switchover to XHTML right now today. I agree with Ian's points that it is currently problematic, and I probably wouldn't go that route if I were authoring the main page of my company's website. But not everything I do is that mission-critical, so I won't eschew its use, either.


  1. Here's the thing though. It appears XHTML 2.0 was designed with absolutely no forethought to backward-compatability to 1.0. How do we send the message to the W3C about how _wrong_ that is? By using it in it's current configuration are we not sending the wrong message?

  2. I have no problem with renaming. But I think I disagree with the reasoning about not using it. If we didn't use things simply because they were poorly designed, we'd all be pushing abacus beads around. I think the appropriate approach is to use things as well as we can and make a hell of a lot of noise about how much they suck in the meantime.

  3. Ian talks about the browser UAs. Most of the RSS feed is consumed by aggregrator UAs, which apply a stylesheet over the RSS item to generate HTML.