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."
Ajax itself is also destined to change. The technology, which
marries JavaScript and XML, has been beset by problems, not least
of which is the propensity for JavaScript to facilitate system
attacks such as cross-site scripting. However, HTML 5 will help to
alter that, Hammond argues.
"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.
There are still enough frameworks of significance to make the
RIA landscape crowded, and to give developers second thoughts about
which one to support. Other
frameworks include Dojo, the IBM-supported JavaScript toolkit,
which will also be attractive to many AJAX developers.
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.