Jeffrey Hammond

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


Related Topics: RIA Developer's Journal, AJAX World RIA Conference

RIA & Ajax: Article

Should You Choose AJAX or Adobe?

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

  • AJAX helps shops meet time-to-market needs. Developers with existing Web skills find that adopting AJAX involves a shift in design patterns, not a wholesale change in programming language or development tools.
  • AJAX favors gradual re-factoring of existing Web apps. AJAX is based on open and standard languages like JavaScript and XML. This makes it easy for developers to integrate AJAX widgets into existing Web applications that are written in HTML, DHTML, or server-side JavaScript.
  • AJAX can deliver speedy performance. Vendors of commercial AJAX frameworks like Backbase and JackBe invest considerable resources tuning their AJAX frameworks for speed because their clients have tiny footprints and download to browsers so quickly that there's no perceptible lag in app performance. Some open source AJAX tool kits share this trait, but others approach the size of Adobe's Flash and have equally long install times.

    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 (9) 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
    grotokoli blog 03/20/08 02:50:15 PM EDT

    Trackback Added: grotokoli 52 post; all about grotokoli and top news

    shupitoriko blog 02/10/08 07:32:34 PM EST

    Trackback Added: shupitoriko 99 post; all about shupitoriko and top news

    shupitoriko blog 02/10/08 07:32:34 PM EST

    Trackback Added: shupitoriko 49 post; all about shupitoriko and top news

    shupitoriko blog 02/10/08 07:32:33 PM EST

    Trackback Added: shupitoriko 90 post; all about shupitoriko and top news

    bloetura blog 02/08/08 10:23:39 PM EST

    Trackback Added: bloetura 28 post; all about bloetura and top news

    bloetura blog 02/08/08 10:23:38 PM EST

    Trackback Added: bloetura 33 post; all about bloetura and top news

    bloetura blog 02/08/08 10:23:38 PM EST

    Trackback Added: bloetura 50 post; all about bloetura and top news

    Pedro 12/10/07 11:02:33 AM EST

    These two are not even the best alternatives to RIA, what about a Java Applet? yes, it is easy to find a browser that supports an Applet that one that supports Ajax or Adobe, and it is lighter to load and run than a Flex app... What about JavaFX? what about other choices?, how do you dare to write an article with such a lack of information about the subject?

    2007 Sponsor List 12/03/07 05:19:42 PM EST

    AJAXWorld in 2007 was sponsored by the world's leading rich web technology providers including: 3Tera, Addison-Wesley, Adobe, Apress, Backbase, Bindows, Conference Guru, Cynergy Systems, Dynamic Toolbar, Extension Media, Farata Systems, Flash Goddess, FrogLogic, GoingToMeet.com, Google, Helmi Technologies, IBM, ICEsoft, ILOG, IT Mill, Ittoolbox, JackBe, JetBrains, Kaazing, Krugle, Laszlo Systems, Lightstreamer, Manning Publications, Methods & Tools, Microsoft, Nexaweb, OpenSpot, OpSource, Oracle, Parasoft, Passport Corporation, PushToTest, Quasar Technologies, Rearden Commerce, Servoy, SmartClient / Isomorphic Software, SnapLogic, Sun Microsystems, TechTracker Media, Tele Atlas, The Thomson Corporation, ThinWire, TIBCO Software, TileStack, Universal Mind, Vertex Logic, Web Spiders, and Webtide.