Unless you live in a technology cave you have probably noticed the discussion in the industry around Flash and HTML 5 that has been started by the Apple controversy. My goal here isn’t to rehash what has been said around using Flash or HTML 5 in a browser or on a mobile device, but to share my thoughts around this debate as it applies to Enterprise Business applications.
There is valid debate occurring around the pro’s and con’s of using Flash to serve a banner ad, or a video, or if the <canvas> tag or <audio> tag are a viable alternative. However this is a minor point when you are considering which platform to use to create a business application or a consumer facing RIA (Rich Internet Application).
First, let’s look at where the HTML 5 spec currently sits. It is a much-needed refresh of the current HTML 4 spec and has some great features such as support for video, audio and offline data storage using SQL Lite. The W3C HTML 5 specification is currently in “Working Draft” status and is not expected to be finalized until 2012 or later. The other current issue with HTML 5 is that is only supported in varying degrees by the major Internet browsers and some of its features may never be supported by some browsers (such as an offline data store).
We do a lot of work for Fortune 500 clients and have used both Adobe Flex and HTML 5 on projects. Currently HTML 5 is an option if you have full control over which browsers will be used to run an application (which is frequently not the case, even in the Enterprise). In contrast, Adobe Flex is a great platform to build business applications and can run in virtually all desktop browsers.
Flex is a rich platform that has complex UI elements (data grids, tabbed navigators, menus, etc.) built directly into the Flex SDK (now called Flashbuilder). It allows you to take your application and easily run them in Adobe AIR (Adobe Integrated Runtime) on the desktop (outside of the browser) or on a mobile device*.
As a company we are generally technology agnostic and try to bring the best options to the table to meet client needs. Although our focus is around deploying Cloud based solutions we have found that user interface or taking the Cloud offline is important to our clients. The question of Flex vs. HTML 5 for a business application is an easy one to answer today and will likely be so for the next couple of years. The promise of HTML 5 is great, but until the specification is finalized and it is widely supported by all major browsers it can only be used in limited ways and it doesn’t have the developer productivity tools that are inherent in Flex.

Here is a real world example. One of our early iPhone products on the iTunes AppStore was Search2GO, a simple search tool for Salesforce.com. This was built in Objective C and it took approximately 8 weeks to develop. Yesterday I watched two developers create over half of this same functionality using Flex/AIR and had it running on an Android phone in a day. Granted there are still things that could be added, but this was a great illustration of why Flex/AIR is a great toolset.
So while the debate rages on about HTML 5 vs Flash in the consumer market I’d recommend taking a hard look at Flex for business applications.
* Except the iPhone or iPad of course…
