Jeffrey Hammond

Subscribe to Jeffrey Hammond: eMailAlertsEmail Alerts
Get Jeffrey Hammond: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: RIA Developer's Journal

RIA & Ajax: Article

How to Choose an RIA Path: AJAX or Adobe?

AJAX is the best bet for experienced Web development shops looking to incrementally evolve existing Web applications

Developers and architects may salivate over the technical merits of AJAX, but managers should note that using AJAX frameworks also introduces risk. Unmanaged, these risks can increase costs or derail a development effort entirely. For example:
  • It's easy to choose the wrong AJAX framework. There are dozens of popular AJAX frameworks, and they are not created equal. Developers might want to cut a check based solely on a framework's rich widget set or light-speed performance, but architects will need to validate that the framework supports corporate standards for security, accessibility, service integration, and data access.
  • Finding best-of-breed AJAX development tools is difficult. Experienced Web developers don't mind writing JavaScript and XML in text editors, but most developers in enterprise IT shops prefer visual designers and WYSIWYG editing tools. When it comes to AJAX, the only such tool support available at present is tied to commercial AJAX frameworks, meaning that the choice of one is necessarily a choice of the other.
  • Cross-browser compatibility issues increase testing costs for AJAX. Testing costs increase in direct proportion to the number of browser platforms and versions to be supported. However, using a commercial AJAX framework can mitigate these costs, as the framework vendor incurs the cost of cross-browser testing. For example, Software AG certifies its cross-vision Application Composer on multiple versions of browsers like Internet Explorer, Mozilla, and Netscape.
The AJAX Path Itself Forks with Homegrown, Open Source, and Commercial Alternatives
Just because a development team has chosen to go with AJAX doesn't mean that its tool selection effort is complete. There remains the important decision of how many and what type of AJAX frameworks to use. Today there are three types:
  • Many developers create their own frameworks. Development teams create their own AJAX widgets when they need customized controls that work in a specific way.
  • Other developers build on top of open source frameworks. Open source communities engage in a constant process of peer review, which quickly separates good design from bad. This leads to successful projects maturing quickly, while poor frameworks lose critical mass. When selecting an open source framework, look for active development communities with committed corporate sponsors, as this is an indication of longevity. OpenLaszlo, Dojo, and the Google Web Toolkit (GWT), for example, are supported by corporate sponsors like Laszlo Systems, IBM, AOL, and Google.
  • Commercial frameworks provide a throat to choke. Commercial AJAX vendors provide support and certification of their products, which is appealing for managers who are uncomfortable taking the open source route. They also focus on providing capabilities that enterprise developers require, including high-performance clients and tooling that makes it easy for developers to connect to enterprise applications.
Just as there are myriad AJAX frameworks, there are also myriad AJAX framework selection criteria. These criteria fall into five buckets: customizability; security and accessibility; widget set; tooling; and cross-browser support. But not all of these criteria should be weighted equally (see Figure 1).

Adobe's Solution Is Powerful, Predictable, and Productive
Adobe is an attractive RIA solution because it combines powerful development tools (Flex) with a near-universal browser plug-in (Flash) that's designed to simplify RIA deployment. Managers who have concerns about small commercial AJAX providers or support issues with open source AJAX frameworks consider Flex a safe alternative. But there is a downside: To be productive in Flex, developers have to learn two new languages and an extensive runtime framework — something that can take between one and three months to learn. Once this initial hurdle is cleared, Adobe adopters see the following benefits:

  • Widespread adoption of Flash speeds deployment. When Flash is already installed, application deployment requires no additional changes to the user's desktop. Unlike AJAX, Flash doesn't require browser-specific code or enablement of JavaScript in the user's browser.
  • Flex works well for large-scale RIAs. Large-scale user productivity applications are often designed with conversation flows that require access to business data and rules to drive application context. Flex makes it easy for developers to provide the right business context and flow while keeping response times to a minimum.
  • Flex is evolving quickly and has a predictable trajectory. Adobe has invested heavily in Flex, and the result has been sustained improvement from release to release. In contrast, the future of AJAX depends on the whims of a dozen vendors and open source projects that aren't even loosely federated. In the words of one architect we spoke with, Flex is "one support framework to rely on, not dozens to integrate."
  • Flex Builder improves developer productivity and collaboration with designers. Flex Builder provides developers with a visual, WYSIWYG experience on a par with the best commercial tools for AJAX. What sets Flex Builder apart from these tools, though, are features that improve collaboration between developers and designers. Using Flex lets developers and designers at the American Cancer Society rapidly iterate through design changes and preview them with stakeholders within hours.
Flex Developers Are Hard to Find and Other Drawbacks of Flex
But Adobe isn't perfect. App dev professionals should consider the following Adobe drawbacks:
  • Flex developers are difficult to locate and command a premium rate. Flex developers are harder to find and more expensive to retain than AJAX developers: In the United States, they start at $60,000 and top out around $120,000. One executive at a North American financial services firm we spoke with had to retain talent from South Africa and the Czech Republic to deliver a successful project. As more developers ramp up on Flex this issue will subside, but for now it makes Flex more expensive in the short-term than Ajax.
  • Flash upgrade issues can defeat the deployment value proposition. When users aren't on the latest version of Flash, requiring them to upgrade is risky because almost half will abandon the site. Many are unwilling to wait through the lengthy install process and instead choose to do business elsewhere — potentially with the competition.
  • Success can create an unexpected user response. Flash is a broad graphical canvas, and Flex allows designers to push the boundaries of rich media further than AJAX does. This can lead to a situation where users become distracted by a mix of Flash's rich media and Flex's new controls. IT organizations can avoid this response by introducing rich media gradually and frequently conducting A/B testing with focus groups.
Which RIA Technology Is Best for You?
When aggressive developers push the boundaries of RIA development, they quickly run into barriers that affect their ability to take full advantage of RIA technology. Firms interviewed recently by Forrester Research cited several barriers to their RIA development efforts that no tooling available today could overcome (see Figure 2).

In selecting an RIA technology, application development professionals should choose AJAX when time-to-market is critical and updates are frequent. Experienced Web developers ramp up on AJAX quickly. AJAX also makes it easy to build RIA capabilities into existing apps with small, frequent releases. Finally, AJAX's customization capabilities make it possible to tune client frameworks to meet specific application footprints; this makes AJAX the better solution for smaller RIA deployments and for deployments where performance is critical.

For large-scale user productivity applications, developers should use Flex. Although Flash's client footprint is larger than AJAX frameworks, its market penetration makes it the preferred deployment platform for larger, comprehensive RIAs. Adobe is a safe choice for those who put a high value on reliable support and product continuity, concerns that are key when making strategic technology investments. The downside is that safety comes at the price of openness.

The benefits are clear: RIAs help users find and manipulate relevant content, complete complex transactions, and consume multimedia in the context of a larger app, providing improved customer experience, higher Web conversion rates, and thus improved revenues. While there's no one answer to the question of which to use, AJAX and Flex provide today's developers with options.

More Stories By Jeffrey Hammond

Jeffrey Hammond is a senior analyst at Forrester Research where he covers tools and techniques for application design and development. He is a leading expert on software modeling techniques, integrated development environments and the emergence of new rich Internet application development practices and tools. Jeffrey holds a BS in economics (finance) from the Wharton School at the University of Pennsylvania.

Comments (10) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Most Recent Comments
Utkal 04/02/08 01:44:59 AM EDT

Hi. What about Curl ? you ve not named curl in your article. Is it so bad that it can not compete with RIA technologies like Ajax, Flex, AIR, Silverlight etc ?
I wish you could ve included Curl too. I'm new to web dev, and started learning Curl. Its easy to understand and learn.

Ted Farrell 02/22/08 02:56:49 PM EST

Hey Jeff. Interesting article. We have found that our users don't have to choose. Our JavaServer Faces framework generates both Ajax and Flash markup. Other companies (google, etc.) do similar things as well. I think the choice only comes into play if you decide to use Adobe's Flex components, which only generate flash. Many other component toolkits generate multiple formats, including Ajax, Flash, WML, XML, etc.

Ted Farrell - Oracle Corporation

Marco Casario 12/13/07 12:58:44 PM EST

nice piece of article !
I had a speach at the Web 2.0 about this topic titled "Choosing the final RIA path" :

and here you can see the slides for my talk :

See you at AJAXWorld NY,
All the best,

Gregory C 11/29/07 12:29:54 PM EST


Thank you for this interesting topic,
Could you please expand this topic with the accessibility possibilities of both solutions ?
In my mind, it seems that Flex does not support accessibility and with some customization AJAX frameworks like GWT are able to handle this major subject (we're currently working on this topic using GWT). Regards.

Gringaus 11/02/07 04:23:01 PM EDT

Just stumbled upon this article... Pretty embarrassing for senior analyst at Forrester Research to come up with this b...t. Forrester, get rid of him, seriously.

Harry B. Garland 08/31/07 06:07:28 PM EDT

You forgot to mention that Flex is object oriented. JavaScript is pseudo-OOP at best. After all these years, are we still debating about whether or not OOP is important? That is crazy!

Canoo RIA Blog 08/20/07 08:42:21 AM EDT

As already mentioned in the Canoo RIA blog, reading this article is recommended. It lists several issues to consider that many others focusing on mere technical aspects leave out.

For a detailed discussion of this article, see:

Dirk 08/08/07 12:44:03 PM EDT

Digg this? Dump this you mean! I suggest to use both technologies before writing this kind of articles. Flex is simply the technology to use - if you would have used it you would know.

Andy 07/29/07 11:18:00 PM EDT

This article generated more questions in my mind than it helped with answers.

What about the Flex/Ajax bridge? What about companies that will continue to use both Flex and Ajax for a variety of different means?

What I really need is more useful information on how these technologies help address various types of business problems that are being translated into technical requirements.

What are people's main concerns? Mine are security and performance between the client and server. XML based services can be very verbose, are test show that Flex can have some advantages here, but what are other people finding out?

What are the cost differences?

Hopefully you can address these questions in a follow-on article.

Chester Chipperfield 07/14/07 11:49:32 AM EDT

I'm afraid you are wrong on a number of points here. This is not subjective, but mostly factual errors. Have a read of this , it goes some way to pointing them out.