This Blog


Favorite Posts


January 2013 - Posts

  • Is HTML5 the UI platform to rule them all?

    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.

  • Musings on “mobile”

    iPad and BrydgeI look at my desk. There’s my laptop, driving not only its own screen but two external ones. There’s an iPad, third generation, affixed to a third-party keyboard. As I mentioned on my own blog, there’s a Kindle Fire HD propped in the stand on a foldable Bluetooth keyboard. To my left is a Adapter plus iHome dockcheapo docking station slash speaker pair that is charging my iPhone. Behind me on the floor, propped against the bookcase (why do I still have physical books when I have three Kindles?) is my Surface RT that I hardly use. Next to it is my old Kindle Fire, now relegated to my tech junk pile of history along with my previous laptop which I use for my Windows 8 testing. The only reason I can’t chuck my still-perfectly-functional yet-I-no-longer-use-it desktop on the same pile is that it’s the base for my old CD player – yes, I’ve been known to play the odd CD.

    Sure, I’m a geek. I have a gazillion devices. This isn’t about that. It’s more about the variety of devices, the variety of provenances, the variety of OSes.

    A few more data points on my curve before I get to my thesis:

    • My wife’s best friend has just bought (as a Christmas present from Santa) a Nabi tablet for her daughter, a feisty three year old, because she was fed up with the little darling monopolizing her iPad playing with paint apps.
    • Although Amazon don’t release Kindle sales data, all indications seem to point to the Kindle Fire HD being a big seller. Perhaps even better than Google’s Nexus 7? The iPad mini seems to be a bestseller.
    • Project Glass by Google. Yeah, it’s a concept device, but how close is it to release? This year? 2014?
    • I’m not a TV person (I don’t own one) but all I see at the moment is companies jostling with their TV devices (Apple, Google, Microsoft, etc, etc). And why should there be a TV device anyway? Can’t a tablet/laptop do the work?
    • In-car infotainment systems were all the rage at CES, how long before they’re in every car we can buy? General Motors and Ford seem to be leading the pack since they allow the linking of a smartphone to the device (and therefore the downloading of traffic data, say, for the device), but how soon before the car’s system is itself a “phone” and has its own Internet connection? Yeah, we can laugh now about the notion of downloading apps for the car, but it’s going to happen.

    Kindle Fire HD 7 with Stowaway keyboardMy point then is this: in this world of a gazillion different devices with different screen sizes and resolutions and input methods (keyboard, touch, speech), how are you going to target the consumer? By writing iOS apps and assuming that the mobile market is just the iPhone and iPad? Or maybe that Android is the answer? Good luck with that; that’s not a plan of action for understanding the future, it’s painting yourself into a corner.

    My thought here is that it’s way too late to just concentrate on one OS, on one device. We had that possibility in the past but it’s now gone, dumped with my old computing devices on my tech junk pile of history. Our customers are using god-only-knows-what devices to access information about the world, about us. They may be mobile as we currently understand “mobile” but they may be something else. The only way we can easily reach (for some reasonable value of “easy”) our customers in the future is to target the devices they are using, that they are thinking of using, that they will use. And that means HTML5/CSS3/JavaScript. It’s the only pan-device user interface technology we have.

    Not only that – that was the engineering view, if you like – it also means that we have to get better at responsive web design. Our pages of data and information and content have to reflow automatically to suit the device; what looks good on an iPad will look disgustingly awful on those future Google glasses. We have to get better at data visualizations: a small screen needs different visualizations than a large one. Touch requires different scenarios and technologies than speech.

    I feel we’re at the top of a cliff with a hang glider strapped to our back, with a wonderful countryside vista spread out in front of us. There’s a single simple step to make but – oh, the possibilities – how long will we fly, where will we land?

    [A quick note: this is me pondering the future, and does not necessarily jell with DevExpress’ future direction. Or maybe this is more of a curve in 11-dimensional space, and several dimension dot products coincide with DevExpress’ 11-dimensional future plans. Who knows? I’m only the CTO here.]

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383


DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, Delphi, HTML5 or iOS & Android development. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2018 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners