HTML5 is here to save us all: it has the cool functions, eye-dazzling features and APIs to go around. I get to see a lot of great things developed with HTML5, but I’d like to issue a word of caution as well.
Let’s start with all the eye candy we see being developed with HTML5 and related technologies. Truly amazing things, interactive features and really compelling games. I think that’s great that we now are seriously getting open alternatives to Flash and Silverlight, and also technologies that will work on more devices with no plug-in dependencies.
All that is fantastic, but HTML5 is so much more than that, so please regard HTML5 as not only performance-intense videos and animations that demand the latest hardware and operating system.
AJAX x 10
- HTML code, in the form of new semantics, form elements and other extensions.
For me, it’s not CSS. When it comes to APIs, some are actual HTML5 APIs and some are related APIs. So for me HTML5 is sort of more becoming an encompassing name for HTML5 and related APIs in general. And as long as it’s any of the slew of HTML5 or new related APis I can deal with it. But I’d just like people to just tone down the PR that it’s the akin to the Second Coming and that whatever code you write is HTML5.
Web browser exclusion
For some reason with HTML5, a lot of people seem to have forgotten the vital lesson we’ve learned the last 10+ years: there are tons of web browsers and devices out there, so we need to code according to standards instead of having just vendor-specific code. WebKit lead the way for some time with support for a lot of interesting things – the poor result of that, though, was that a number of developers started coding things that would only work in WebKit-based web browsers, and then started telling end users what web browser to use. That’s not what the web is about.
Therefore we somehow found ourselves back at the state of exclusion we had previously gone through, with things only working in Internet Explorer. We have to get away from that, we have to build on top of what we learned. Whatever you develop, if you use web browser-specific code – for instance, prefixes in CSS – make sure to include prefixes for the other web browsers too, and a standard one without any prefix. If some web browsers don’t already have support for that right now, it is bound to be in there very soon anyway.
Semantics and code separation
And building a web site is not just engineering, it’s a beautiful piece of communication, interaction and sharing.
HTML5 is great, it really is! But please respect and learn from all the lessons we’ve gone through, both from a web developer perspective, but also regarding the end user experience and different prerequisites they have when they will access your web site. Do good, and the web will be great!