If HTML was a person, it would be almost old enough to
drink. Unlike your average 18-year-old, however, HTML has hardly
grown at all since it first appeared.
Traditional HTML pages still work on a click-and-wait basis, in
which users must submit web forms to the server for processing
before they can continue a task. This server round-tripping can
make complex online tasks such as booking flights slow and
laborious. The result: abandoned shopping carts and lost
revenues.
Rich internet applications (RIAs) are supposed to save the web
from this 1990s clunkiness. Using a combination of server-delivered
XML data and client-side code, the applications are supposed to
deliver smoother browsing for end-users. Instead of clicking
through pages of HTML listings when buying a digital camera on
Amazon, for -example, you might use slider bars to alter criteria
such as price, megapixel count and storage format. The results
would change magically before your eyes, enabling you to choose
your camera with only one trip to the server.
Most RIA development software suppliers recommend that the
technology be used for specific types of application. Generally,
applications that go beyond basic form-filling on a single page are
candidates, particularly task-based applications such as online
banking and reservation systems. Dashboard applications that
collect lots of data into a portal-type environment are another
good example, especially if they need real-time information
updates.
Pioneers in RIAs -include Google, with its maps service, which
automat-ically loads geographical data -before the user needs to
see it, so that when a map is dragged around the screen, it
automatically updates itself without the user needing to wait.
NetSuite has also used RIA capabilities in its integrated small
business software, enabling executives to drill down into its
business dashboard system more effectively.
RIAs are still mainly browser based, although two of the biggest
players – Microsoft, and Adobe (with its Macromedia acquisition) –
are hedging their bets by offering tools to develop and run RIAs
both in the browser and as applications directly on top of the
operating system.
Microsoft first hinted at its RIA ambitions at its 2003
Professional Developers Conference, when it unveiled the
architecture underlying Windows Longhorn (now known as Vista). Much
of that architecture has since changed, but XAML, the XML-based
markup language that controls the Avalon graphics engine, has
remained.
Avalon, now called the Windows Presentation Framework (WPF),
will serve as the basis for Microsoft’s client-side RIA interfaces.
The same code can run natively on top of the WPF outside the
browser, or inside the app as an XML browser application (XBap). At
the back end, the company’s forthcoming Atlas technology will
extend the ASP
.net scripting system to support asynchronous RIAs.
Web designers and developers will use Microsoft’s Expression
products to build RIAs for the Microsoft platform. Expression
Graphic Designer is purely a graphics tool, whereas Expression Web
Designer focuses on browser-based RIAs. Microsoft’s UK head of
technology Mark Quirk characterises it as the natural successor to
Microsoft’s Frontpage web -design tool.
The third product in the -Expression family, Interactive
-Designer, is Microsoft’s next--generation Windows Forms Designer,
a tool for building RIAs that run directly on top of WPF, without
the browser. Some of the products will ship with Vista, and the
Expression Web Designer will ship at roughly the same time as
Office 2007.
Adobe is already selling some RIAs thanks to its purchase of
Macromedia. Flex is Adobe’s in-browser RIA development and
deployment technology. Currently on version 1.5, but with 2.0 in
the works, it was -initially conceived mainly as an in-browser
system, although version 1.5 enabled Flex applications to be run
using Central, a system that runs applications directly on the
operating system.
One of the main differences between version 1.5 and version 2.0
(due to ship in the second half of this year) will be licensing
fees, said Andrew Shorten, presales consultant at Adobe. Version
1.5 was licensed on a per-CPU -basis at £8,600 each. “So the entry
point was relatively high. We are separating the components in Flex
2.0, making the software development kit – the framework for
building applications – completely free of charge,” he said.
Developers will be able to build applications using their preferred
integrated development environment (IDE) and compile and deploy
them to their website.
A separate IDE will be licensed for about £575 per developer.
Adobe will provide a plug-in for the Eclipse IDE, including an
integrated debugger.
SnappMX and Openlaszlo also use the Flash player to deliver
-applications to the browser, -although in different ways. Snapp
MX, from Canadian company NetCentrics, is a fast development
environment requiring almost no coding. Using the IDE, developers
create hierarchies of screens, populating them with fields and
binding the fields to data sources at the back end. The developer
then links the screens together, defining events that trigger
movement between them.
After it is compiled, the Snapp MX-built application is
delivered as a series of XML packets that are transformed by a
runtime module cached in the browser. The runtime module displays
the screens and talks to the back-end server. A single-developer
licence for the system, which requires a back-end Cold Fusion MX,
Java, or .net application server to work, costs about £290.
Designed by Laszlo Systems, Openlaszlit is an open source
development environment that can be deployed in one of two ways on
the server: either using the Openlaszlo Server, or Standalone
Openlaszlo Output (Solo). The former compiles and caches the RIA at
runtime using a J2EE server, and the latter precompiles the
application for delivery to the client via a normal HTTP server.
This lets it interact with different scripting engines, such as
PHP.
Laszlo Systems has extended Openlaszlo to work using DHTML –
that is, HTML controlled using Javascript and CSS – essentially
bridging the gap -between RIA tools that rely on Flash, and those
tools that ignore Flash in favour of the Ajax concept. Ajax
(Asynchronous Java and XML) uses Javascript on the client to
manipulate XML-based application data downloaded from the server.
The interesting thing about Openlaszlo is its recently revealed
ability to publish both Flash and Ajax applications from the same
code base, giving developers more choice.
Openlaszlo is completely free. Laszlo Systems’ business model
centres on consultancy, and selling applications that it has built
using the Openlaszlo system. It is interested in pushing these
applications into mobile phones and television set-top boxes. Its
Digital Life suite combines a consumer-focused mail system with a
photo organiser and calendar.
Laszlo bridges the Flash and Ajax worlds, but other players are
focusing purely on Ajax-based RIA systems. Tibco’s General
Interface is an IDE designed for building RIA applications that run
in a browser window. Linking to any web server that can publish XML
web services, it uses the Tibco GI engine – a collection of
Javascript object libraries that can be used to provide predefined
GUI widgets, data, event, and communication objects to an
application.
Developers who want to deploy RIAs using Tibco GI will have to
download a cacheable version of the engine to the browser.
Downloading frameworks to the browser seems to be a consistent
requirement for most RIA tools, whether they be Flash or Ajax-based
(apart from Micro-soft, which uses the pre-installed WPF as its
framework).
Tibco GI is available in two editions: pro and enterprise. The
pro version is free for development and testing and comes without
support. Only developers who -deploy an application online and
charge users to access it must pay, starting at £290 for five
concurrent users. The enterprise version, which is where the
company will really make its money, gives you helpdesk access.
Tibco GI’s Ajax-based rival, Backbase, also uses its own
Javascript library running in the browser. Whereas Tibco GI is
entirely server-independent, Backbase sells several editions: the
Java and .net editions are designed to hook into those back-end
server systems, making it possible for developers to automatically
update components of the RIA in the client as data changes on the
server.
There are some other RIA suppliers, such as Sun Microsystems,
which has added Ajax functionality into its Java Studio Creator
Software, and Integra SP, with its Altio browser-based RIA
development system – although Integra is currently lying low
pending a merger with an as yet un-identified partner.
These applications all offer promise, but some of them also run
the risk of breaking the internet in an attempt to “fix” it.
Because the applications that these tools can produce are much more
complex in their use of Javascript and Flash, they threaten cross
browser compatibility.
For example, Tibco GI does not support the Firefox or Safari
browsers. Instead, it is entirely Internet Explorer-based. And
Microsoft’s reliance on the WPF will make it difficult to run
applications written for that platform on an upper operating
system. It is planning the version of the graphics engine called
WPF Everywhere, but the quality of the interface will be scaled
down, making it unlikely that applications will succeed on
non--Windows platforms. Backbase, on the other hand, supports
Internet Explorer, Firefox and Safari.
Also, watch out for patchy mobile support. Tibco GI offers none,
whereas Backbase is targeting some mobile phone platforms with its
technology (although not Microsoft’s Mobile IE).
The standards question will be horrifying to standards stalwarts
who worry about what an increasingly destandardised web will look
like.
These companies will be attempting to define their own de facto
standards. If they succeed, they will indeed have produced a web
full of eye-popping applications and rich user interfaces. But at
what cost?