HTML5 as Enterprise Strategy? No, It’s Not Magic

Image: dalcrose/Flickr

Can mobile really change how business gets done? Not long ago this was a valid question. But now trends have changed in the industry. With the recent IDC research stating the sale of tablets will overcome the total sale of desktops by the end of 2013, every organization has to get serious about mobility. Recent studies show about 71% of IT executives are either thinking of, or adapting to, a mobile strategy with some going so far as to take a “mobility first” approach.

Organizations can’t just think about adopting an enterprise mobility strategy, it is a must. But with the changing landscape of the mobile industry this is easier said than done.

Organizations are posed with several challenging questions:

How to drive revenue and business opportunities through mobility?

How to take calculated risks responding to unproven technologies?

Most importantly, is there a business strategy where mobility fits?

My experience leading the technology development of tradeMONSTER, one of the top online brokerage firms in the nation where we rolled out an HTML5-based mobile trading platform recently and was ranked the best trading mobile app by Barron’s – has helped me get a better understanding of the answers to challenging questions which I would like to throw some light on.

HTML5 as an Enterprise Strategy

Organizations should be careful in choosing a strategy (native/hybrid/mobile web). With the recent news about both Facebook and LinkedIn moving away from HTML5, there are a lot of negative vibes about HTML5. HTML5 is neither a panacea nor a magic. It is very good in certain scenarios, specifically in more agile environments. It is a great strategy where the core business is not geared towards targeting evolving mobile markets. If an organization is thinking more long term, HTML5 can be a great option. However, the mobility strategy has to be backed by a solid business strategy or else it will be a failure.

Why we Chose HTML5 Over Native?

At tradeMONSTER, we were the first to introduce a browser-based streaming trading platform providing a unique user experience: “Anywhere, Anytime.” We wanted to maintain this theme in our mobile strategy and replicate the same web experience on the mobile devices. Hence, the cross-platform strategic choice was HTML5.

Being in trading, we needed more agility to update our apps, since these are real-time and mission critical and have to be up almost all the time. We can’t wait for Apple/Store approvals to update our app as we would have to do if we had taken the native route.

Re-usability was another factor that we considered. All components written in HTML5 had the ability to be used for multiple mobile environments and to be re-used later on the desktop.

Since our core business is not mobile development or software products, adopting to evolving mobile trends and taking the native approach would have required much more time and investment than using HTML5. Time to market and cost were major considerations.

Pros and Cons of Using HTML5

We took a lot of risk and faced many hurdles along the way. HTML5 was an “unproven” technology and the ability to create a high performance streaming trading experience (a trading system streams about 8 billion market data updates in 6.5 hours) was a major challenge. However, this is what we learned from our use of HTML5:

CONS

HTML5 is NOT a true cross platform technology

No standard “out of the box” framework will work

Device fragmentation creates many difficulties

Rendering and caching are major bottlenecks

Catering to large volumes of streaming data is quite tricky

PROS

Great long term strategy to become standard across all devices

Catered to agile development and can adapt to hybrid strategy

More adaptable to enterprise strategy keeping business goals separate

Great fit with BYOD principles

Lower development costs

Ability to track usage and user behavior more easily

Creating a high performance trading app with HTML5 primarily had some challenges. I like to call them the “five pains of HTML “Five”. We had to write a lot of custom code for the following areas:

Scrolling

Handling multiple HTTP requests

Animations

Memory footprints

Event handling

So what is the best path? There is a lot of risk in taking a new approach with HTML5 – especially in mission-critical high performance apps. The risks can be reduced if a careful approach is taken by adopting the following:

An agile development plan with short cycles of 4-5 weeks

Analyzing technology risks at every point

Focusing on key technology challenges first

Willingness to fail fast and move forward

This balancing of risk is very important, but more importantly it’s the balance between native and HTML5 portions of the code. This is an important decision, but a hybrid approach is very useful in giving flexibility to add phone/tablet specific features in the native layer while keeping the server and business logic with HTML5. We took a hybrid approach by putting a wrapper on top of the HTML5 code to use the capabilities of distributing the app from iOS and Android stores, but still use the capability to update at run-time for the majority of the functionality.

The Key to Making it Work

We created a lot of patent pending techniques for data streaming and optimization, wrote a lot of custom code, and built a hybrid application with HTML5 as the code with a native wrapper. We developed a custom framework on top of HTML5 to make it work and focused on connectivity and state control issues of the app.

The key, however, is to balance the risks and willingness to write custom code and focus on technical challenges fast. If it is not working in your business use case, stop it. Taking a “fail fast” approach saves a lot of time and effort and gives you a point of return.

HTML5 is a long term strategy and an organization has to be prepared to take calculated risks and do additional work to make it a winning strategy. It requires belief and patience. So don’t rule out HTML5. It has performed well for us and it can for you.