html5 has been in the works for quite some time, and with the latest ALA edition the most important changes are getting some well-deserved attention. What surprised me is the lukewarm reaction most people have towards the changes html5 brings. Although I have my reservations, the prospect of html5 is something that should be embraced. The web is ever changing and as web developers we have to adapt.
The biggest problem for most is the time frame of the whole venture. When you announce a 10-15 year time frame, of course people are going to be disappointed. The web is a big mess that's changing every day, yet as web developers we're still working around the same problems we faced five or six years ago. We don't want to keep doing this for the next 10-15 years. We want solid solutions for the problems of today, not shaky solutions for yesterday's problems.
Sadly, a parallel to css2 was drawn, something that didn't go too well with me. If anything, css2 is badly outdated by modern standards, and it's a damn shame we still can't apply it properly across all browsers (and I'm not just bashing Internet Explorer here). Recently improvements for the implementation of css3 were made by planning yearly updates and progress reports, I hope these get adopted for the html5 development as well. It's nice that some browsers are already implementing some of these html5 features, but without global support, this means very little to nothing.
Dropping the X again
Something I see confirmed for the first time (I admit I'm not following html5 all that actively) is the continuation of the sgml syntax. While xhtml freed us from most tag soup (or else, nicely indicated where the tags got messed up without breaking the page), those happy times seem to belong to the past again. Seems we're back to the unclosed
<p> tags again.
I hope there will at least be some ways to check for little "errors" like this in our code, without having to serve a page as actual xml. While the idea of serving as xml is great, there are many practical issues. When you're working with a cms (especially with html editors like tinyMCE and the like) you just cannot guarantee proper syntax. And having xml errors served to visitors isn't really feasible either. This makes the whole xhtml5 option nice but rather impractical to use in real life.
If xhtml taught me anything, it was to write properly structured markup. Markup that follows the proper structuring of documents on the web. I'm not willing to drop that again, I'm sure many others feel the same.
Introducing: new elements
What surprised me the most was the negative reactions of some to the newly introduced elements. html5 will bring us more elements that allow for more semantic specification. The time of the endless div+class era seems to be over. And yet, some people seems to be missing the point why this is actual progress.
Major culprit seems to be Microformats. While the Microformat project has always stated that the idea behind the project was to find a solid solution to overcome current semantic issues, the idea has struck some as a permanent solution.
quote Although the content of web pages is technically already capable of "automated processing," and has been since the inception of the web, there are certain limitations. This is because the traditional markup tags used to display information on the web do not describe what the information means. Microformats are intended to bridge this gap by attaching semantics, unquote
Add a class to a
<div> tag and create semantic meaning. But by doing this, you are mixing two ways of applying semantic meaning to an element. html5 tries to capture the most used elements and give them their own tag. While they cannot make an extra tag for each and every web element, the most important ones seem to be covered now. Which is good. Goodbye to
<div class="header">, let's all welcome
<header>, which is standard html (ie providing semantic meaning through tags, not attribute values).
Apparently the Microformat people realized the danger, but their efforts didn't prevent people from seeing their way as the preferred way. Hopefully these people are few and html5 will become widely adopted.
All hail progress
html5 is certainly not perfect, but it has many good elements that will improve the web and make our work as web developers easier. It will allow us to better structure our pages and give more semantic value to the elements we're describing. Hopefully we will see the practical use of html5 pretty soon, if not the venture seems doomed already. But apart from that, the new elements are needed. Take a good look at Microformats again. See why they are hyped, why they are a good solution for our current problems. And try to see why a structural solution for these problems is preferred.
All hail html5