Here at OSNews we believe that in many ways the future of computing is mobile. It's also a pretty exciting field, since it's been so dynamic over the past ten years, with platforms rising and falling, and no one vendor ever rising to dominate. But this "wild west" market can be a real source of anxiety for mobile-oriented software developers, who have to gamble on which platform to support, or go to the extra effort of placing multiple bets. Maybe it's not a huge problem for hobbyists or developers of simplistic apps, but as the devices get more powerful, it's enabling the development of more powerful apps. If only these developers could develop a sophisticated mobile app that could be deployed on all the major mobile platforms. Now they can. There's an open mobile framework called Rhodes that allows developers to write an app that will deploy on iPhone, BlackBerry, Windows Mobile, Symbian and Android.

Ah, "write once, run anywhere." Where have we heard that promise before? It's been fourteen years since Java launched, and we still haven't achieved the the "write once, run anywhere" vision on desktop PCs they way they promised back then.

Or haven't we?

On May 23, 1995, Sun's John Gage and Netscape's Marc Andreessen officially announced Java at the SunWorld conference, and indicated that it was going to be built into Netscape Navigator. The early enthusiasm about Java and its inclusion into the browser was just one of many reasons that people started to see the browser's potential to make the operating system irrelevant. Microsoft and Bill Gates certainly weren't ignorant of that possibility, and launched an all-out assault to ensure not only that developers continued to make software for Windows, but that if browser-based apps were to ever emerge, they would emerge into a fractured browser market, or better, a Microsoft-dominated browser market.

14 years later, Java never made its splash in the desktop PC world, and client-side Java apps are not common, but Java emerged as a major force in server-side enterprise software, a market that also suffered from platform fragmentation. And despite Microsoft's best efforts, Bill Gates' worst nightmare has largely come true. A major portion of consumer-oriented application development has shifted to the web.

Much of today's web application development is done on the so-called LAMP platform, with PHP, Perl, Python, or Ruby, often as part of a framework, mated to Apache and MySQL on Linux, with HTML and Javascript (and AJAX) for the user interface. Early web apps were awkward at best, but a combination of better UI technologies and years of practice has made it possible to design elegant and useable applications for the web "platform."

This is where Rhodes comes in. The first step that Rhomobile, the developer of the Rhodes framework, took was to implement Ruby on all the major mobile platforms. Some people think of them as "The mobile Ruby company." Then they created a Model View Controller framework for their mobile Ruby implementations. Rhomobile's CEO described it to me as, "Ruby on rails is to web development what we are to mobile device development."

The bold move that Rhomobile made, and history will probably best judge whether it's folly or genius, is to use HTML for user interface development. Thus, instead of having to develop the UI in Objective C, C++, Java, or .NET for each device, you do it once in HTML and deploy on all the devices. Rhomobile claims that thanks to their framework, "You don't even have to know much about Ruby. HTML was chosen because of people's familiarity with it."

Rhomobile makes some pretty bold claims about how this approach speeds up the development process, even if you ultimately only want to launch on one device. The consensus among their developers is that using Rhodes to develop a mobile app takes about 1/5 the time of building it natively using the device's standard tools. Wikipedia had an Objective C-based iPhone app, and when they found out about Rhodes, they re-wrote it using Rhodes with an HTML-based interface and only used 1/5 of the code.

Rhodes is dual-licensed under the GPL and a commercial license. Developers who open-source their apps may use the GPL version of the framework and pay no fees. Commercial developers may license the commercial version of Rhodes and negotiate either a revenue share or per-seat fee with Rhomobile.

Rhomobile's latest project is RhoHub, a hosted development environment intended to make it easier to launch a web-enabled mobile app.

More information about Rhodes is available at Rhomobile's web site. If you'd like to try out an app built with Rhodes, they have a page listing several of their more high-profile ones, several of which are free of charge.