In 1996, Sun Microsystems released the Java platform. Although it was yet another programming language entering a landscape already populated by the likes of older languages like Perl, C++, and C, Java had an ace up its sleeve: While older languages required recompilation for every different platform, Java was cross-platform. Older languages also needed special tweaks to handle the issues they encountered when running on different platforms. From the start, Java ran on any operating system without the need for recompilation or operating system-specific tweaking.
This revolutionary feature was given the acroynm WORA – “Write Once, Run Anywhere.” How did Java pull this off? The Java libraries are packed with every bit of information needed to operate in a variety of platforms – memory and file management, network operations and management, and thread creation for cross platform purposes. Java proved an immediate hit since many veteran programmers, especially C++ and C coders liked the high amount of abstraction found in Java. This gave them the freedom to focus on application logic.
Java’s WORA strategy was so appealing that, by 2005, Java became the language of choice for open source projects listed at Sourceforge. Eventually, other languages incorporated Java’s winning WORA philosophy. In fact, WORA has now become the default standard for Javascript, Python, and PHP.
Given its mass adoption by competing languages, does WORA still have any relevance? Yes it does – on the client side. Users access the Internet through web browsers and these applications use a wide range of technologies to compile and organize the content. There are still many proprietary technologies that lack a common standard (for example: Microsoft’s Silverlight versus Adobe’s Flash) interacting with differing standards (HTML vs XHTML). This poses a special challenge for browsers which have to accommodate all these elements to properly render a page. This leads to either bloated browsers handling increasingly complicated sets of operations or less than optimal interpretations of the differing standards. Regardless, to the user, content is all that matters. The underlying technology is just a means to an end.
This problem is highlighted in particularly stark terms in the mobile web browsing environment. There is a fast-rising conflict between native mobile apps written for a particular platform and mobile webapps. Mobile apps have to be rewritten and recompiled for each new platform it will run on. This is similar to the pre-Java computing days of having to recompile and tweak C, C++, and Perl programs as you switch from one OS to another. Thankfully, HTML 5 holds the same promise as Java did in the past. While native phone apps can boast of better performance and more effective access to their native phone platform’s features, the days of this advantage against web apps are fast disappearing with the rise of HTML 5. Its feature sets are fast approaching parity with mobile apps. The proverbial handwriting might be on the wall regarding HTML 5′s triumph as mobile computing’s WORA champion: first, much of the confusion wrought by XHTML was eliminated when the World Wide Web Consortium (W3C) agreed to halt XHTML2′s development. Instead, it threw its weight into HTML5′s favor as the HTML standard for the future.
Second, mobile OS heavyweights’ positions lend themselves to natural support for mobile web apps running on the free HTML 5standard. Apple never supported Flash for its iPhone line and Steve Jobs has praised HTML 5 as the future’s mobile web app standard. Google has supported HTML5 development all along by tying it to its fast rising Chrome browser and adding HTML5 support to Youtube. Interestingly enough, Microsoft has decided to change its strategy from Silverlight to HTML5.
Third, Windows 8 treats HTML5 apps as native apps which pushes HTML5′s capabilities beyond the confines of the browser. Content providers are taking notice as exemplified by Facebook’s push for mobile utilization of its content through the HTML 5 standard.
Often, dramatic sea changes in technology standards simmer before boiling over into ubiquity. The developments described in detail above point to an overwhelming change in client browsing technology on the side of HTML5. WORA is poised to triumph yet again.
