When is a web application not a web application? When it's running on your desktop. But what if that desktop application...
needs the web to do anything meaningful? Rich internet applications (RIAs) are blurring the boundaries between web, browser and desktop - and they could revolutionise the way your employees and customers interact with your company.
The concept first began to gain credence in 2003, when Microsoft was preparing what would become Vista, and demonstrated XAML, its mark-up language which would be used to develop applications delivered over the internet and run directly on the desktop. At the same time, Adobe was preparing what would become its framework for RIAs, Flex.
Since then, Google and Sun have joined the game. How are things developing?
"Consumers are getting used to using different kinds of devices like the iPhone and the netbook," says Jason Warwick, a consultant at Capgemini. "And at the other end we're seeing lots of cloud-based activity." He says personal productivity suites such as Google Apps are garnering lots of interest from his end-user customers.
Adobe, which has led the field with its RIA offerings, sees potential in the usability of these applications. "One thing we're seeing demand for in the marketplace are applications that are aware of where they're running," says Andrew Shorten, Adobe platform evangelist. "That could be device-aware, or network-aware. The next phase will be contextual applications that run on a TV, desktop, or phone, from a standardised code base, but with a customised user interface."
Adobe has been working hard to cover all of its RIA bases. The firm offers in-browser applications based on Flash player, but also features Air, a virtual machine framework that sits as a software 'shim' atop the operating system, and runs its own applications downloadable directly from the Internet.
RIAs naturally overlap with mobile platforms. One of the promises of these applications is the ability to improve a computing experience while on the go, enabling you to switch between different computing platforms depending on where you are, while accessing the same data.
Adobe is eager to capitalise on the mobile movement, and recently announced the Open Screen Project, which is an initiative to get the same RIA runtime (Adobe's Flash player and AIR) working across all devices. Google has become a member, as has Research in Motion, the maker of the Blackberry.
However, Adobe is finding it difficult to get its software onto one of the hottest properties in the mobile landscape, the iPhone.
"Unfortunately, Apple is not part of the Open Screen Project," says Shorten. "And the company needs to work with Adobe to enable the iPhone to support Flash. That's not something we can do on our own." The company isn't giving Adobe access to the APIs that it needs, he complains.
Apple is riding high on the fetishisation of its hardware. However, Freeform Dynamics analyst Jon Collins wonders whether the ultimate condition for the success of RIAs involves shifting the emphasis from the platform to the application.
"The debate moves from the platform to the applications themselves," he says. "Suddenly, people stop asking whether you've got an iPhone, and start asking whether they have Twitterific [an application that is available on the iPhone and other platforms]." As soon as there is an overwhelming need for a Flash-based application on the iPhone, Apple's resistance will crumble, he argues.
The terms and conditions underpinning the iPhone Software Development Kit forbids developers from running a virtual machine on the system, presumably because it weakens Apple's control. The company has always been forthright about maintaining end-to-end control of its devices, and its broader business assets, such as online app stores.
Collins points out there are a variety of different at stores for different platforms, and there is a marked lack of interoperability and consistency.
However, things may be changing. As Jeffrey Hammond, principal analyst for application development at Forrester Research points out, this has been spearheaded by Google with its Android system, which is almost certain to make its way onto netbooks. "Android isn't making it hard or easy - it's an open source system, and you can do what you want with it," he says. "I would expect Google's rich internet application approach to be very complimentary to that." And last year, Symbian also became an open source system, leaving only Microsoft, Palm and Apple with proprietary systems.
Microsoft is a company in transition, as it tries to expand its culture from its desktop roots into internet-based applications. This is also reflected in the company's attempts to bridge the gap between desktop and internet in Office 2010. Charles Adams, office product manager for Microsoft UK, proudly touts the cross-browser support in the next version of the venerable office suite as if it is a groundbreaking development that no-one else has yet achieved.
The system - still only in technical preview - is designed to focus on document creation and editing, rather than on platforms, he says, explaining that documents can be created in the browser, and marked up on a mobile device.
Significantly, although the system will take advantage of Silverlight, Microsoft's rival runtime to Adobe Flash, it will mostly be based on Ajax, Adams admits. This is a strange decision for a company wishing silverware as the basis for its RIA strategy.
"It takes a long time to take something as big as office and re-engineer it to Silverlight," points out Hammond. "I absolutely think that's part of the plan, but I don't know they're ready to disclose how that's going to happen."
"The long-term strategy for Mozilla, Google and even maybe Apple is HTML 5. But that is going to take some time for some of the kinks to be worked out, and the standard develops into a consistent platform for developers to write applications on," he explains.
HTML 5 features a variety of improvements that make it very suitable for browser-based RIAs, including more support for asynchronous calls that get around the 'click and wait' round tripping that beset users of earlier web forms. New tags such as 'Canvas' for drawing make it possible to create richer pages purely in HTML alone. The results are already clear in systems such as Wave, the communications service from Google that marries elements of instant messaging and email together.
Other frameworks for RIAs include Google's Web Toolkit, and Sun's JavaFX. However, Sun faces significant challenges, not just because of uncertainty around the future of some technologies after the Oracle acquisition, but also because other frameworks support Java, too. For example, the Google Web Toolkit is designed for Java developers, making it easy for them to switch.
While we wait for the different players to duke it out, we will have plenty of time to plan which model of development we want to follow. RIAs make it easy to run code in different parts of the infrastructure, whether it is in the browser, on the backend, or in a virtual machine. But while we debate all this, we also have to consider virtual desktops and application streaming, which will further complicate matters. In a world of flexible development options, we are spoilt for choice.