Is HTML5 Ready for Enterprise-Class Mobile Applications?

March 6, 2012

The buzz around HTML5 in the context of mobile applications has been growing exponentially over the last year.  The prospect of cross-platform applications that are as powerful and elegant as native applications is too exciting for serious mobile solution developers to ignore, and leaders in the mobile space are pushing the limits of Mobile Web hard, trying to turn the promise into reality.

The release of jQuery Mobile 1.0 in November 2011 has garnered considerable attention as  “A unified, HTML5-based user interface system for all popular mobile device platforms”, and has enabled Web developers to target ‘near native’ feeling web applications to all modern smartphones.  The advancement of local web storage, and emerging support for direct hardware access fuels the excitement about the possibilities of mobile web applications.

Combine advancements in the capability of mobile browser based applications with the exploding ‘Bring Your Own Device’ (BYOD) trend, and enterprises cannot ignore Mobile Web as a realistic option when considering their mobile strategies…  but is HTML5 ready for Enterprise Class applications?

Enterprise Class Mobile Applications

Enterprise Class mobile applications differ from their Consumer Grade counterparts in three major ways: Data Complexity, Security Requirements and Workflow Characteristics.  Mobile workers are dealing with detailed business records, whether work orders, sales orders, customer files or financial transactions.  This type of data puts different pressures on an architecture than the typically data-light (though graphically intensive) consumer applications.  Dealing with corporate sales, customer and financial data requires much more significant security consideration than typical ‘App Store’ applications.  Additionally, workers leveraging mobile solutions are often executing complex dynamic workflows that are synchronized with the mobile application UI.  The amount of data used throughout the workflow must be thoughtfully presented at the right points within the workflow in order to reduce resistance to adoption, and to minimize training and support costs.  A mobile platform must be able to effectively deal with complex data, workflows and security requirements in order to be viable for Enterprise Class applications. 

Mobile Support for HTML5

HTML5 is a standard that has been evolving for several years, but has become a very hot topic for the mobile community as the commitment to open standards for mobile support has become more tangible. Because of the level of buzz in the mobile sector around HTML5, it is a common mistake to assume that the standard is fully supported by mobile browsers. Nearly all major Mobile Browsers support HTML5 features to some extent, though there are some significant holes.  Some of the most significant capabilities supported by mainstream mobile browsers are: GPS Access, Offline Web Applications, WebStorage, CSS3 and 2D Animation.  Notable exceptions include 3-D animation, FileReaderAPI, IndexedDB and WebWorkers (Background Threading) support. 

Of the unsupported features, the most problematic for enterprise applications is the lack of truly robust local storage.  If the application must work while disconnected, and if it deals with the complex data often required by corporate applications, the lack of WebSQL or IndexedDB could be a deal breaker for HTML5 in its current state.  If internet/network connectivity is not an issue, or data requirements are fairly light weight, then these local storage limitations will likely not be an issue either.

Security

The primary security risk related to HTML5 is that the specification allows for local storage of potentially sensitive data on mobile devices.  The storage of this data, and the ability for Web applications to read data from the device combine to form a real threat to data security.  The good news is that that there are tools and techniques available to mitigate these risks (outlined by the W3C here: http://www.w3.org/TR/2010/PR-mwabp-20101021/#bp-security ).  The bad news is that even though these mitigations exist, they require well thought out and executed programming to implement, just as ‘terrestrial’ web applications do. 

User Experience

The argument that the user experience on a browser-based mobile application is ‘no comparison’ to that of a native app is rapidly becoming obsolete.  Several HTML5 based development plug-ins and frameworks have emerged in recent years.  These libraries provide rich controls and interface options that enable developers to create excellent user interfaces that run in all of the major mobile browsers.  Environments such as jQueryMobile, Sencha Touch and Dojo Mobile provide varying degrees of support for building very elegant mobile web applications, from UI libraries only to DOM manipulation, AJAX and other utilities.   These types of tools have fueled an explosion in both the number and quality of Web Based mobile applications that rival their native counterparts.  A great example of just how capable and powerful an HTML5 based mobile UI can be is the You Tube mobile web app…  which you can find at m.youtube.com.   

When are Native Apps a Must

There are a few scenarios where Mobile Web just can’t replace Native applications as the right solution for an enterprise application.  If the requirement calls for camera access (e.g.; taking pictures of damage in an insurance claims application), if it requires complex, off-line data availability (e.g.; access to detailed oil-well maintenance history in the field) or integration with purpose-built device peripherals like RFID scanners, there may be no choice but to build a native application.  Other factors can also come into play, such as a desire to make the application available through the Apple App Store for marketing purposes, or an absolute requirement to provide the fastest and most supple user experience possible. HTML5 and the surrounding mobile web technologies are still catching up in all these areas, so for the time being some valid situations that require native apps still remain.

Hybrid Apps as an Alternative

It is possible to get the best of both worlds with HTML5 based hybrid apps.  These are cross platform applications that are built within a framework that basically runs them inside a tiny web server deployed as a native application.  The most notable of these environments is PhoneGap, an open source framework that allows developers to create applications using JavaScript, CSS3 and HTML5.  The UI is rendered within the ‘web server’ on the device (actually a WebView or WebKit) instead of using the native UI framework, but also gives the app access to some of the hardware capabilities through an API.  The resulting applications, which can be compiled locally or in the cloud, look and feel like Mobile Web Applications, but are distributed like native applications, and can include features that depend on hardware components like the camera, accelerometer, compass and GPS.

So…  Is HTML5 Ready for Enterprise Mobility?

If you have a well-defined business requirement that can be addressed by a mobile solution, this should be a fairly straight forward question to answer.  HTML5 is definitely the up and comer for mobile applications, rapidly growing in power and capabilities.  Many enterprises are starting to consider mobile web as a viable platform, particularly in the face of the BYOD trend, and it will continue to gain traction as the standard HTML5 matures.

Here are some rules of thumb that can help determine if HTML5 is a good solution for your Enterprise Mobile solution:

Not a fit

There are two major requirements that would prevent a pure Mobile Web solution from being the right fit.  If either of these conditions applies, you will need to take a native app approach.

  • Intensive Off-Line data requirements that can realistically only be handled by an IndexedDB or SQL database, (well served by iPhoneAndroid/Blackberry/Windows7 native apps)
  •  Hardware requirements such as RFID or more than occasional Barcode scanning. (Likely to drive you towards a Windows solution on purpose built hardware… but also keep an eye on Motorola’s work with Android on rugged devices)

Hybrid fit

The hybrid approach is a good fit in several scenarios; consider something like PhoneGap if:

  • You need cross-platform support,
  • You need access to the Camera or some other hardware component in the app,
  • You want to make the application available through the major public app stores (usually for marketing purposes in the case of Enterprise-class applications)

Great fit

Pure HTML5 mobile apps definitely have their place in the enterprise if:

  • Your off-line data requirements are not intense,
  • You don’t need to access any hardware components other than GPS or local storage,
  • You need cross-platform support.

 

MobilityCIO Services

Creating and executing a mobilization strategy requires focused expertise to navigate the dynamic and complex mobile technology environment. MobilityCIO principals bring years of experience with all phases of a mobile initiative into your organization.
We customize our engagement model with you to focus on the areas where we can bring the highest value, and greatest risk reduction to your initiative. We provide the services that your organization needs to succeed with Mobility

Featured Projects

MobilityCIO has a broad range of experience working with large and small enterprises. Our principals have enabled mobile solutions on a global basis for software companies seeking to mobilize their offerings, as well as corporations looking to improve the efficiency and effectiveness of their field workers.
Our experience spans everything from consumer grade iPhone applications to commercial solutions on Blackberry and ruggedized Windows Mobile devices.