Is HTML5 the UI platform to rule them all?

21 January 2013

Right before the Christmas season at the end of last year, a little snippet of news flew by which you may have missed: the World Wide Web Consortium (W3C) announced that it had completed (and published) the full definition of both the HTML5 and Canvas 2D specifications. “Wait, what?” I hear you say, “but my phone already supports HTML5!”

HTML5 logoWell, strictly speaking your phone and my desktop and Joe’s tablet all support their own flavors of HTML5. The latest version of the markup language has been in development over a few years and browser manufacturers have been keeping up to a certain extent. But, before you start complaining that your browser of choice doesn’t support the full HTML5 spec, consider the moving target that the browser manufacturers have had to aspire to. To a certain extent, it makes sense that the browsers would lag behind the spec: after all, you don’t want to have to discard code when the spec changes (I’ll stop for a moment right there as every programmer who’s ever made a living at this job howls with cynical laughter at that scenario).

But now the spec is finalized, the browsers can catch up and everyone’s happy. Right?

I wish. The problem is that modern web apps like Single Page Apps (SPA) rely on a lot more than just HTML5. In fact, you might think of HTML5 as an overall moniker for a system that looks more like a triangle, with HTML5 relegated to just a single corner. The other two corners of this UI platform triangle are CSS3 and JavaScript (or some flavor of ECMAScript 5) – and if you think HTML5’s spec took some time and tracking to implement, just wait until you see the morass that is CSS3 support (vendor-specific prefixes anyone?) and ECMAScript 5 support. Nevertheless, the rigid steel triangle that is HTML5/CSS3/JS is well understood by pretty much everyone who uses it to provide app functionality: HTML5 is the content, CSS3 the presentation of that content, and JavaScript the code glue that binds the others to provide interactivity, richness, and a proper user experience.

And that is another cue for some laughter among my readers: “proper user experience”. The issue here is that no longer do we just look at a website in a 960px-wide window as in days of yore. My desktop is 1920px across, my iPad is 2048px or 1536px depending on whether I hold it portrait or landscape, my Kindle Fire HD is 1280px × 800px, and my iPhone 5 is…whatever it is. With just that little lot on my desk (let alone my Surface RT) how can we talk about “proper user experience”? I must admit to being a little biased perhaps, but I kind of expect my web apps to look like they are native iOS apps on my iOS devices and like native Android apps on my Fire. And it would be great if the website had a “responsive” design as well for my desktop browser. (A responsive design for a web app is a UI that can change its rendering depending on the size of the browser window. For a discussion on why this is becoming more and more important in 2013 and beyond, see this Mashable article.) In other words, a proper user experience no matter which device is being used.

That of course leads me to our just-released DXTREME product line. Part of the HTML side of the DXTREME subscription is a client-side library that understands devices. It will switch (that’s the JavaScript part) the presentation of the app (that would be the CSS part) according to the device you are running on. The markup of the content (that’s the HTML5 part) does not have to change to support these different devices. Now, agreed, this is all in the early stages – DXTREME does an excellent job for phone-sized devices – but that doesn’t translate brilliantly yet to tablet-sized devices with their extra screen real-estate, so you have to design your tablet interface separately for the best UX. But we have big plans for the next major release to support more devices and to support more widely-varying resolutions. Nevertheless, for creating a multi-platform single-page web app that looks native on whichever devices your users have, DXTREME today is the way to go.

So, in answer to my somewhat flippant question above: if you view HTML5 as the markup language, then, no, of course not. If however you view it as the overall name for the HTML5/CSS3/JS UX triangle, then it’s close, but gets even closer with DXTREME.

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.