WORA is an acronym coined by Sun Microsystems over a decade ago to describe the benefits of a new programming language they created – Java. At the time, every compiled programming language needed to be recompiled on every platform you wanted to run it on, often with particular fixes to handle the idiosyncrasies of different operating systems. Java was different in that it had the benefits of a compiled language, but thanks to the cross-platform ‘virtual machine’ it ran on, it could run anywhere without recompilation or tweaking.
So, WORA stands for "Write Once, Run Anywhere" and was intended to succinctly capture this benefit. The Java libraries dealt with such things as working with the file system, using the networking features on the device and even creating new threads in an abstract, cross platform way. As an engineer, having these complexities taken away from you was a welcome relief, allowing you to focus on your application and not the plumbing.
If we look at the web, it’s easy to see the profusion of client-side web technologies that characterises a youthful industry. Non-standardised proprietary technologies (Flash, Silverlight) mingle with conflicting standards (HTML, XHTML) to create a multitude of different ways to achieve the same things. While each presents particular innovations, for the developer and user, there is a diminishing benefit as the number of options grows and the complexity of developing and browsing the web increases. Ultimately, for the user, content is king and the technology is incidental.
In terms of mobile, much has been written about the choice between native mobile apps (as delivered by appstores) and the mobile web apps. While native apps must be written (and then rewritten) in a platform specific manner, their ability to access all the phones features has been touted as outweighing this disadvantage. However, in truth these benefits are few and growing fewer as modern mobile browsers improve at a rapid pace.
As the feature set of competing technologies approaches parity, it is natural for one to win out as the default. I believe we are at such a juncture, and the battle has been fought (and won) by HTML5. In short, it is the web’s new WORA – a platform that allows developers to focus on the application they are writing without worrying about how the content will be displayed across a variety of different browsers and devices.
Why do I claim it has won? Let’s look at the big vendors:
- Google supports HTML5 most directly by developing Chrome, but has evangelised the standard for years with a number of their tools and platforms, including YouTube’s support for HTML5 video since early 2010.
- Microsoft has recently stated that Silverlight has been ‘repositioned’ and HTML5 is their preferred web technology. Added to this, Windows 8 supports HTML5 apps in the as first class native apps, a move that takes HTML5 beyond the browser.
- Apple famously does not support Flash in their mobile browser, making HTML5 the only possibility for rich media. Also, their new iAds platform relies on HTML5 for presentation.
- Facebook CTO, Bret Taylor’s focus for 2011: Mobile and HTML5. Or, mobile on HTML5.
There are many more vendors and examples, but the case for HTML5 is becoming clear. It is the platform on which, for the foreseeable future at least, content can be written once and read anywhere, from sites to ads to apps. Much like Java’s impact on server-side programming, the start of the HTML5 era is a significant milestone for the web, and it’s time to get on-board.
Also check out: