As web developers, we've enjoyed a season of relative prosperity during the last 10 years while there have been no significant changes to the HTML 4.01 specification. But what will the coming introduction of HTML 5.0 bring?
It's hard to believe, but HTML 4.01 turns 10 years old in September of this year. And frankly, that's a long time for anything in the development world - let alone for the core language of the world wide web itself. Especially when that language is the delivery mechanism for our applications and web pages. Moreover, a lot has happened in the last 10 years. Browsers have become effectively standardized (even if there are definite quirks in their implementations), and the pace of web development has seen numerous changes in terms of presentation and behavior. But for years now, we've been able to rely upon an aging standard to help serve as the framework for all that our web applications do.
So why a New HTML?
As great as HTML currently is, the underlying markup language still could use some improvements, and it doesn't take much imagination to see that the language has far outgrown its original scope as, more or less, defined by the Mosaic browser of yester-year. HTML 5.0 seeks to address those issues by making the web much more friendly to applications and rich media capabilities such as sound, video, and even rudimentary animation. Likewise, the HTML 5.0 spec also adds some new APIs designed to help facilitate improved DOM interaction, increase cross-document interactions, and improve the overall browser experience for end-users.
Cool New Features and Capabilities
In addition to the obvious markup changes, HTML 5.0 is also seeking to drastically replace the way cookies work, by creating a DOM storage mechanism (or localized databases) that will effectively act as a client-side SQL database (or at least that's the theory for now) to provide increased storage capacities and options for locally stored data - while changing the way that web applications interact with user storage by making access available only through client-side scripting instead of sending along data with each HTTP request to the server.
Interactions with the DOM will also see some significant improvements designed to make it easier for developers to interact with pages and create applications. And, by the same token, HTML 5 will add support for drag and drop functionality, 'waypoints' that can be inserted into the browser history, and even support for in-browser editing capabilities.
All in all, there are a lot of pending changes and improvements, and other than visiting the working specs themselves, WikiPedia and a couple of other web-centric sites have some decent overviews of what some of the major changes will be (without forcing you to wade through the actual spec).
What HTML 5.0 Means Today
Alas, all of the problems that have caused HTML 5 to take over a decade merely to come to paper are likely going to cause additional problems and delays in making HTML 5.0 a reality. But as one great article points out, we're already starting to see some benefits in web development today because of the (eventual) looming release of a working standard for HTML 5.0.
Otherwise, we likely won't have access to all that HTML 5.0 has to offer for quite a while. Likewise, it's possible that as it's released, browsers may follow the approaches they've used in the past and only implement certain portions of the standard once it's finally unleashed upon the world. It will also be interesting to see what roles Google, Mozilla, Opera, and Apple play in bringing this standard to light—they appear to have a greater interest in pushing it forward than Microsoft currently shows. Or, maybe it's just that they potentially have more to gain by pushing this standard as a way to help undercut Microsoft's dominance in the browser market.
Why HTML 5.0 Really Matters
In the interim, there's no reason that you can't begin learning more about HTML 5 and preparing to use it today. Doing so will boost your understanding of HTML and the web in general, and make you think much more semantically about the sites and applications that you're creating today. By thinking semantically you’ll be better equipped to craft cleaner, more manageable, more extensible, and more SEO friendly applications today.