Wednesday, September 23, 2009

HTML 5ive?

HTML 5 is coming. Maybe. Is there any reason to care? To worry? To rejoice?

One of the things that I enjoyed the most about teaching HTML over the last several years is the look in peoples’ eyes when I would explain that in all of techdom, there was at least one thing that you could learn all of and then be forever current in: HTML was done.

You spent a lot of time learning Windows 95 when it first came out. And damned if they didn’t follow it up with Windows 98. But that was okay, it was only a few new features, really. And most of it looked and worked like Windows 95 did, or tried to, so it wasn’t really a burden. Flash ahead through Windows 98SE, Windows Me, Windows 2000, Windows XP and Windows Vista. Now, Windows 7 is again hewing to the basic baked-in goodness of Windows 95. From one release to the next you have very few surprises, but there are changes. Still, you only had to absorb a dozen or so new details every several years. It was manageable, but it was still a burden.

We didn’t have that in HTML. The committee slapped one another on the back and promised to keep in touch and turned out the lights years ago, secure in the knowledge that the future belonged to some variant of XML and/or XHTML. Work on HTML had finally stopped. You could finally spend a few quiet moments every day learning One New Thing and you would eventually learn all of HTML. What a wonderful place to be, huh? Think of the guy or gal out there who knows more about HTML than any of us. You could know as much as they knew. You could know it all.

Well, those days may be drawing to a close. And, maybe, that’s not such a bad thing. Every Web page I have built in the last four or five years has had some common elements with every other Web page I have built in the last four or five years. They have all had a “header” of some kind—not the HTML document <head> area, but a visible header area of the page. They have all had some form of page navigation. They have had some kind of footer. And I have had to sketch out these areas on the page using division tags, assigning classes and IDs as necessary, then styling these divisions as needed.

Since HTML 4.01 was chiseled into stone back in the Olden Days we have seen the rise of several new technologies, many of which look like they’re going to be Keepers. It’s a multimedia world out there and we need more and better ways to accommodate that. But how about all of that vague and indistinct markup? If every page needs divisions for headers, footers and navigation then shouldn’t there be some taggage to support that? In the front-running candidate for Next New Markup Language, there is.

Now, these things have a way of taking a lot of time. The committee is working, albeit slowly, on codifying every little nuance of every new descriptor and we can probably look forward to at least one Name Brand browser ignoring some meaningful fraction of their work. We will need to learn new hacks and workarounds and we should expect a transitional period where some of it all works great in one or two obscure browsers, but no browsers gets it all right. In a way we are already there, with some spotty support for HTML 5 in several current browsers, but nobody yet handling it all.

There is a chance that this will finally be it; the end of the line. But I suspect that now that we have finally gotten away from the idea that HTML might one day find itself a dead language, we probably will see point-releases and maybe even an HTML 6 one day. And so our markup language will join the ranks of our Web page editors and our operating systems as an ongoing project that continually refreshes itself to the demands of the marketplace, and one that we must devote continuing resources to mastering.

No comments: