Performance issues and complexity hobbling attempts to use rich AJAX apps for daily work
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.