Wednesday, 4 April 2012

Tales from a Dark Room: HTML5 Video

Part 1: HTML5 and why bandwagons can be costly and dangerous.


As HTML5 Video is the big thing for clients at the moment, it’s important to remember that HTML5 is an unfinished specification.

Smart clients can see the next thing coming and HTML5 is a big thing coming. It will help define how we interact with information and media for the foreseeable future; it will power online commerce and business systems for at least the next decade and is fundamental to this generation of mobile devices and even to the next generation of desktop operating systems. So I can understand the clients' desire to get on board but jumping on to a bandwagon which is also an unfinished code specification is very risky especially something as essential as HTML5 is to the future of media consumption.

So I said it was unfinished, to give you some idea at the end of last October it was announced by HTML5’s governing bodies
W3C and WHATWG that they were dropping the <time> function and creating the <data> function, for more information see goodbye html5 time hello data. The reaction from developers was predictable to say the least.

Now there were two camps of vitriol from us web monkeys; the first was from developers that were playing in the cutting edge, grumbling about time systems in their cool new app not working. And the second and much more worrying camp was from developers that were forced to rely on <time> functions due to demand from user and or clients for the mobile bandwagon and that’s where the problems lie.

For now the mobile bandwagon is a whole other bandwagon and that’s for another post.

The 15 ton red plaid diplodocus in the room is mobile device companies using HTML5, an unfinished specification as underlying structure for their devices. Couple this with the boom in both media consumption and mobility and it has cultivated a vocal mobile device user base that heavily relies on HTML5. In turn this forces clients to push developers for live production level systems, sites or apps incorporating functions like <time> which that can be dropped from an incomplete architecture at any moment by the whims of 2 different governing bodies.

A situation for developers that at best can be described as problematic and at worst as mind melting development chaos.

Now, a few weeks after it was dropped, it was revealed that <time> would be re-added to the W3C specification and was re-added to WHATWG specification in February, this was due to pressure from clients, developers, users and even members of both governing bodies. When the <time> function was returned it was also different, a new version of <time>, later stated as an amalgamation of both the <time> and <data> functions. For developers this is a hair ripping nightmare.

This also sets a dangerous precedent that any modifications of existing functions or the creation of new functions in HTML5 can be reversed just by public outcry. This has given both of HTML5’s governing bodies very little room to manoeuvre on finishing the specification.

The bottom line of the HTML5 <time> fiasco is that circumstances like these cost time and money for everyone involved clients and developers alike.

So what has all this got to do with HTML5 video I hear you ask? This is a media company’s blog what am I talking about <time> for? Well a similar thing is happening with the <video> function at the moment. Yep HTML5 video is about to change.

What they’re doing is adding DRM enabled content delivery to the specification, obviously under pressure from certain sections of the media industry. I’ll save that rant for another time.

Now we don’t know how they are going to implement this, how much of the video specification is going to change and what effect it will have on content delivery and how that will affect the end user. These are important questions that need answers before further development in HTML5 video can continue somewhat risk free. We pretty much know nothing on what’s going to change in the coming months. DRM could just be bolted on and nothing would change, just a Boolean true or false command or they could have to rebuild the whole video function from scratch and that means trouble to everyone who has invested time and money into HTML5 video.

All this is compacted by Adobe who is now starting to phase out Flash but that is yet another blog entry that I’m saving for another time.

With the end of Flash ruling the online video market on the horizon, online media companies are going to have to develop for HTML5 video and they have to start now to keep in the game. But even starting now without the changes to <video> coming in the next few months, there are still many problems already inherent in HTML5 video.

The main problems faced in HTML5 video development are no native fullscreen support; no native adaptive streaming, no support for HTML5 on XP machines when using IE as the browser, different browsers and platforms offer varying states of accessibility, command and codec support. I could expand on this further but LongTail have already written a good article on the state of HTML5 video in browsers and platforms so I will not bother rewriting the wheel. The document can be found here
The State Of HTML5 Video. It’s well worth the read and will clear up some misconceptions about market shares.

With all this is it worth investing in HTML5 video development? The answer is yes but until any of the questions posed are answered, browser and platform compatibility is improved, issues are resolved and the HTML5 specification nears completion it is a risky venture. But unfortunately due to the media consumption landscape it is a necessary long term goal for all working in field of digital video media.

Next time on Tales from a dark room...The client's guide to the internet.



www.thepeloton.tv

2 comments:

  1. HTML4 era ends, there will be no hacks, embed, object and other tags needed, javascript tricks to achieve this in any browser.On the other way, it will be hard for developers of browsers, BUT: it’s still better than having only one close-source technology to have video on site. There is a real concurrency between browsers, so their developers will surely try to make it the best way they can. Unlike Flash developers, in my opinion.html5 video player

    ReplyDelete
    Replies
    1. Either this is a clever indictment of my fractured and incoherent writing style or I have disrupted your HTML5 world view and that should be viewed as a positive thing. Having your understanding challenged is one of the many paths to wisdom. So on with the rebuttal…
      Yes over the next 5 years HTML4 will be replaced with HTML5 and in that time Flash will be phased out as the main deliverer of online media, I think I mentioned that in the post.
      And yes it’s great that there is now yet another closed source technology that allows embedded video on a webpage. So now you can only embed video on a website using the html4 embed tag (direct embed of video file), a Flash video player, a Silverlight video player, a JavaScript video player and now the html5 video tag. I’m sorry but that’s more than one.

      If you actually read the state Of HTML5 video article you know there is actually not that much concurrency between browsers on HTML5 video currently, there’s actually very little on HTML5 between members of W3C and WHATWG at the moment. Not to mention between the media industry, mobile device manufacturers and the HTML5 standard bodies. There is not much unity around HTML5 at all at the moment and that mostly due to it being unfinished and forced into prime time to early.

      Oh and why do you keep talking about browser developers? This is about the risks faced by web/app developers being pushed to use incomplete standards such as HTML5 and its unfinished function , was I not clear or did you actually not read the article? I understand that there is a trickledown effect; a modified function needs to be integrated into the rendering engine before it will affect the developer or user, but one version of a rendering engine supporting the original function and the next version supporting the modified function only is a fully-fledged development nightmare and one of the problems I talked about, especially at the pace browser makers are churning out new versions.

      I would like to have a serious discussion about html5 video with you but being a childish about Flash developers is petty and uncalled for so either straighten up or don’t comment. Anyway I’m not a Flash developer; I’m a web developer and have been for many years. One of the languages I can program professionally for is ActionScript and a lot of the work I do for Peloton is ActionScript based as HTML5 video simple won’t cut it at the moment for want they want (though I am currently working on changing that). But I see being able to program professionally in ActionScript and or Silverlight as a necessity same as HTML, CSS, PHP and or ASP, SQL and JavaScript for any professional web designer/developer/administrator for the foreseeable future.

      Delete