Rich Mobile Applications for the Enterprise
HTML5 has been in the works for some time – since 2004 its specification has been under development. It is only in the last few years, though, that it has come to the forefront as a web technology – displacing Flash as the technology of choice for rich web interfaces, included in Windows 8 as first tier development platform, and giving developers another multi-purpose, well-supported tool in their mobile development toolbox.
The canvas element allows HTML5 developers to render 2D graphics and animations easily. It is an excellent alternative to Flash, and provides many of the same features. The link below contains a number of very cool experiments that demonstrate the power of this technology:
I particularly like this demonstration (click here or on the image to view):
Why It Matters
To many observers (this one included), Canvas is the nail in the coffin for Flash. Though it may not be a feature-for-feature replacement, it strikes at the sweetspot for Adobe’s product – for businesses looking for vibrant, animated, non-3D web experiences, this is the way to go.
Local storage, also known as Web Storage, allows for the creation of a permanent, key-value based datastore within the user’s browser. Though it is not a particularly sophisticated data store, the set/get semantics should be familiar to those who have used any of the newer NoSQL based databases, or just a Hashtable for that matter.
There are other persistent stores for the browser, such as Web SQL and IndexedDB. They are not part of an official specification, though, and their support across different browsers is spotty. I recommend a wait-and-see attitude with regard to these options, unless one has a captive user audience whose browser choice is dictated by the organization (and given device proliferation, capturing one’s audience is only getting trickier).
Why It Matters
The absence of persistent, dependable storage for web applications was a serious shortcoming. Without it, offline access to web applications and their corresponding documents would not be possible. Local storage moves the browser that much closer to being a complete operating system.
The HTML5 application cache allows all the resources (code along with miscellaneous files such as images, stylesheets, and other resources) to be downloaded locally to the user’s browser. By utilizing this feature, a web application can still run even when the user does not have an active internet connection. Amazing, right? One great example of this is Google Docs, the productivity suite from Google. Offline access for it can be enabled here:
Keep in mind, this does require using Google’s own browser. And though the application cache is supported across many browsers, for IE, it will not be available until version 10, which is is still only preview at the time of this writing (5/27/2012).
Why It Matters
The implications are obvious: offline access to web applications puts them on equal footing to any desktop application. The lines between networked clients and standalone fat ones, which been getting blurred for years now, are now officially gone. Well, with browser incompatibilities, maybe I’m stretching a bit to say completely gone – but it is not hard to see where this is heading.
There are many other features that are part of the HTML specification. But these are the ones I consider most essential to the enterprise. The emergence of HTML5 I believe has answered one question fairly definitively – what platform should I use for building rich, desktop applications? At the same time, it has thrown its hat in the ring on another important question – how should I build mobile applications? The choice between HTML5 and native mobile platforms is something to be addressed in a separate post, but there is no doubt it is one that decision makers must keep their eye on.
HTML5 Browser Compatibility:
HTML5 In-Depth (Extremely Well-Written and Informative):