Is HTML5 right for you?

HTML5 is the latest buzzword in the web industry, if you’re not developing a HTML5 application then clearly you’re trapped in the era of the scrolling <marquee> and should be cast into the eternal fires of the <blink> tag.

Well, frankly, I am getting a little bored of the hype that the “5” is manifesting as. What people seem to be forgetting is that they’re building HTML applications, and actually in most cases they’re building Web Applications which are a combination of Server Side code be it ASP.NET, PHP or one of the many Server Side technologies in tandem with a client side scripting language that looks not too dissimilar to JavaScript using HTML the “M” being MARKUP to help them display content and functionality to end users. We’ve been using HTML 4x for a long time, just changing the doctype might make you feel like one of the cool kids but it isn’t a HTML5 application.

My colleague Martin Beeby who is one of Microsoft’s best assets when it comes to web technology and platforms recently posted a blog entry which talks about deciding if HTML5 is right for you. Whilst I can see where Martin is coming from I don’t totally agree with his assessment so wanted to provide an alternative view of “HTML5 – how to cut through the marketing and make an informed decision” even if Martin might hunt me down with sticks and get me back.

So why would you make the move right now? Prepare to turn your cynicism mode on.

HTML5 is better for video (or rather, it might be your only choice for video on certain devices)

If you want to have sexy video functionality and the richness that is offered by both the client side players built in Flash and Silverlight as well as the Server Side streaming and multicasting functionality then you’ll be well placed to take advantage of those features using the established well supported technologies. There’s a wealth of information out there on how to get the best out of these technologies and the lessons learned by others over a decade of video streaming over the web.

If you need to support iOS devices which don’t support either of the plugin mentioned above or a client which only supports HTML5 then you should absolutely build support for a HTML5 player into your application, just add a nice simple and elegant <video> tag onto your page and you’re away, bare in mind though that you’ll likely get a less than perfect experience, functionality like full screen might not be open to you in the same way and other features that users have become accustom to might be missing or at a degraded level of functionality that they’re used to.

A multi-function approach is what I’d recommend here to give your users no matter their device the best possible experience, for those that can support an up level plugin like Flash have a rich flash player built to its best practices, enable a seamless and clean downgrade into HTML5 based video where that’s the level that needs to be supported.

If you want a good example of this, look at any of the large video providers and most profitable companies on the internet, the Porn industry. They know that this is the future and offer on many sites both up level and down level experiences for their users to ensure that they cover all their potential markets.

HTML5 produces better code (if you do it right, you can still make a pigs ear of it with enough effort)

What is better code? Well, strictly speaking to my mind it’s code which is easy to read, maintain and support. Now, is that something that a MARKUP language can ever enforce? If anything many of the restrictions that were placed on XHTML which no longer exist in HTML5 could to the mind of some remove the enforced consistency which enabled a simpler uniform understanding of how the code should be structured.

Better code is also code which is easily parsed by browsers and executes quickly, there was an excellent presentation by Jason Weber at the MIX conference last year which goes into detail on how to optimize page load time. HTML5 doesn’t make you build better code, it simply provides some structure and accepted guidance to you which you have to choose whether or not you follow. If you adapt the latest techniques and take advantage of CSS, Selectors and JavaScript methods which aid you in simplifying your markup you can make it look beautiful, if not, your page may look stunning but it’ll still be a pig wearing lipstick.

HTML5 is better for mobile (mobile VIDEO we mean – duh!)

If Apple had supported Flash I genuinely believe that the HTML5 movement would be nowhere near as large as it is today, in many ways I’m glad they didn’t and I love my iOS devices (I’ve been an iPhone and iPad user since their launches), the fact they support video, as flaky as it is (and let’s be honest, it’s ropey at the best of times no matter which site you’re viewing it on) means that I can get to that bit of the web that matters most, porn social media and from the comfort of my armchair, train carriage or traffic jam on the M6 heading southbound on a rainy Sunday evening.

So if mobile VIDEO matters to you then HTML5’s video tag is just for you.

HTML5 is better for interactivity (and the browsers expose some cool API’s we can use)

Often people forget that HTML5 isn’t EVERYTHING THATS NEW IN BROWSERS. The platforms on which we build web applications are starting to expose cool functionality to us as developers that enable us to make rich applications which interact with users and their devices, take the Geolocation API’s which modern browsers expose, these are available to you in your bog standard HTML applications and let you build some funky bits and bobs to hook into that rich data.

Admittedly, if you need CANVAS style functionality, whilst this could be replicated in Flash or Silverlight it wasn’t a standard as such as you’d have to go it alone, but it’s nothing new, we’ve had ‘paint on the web’ packages for kids for many a year, remember the ten thousand cents project?

So, is HTML5 right for you? Maybe. HTML almost certainly is, keep on building web applications, don’t be sucked in by the hype, you’re intelligent people, you’re developers – fight the good fight, keep on being cynical.