Most power users are disappointed with the performance of Rich Internet Applications
(RIAs) based on Asynchronous JavaScript with XML, or AJAX, according to a new
research report from Forrester Research Inc.
As a result of the AJAX limitations, the research firm recommended that business
users consider emerging next-generation RIA technologies like Adobe
AIR from Adobe Systems Inc. and Microsoft Corp.'s Silverlight
tool set.
According to the report, which was released late last week, power users find
that AJAX applications are very complex and their reaction time is limited.
The reaction time and general speed of user interaction is always limited with
AJAX business applications, the report said.
"The local rendering of complex business screens requires serious client
CPU time," the report noted.? "A European retailer that wanted to
migrate screens from a Visual Basic rich client to AJAX reported initial load
times for complex screens of many seconds. Given the nearly instantaneous display
of the old client app, this was annoying for power users."
In addition, because most AJAX frameworks tend to keep all real business logic
on the server as opposed to local systems, user interactions may require a roundtrip
communication between the browser and server for each input field. Some large
applications could easily have 50 fields on a single screen.
As a result, AJAX developers told Forrester that they had to reduce real-time
input validation compared with traditional rich clients to meet performance
requirements. Real time input validation is a top priority for power users,
the report said.
Forrester said that as AJAX framework vendors work hard to overcome these barriers,
they have encountered additional problems. For example, improvements in bandwidth
have not led to expected AJAX performance gains. "Bandwidth has widely
improved and people are starting to realize that many AJAX applications have
not speeded up accordingly," Forrester noted.
In addition, most corporate desktops run a virus scanner that investigates
each line of JavaScript, which slows the rending performance of the browser,
the report noted.
The problems likely could be overcome if AJAX vendors and browser companies
moved in the same direction to fix them, but Forrester noted that the opposite
is actually true. Microsoft is investing in AJAX alternatives like Silverlight
while Mozilla lacks the
"hundreds" of developers it would need to fix the problems. Meanwhile,
Apple's Safari has
not been widely adopted for a software vendor to rely on it as the browser of
choice.
In the report, Forrester tasks application vendors to concentrate on the needs
of power users versus occasional users and to evaluate new rich client platforms
as possible alternatives to AJAX. Specifically, mid-sized application vendors
evaluating an AJAX framework should also consider the Microsoft and Adobe approaches,
the report advised.
Larger vendors should evaluate Adobe and Microsoft's technology seriously,
but stick to traditional client technology until the new offerings mature. Large
vendors can also consider investing in the Tamarin
project - a Mozilla-hosted open source effort that aims to build the next
generation JavaScript engine. Tamarin will also contribute to the further development
of Firefox.
These companies should also look at the new generation of metadata driven Java
clients from niche vendors, the report said. "Using a client-side framework
and paying careful attention to detail might allow business application vendors
to work around some of the problems," Forrester noted.
"You might have to implement some business logic twice - in the client
AJAX framework and in server-side transactions," the report added. "And
while browsers might become faster, you should plan to test for both Internet
Explorer 7 and Internet Explorer 8 until Internet Explorer 8 becomes mainstream."
For the study, Forrester studied three types of AJAX applications that are
replacing traditional client applications: AJAX-driven mash ups, a gradual re-factoring
of an HTML page using AJAX and using AJAX to completely replace an enterprise
application.