• Home
  • About
  • How to Select RIA Technologies (Part 1 of 3)

    August 15th, 2007

    AjaxWorld
    This is part 1 of 3 blog posts discussing the article “How to Choose an RIA Path: AJAX or Adobe?” by Jeffrey Hammond.

    Recently I stumbled across Jeffrey Hammond‘s article published in the May 2007 issue of AjaxWorld Magazine. Actually this article is a summary of a Forrester Research Report published in December 2006. The article (and the full-version report) helps readers to decide whether to choose AJAX or Adobe’s Flex for their RIA solution. It brings up some very crucial arguments – pros and cons – for both approaches from a project manager’s perspective that many others focusing on mere technical aspects leave out.

    I can really recommend reading this article but I would like to add some comments because of two main reasons:

    1. The article suggests that we have only two big options to select from – AJAX and Flex – ignoring the third option: using (plain) Java to build a RIA where especially this third option overcomes three of the four limitations that Jeffrey considers as the main obstacles to using RIA technology.
    2. Jeffrey gives three arguments in favor of AJAX (vs. Flex):
      - shorter time-to-market,
      - incremental change of existing Web apps,
      - and speedy performance.
      The first two – although convincing at first glance – might become at least questionable when digging a little bit deeper.

    I will start my discussion with this second point:

    AJAX: The Fast Lane to a Better User Experience

    In my opinion:
    You are not necessarily faster developing with AJAX than with other RIA technologies.

    Jeffrey claims that AJAX helps shops to meet time-to-market needs because the learning curve for developers is not as steep as with Flex. Two comments on this:

    1. Knowledge of languages and frameworks is only one critical factor in determining time-to-market. Quality and functional richness of the libraries used, availability of development tools and IDEs that boost a developer’s productivity (Jeffrey mentions this issue in the list of cons), and the impact on overall architecture (I will come to this in a later post) will also determine time-to-market – and depending on the size of the project – are more important than the effort to learn a new language like mxml.
    2. My own experience in applying AJAX technology (I must confess – from a manager’s perspective) is that no developer knows all required languages to build an AJAX application on the same level. Some have very deep knowledge in Java and XML but only beginner’s or medium level expertise in applying CSS or programming JavaScript. With AJAX, developers have to use new and swiftly evolving libraries that vary in the functionality they offer (ranging from very low level libraries like prototype to very high level like Ext JS) and programming model (some are more server- and Java-centric while others require heavy JavaScripting). Bringing all this together is normally a complete new experience for developers – even if the “traditional” ingredients of a Web application are well known.

    In summary, a project manager who plans to develop a RIA should carefully think about the time-to-market argument and AJAX. For small projects that incrementally add some limited AJAX features to an existing Web application I can underline Jeffrey’s statement about time-to-market. We made this experience when we ajaxified our online dictionary Canoo.net. But when building large applications, especially to be integrated into a corporate environment, I would not subscribe to Jeffrey’s point of view.

    To be continued in parts 2 and 3.


    Coming soon: A new release of Canoo UltraLightClient

    August 8th, 2007

    As announced on the mailing list (an html mirror is available here), a new version of Canoo’s UltraLightClient is coming soon. Currently Milestone 3 can be previewed at the product website.

    I asked Daniel Grob, lead developer, what the new UltraLightClient version will offer:

    Daniel Grob, lead developer at Canoo Engineering

    Daniel: The focus of release 6.2 is to make UltraLightClient more complete for testing. Version 6.2 offers extensions to test UltraLightClient-based applications more easily. These new test extensions cover the requirements of two separate user groups:

    • UltraLightClient developers can test the user interface of their applications using JUnit.
    • Testing engineers can use the new integration for Mercury’s QuickTest Professional to record and play functional test scenarios.

    In addition, we’ve added numerous feature requests and fixed lots of bug reports.

    What will be the main benefit for UltraLightClient developers?

    Daniel: In version 6.2, developers can rely on a stable and technically mature JUnit-based testing framework:

    • All tests run stable, fast and are reliable.
    • Developers no longer need to pay special attention to UltraLightClient characteristics such as Lazy Loading.
    • Applications are tested end-to-end and include custom launchers and custom container adapters.

    How do you see the future of Java for RIA?

    Daniel: Current developments in the consumer area (the catchwords being Web 2.0 and AJAX) will overlap more and more into typical business areas. People will want the same ease of use and efficiency that they are experiencing with Yahoo Mail or Google Calendar in their work applications. Besides usability, other topics such as ease of development, availability of know-how, and the possibility to protect investments are important in companies. I believe, other RIA technologies will establish themselves and will be used in addition to AJAX.

    In this respect, Java has – based on its well-established strengths regarding efficient development processes and availability of know-how – clear advantages. I expect that within the business sector Java for RIA will grow strongly in the near future. Sun – the Java owner – seems to see this trend as well, as their latest developments all point into this direction, e.g. JavaFX and the Consumer JRE.