Snippets, widgets and other levels of AJAX development

Gartner analyst Ray Valdes recommends orgs focus on usability and usercentric design from the start of any AJAX project. It’s not about using shiny new tech for the sake of it, he says. Using AJAX to improve the user experience is how you’ll create real business benefit, Valdes told Senior Editor Kathleen Richards when they sat down for this interview.

ADT: There’s a lot of hype about AJAX. Critics point to its narrow applicability, and say it’s nothing new because it’s a combination of existing Web development technologies—what’s your opinion?

Valdes: The bottom line is it can result in an improved user experience, which offers significant business value, but that is not automatic. Many developers will do what they always do—they don’t understand user-centric design. We’ve seen this with Java applets. We’ve seen this with Flash.

ADT: When should AJAX be used?

Valdes: Because AJAXis a repertoire of different techniques, a developer can add it to an app to varying degrees. I have identified what I call the four levels of AJAXadoption.

First is the snippet level, where you can take an existing app and add little bits of code to it without really changing the architecture, and you can get some value out of that. So you can add validation for the zip code, for example, or more responsiveness without roundtrip requests back to the server and without redisplay of the page.

The next level is the widget level, where you are not just enhancing existing user interface elements, you are adding new ones. New elements like a hierarchical menu—a so-called accordion control that has different elements which open up to reveal information or close up based on the user’s control, various types of pop-ups and so on. Widgets can be added to an existing app without a significant impact in terms of re-architecting or redesign.

The third level is the framework level, and that is where you throw away your existing code and re-implement the app, and you write it to a particular framework. Here there is potentially a big payoff. You can get a new look and feel for the user, more productivity, greater responsiveness, but it does require a rewrite, so there is more risk. The example here is Yahoo. Over the last year or two they enhanced their Web-based email incrementally with snippets so it would highlight certain items as you interacted with it. Now there is a beta version of Yahoo Mail, and it is a complete rewrite based on AJAX. It really tries to do for Yahoo Mail what Gmail did for Google—basically an entirely new, highly interactive, highly responsive approach.

The fourth level is an enhanced framework level that combines the client-side framework with the server-side platform. The client-side framework is interacting with complimentary code on the server that provides integration to back-end systems, support for service-oriented architecture, repositories for data and metadata, support for team development and app management.

ADT: Will mainstream toolkits be supporting AJAX by the end of this year?

Valdes: There will be support for adding snippets of AJAX, snippets of code. They won’t necessarily have fullblown AJAX frameworks. That won’t happen for the major vendors for several years. I expect some of these vendors, like Oracle, to acquire a company rather than build their own.

ADT: AJAX programming tools have been described as primitive. Writing apps is different from what enterprise developers are used to, and a lot of testing is involved because browsers react differently. What’s your take?

Valdes: These are good points, but that’s at the framework level. If you want an AJAXframework, you won’t be using Visual Studio, you will be using an AJAX-based IDE from a vendor such as JackBe. They have their own IDE, but it’s not going to do everything. At some point, you will have to switch over to your Visual Studio or JDeveloper to complete the development.

It’s likely you’re going to be developing server-side code as well, so there’s a fragmentation of your app. It’s now not just a homogenous system that is one code-base running on one platform. The behavior and logic is split up into client-side code and server-side code, and it’s likely those are not integrated because they are not part of an integrated framework.

ADT: Which tools are Global 2000 companies adopting?

Valdes: Framework-level use of AJAX among Global 2000 companies is still very rare. AJAXtoolkit vendors JackBe, Backbase and TIBCO Software have gotten a lot more phone calls from perspective customers, but the sales cycle is long, and the adoption cycle is even longer, so it will take a while for these projects to get under way. What I see for the next year or so is snippet-level and widget-level use of AJAX, both inside and outside Global 2000 companies. Among Web-centric startup companies, AJAXis almost a requirement—it is that pervasive.

AJAX is not the whole story for rich Internet applications. It has gotten a lot of the limelight in the last year. There may well be a backlash if people find that it doesn’t solve all their problems or that it has limitations—the complexity, the primitive tools, the lack of server side integration and so on.

People may then take a second look at some of the other RIA technologies that are not AJAXbut go beyond it, like Macromedia Flex for example, which is based on Flash; or Laszlo Systems Open Laszlo, which is also Flash based; or Java-based systems; or systems that are based on clientside Java, like Canoo and Nexaweb.

Web-Only Content from ADT:
AJAX development interview, continued

Gartner analyst Ray Valdes discussed AJAX development with senior editor Kathleen Richards for the March issue of Application Development Trends. Here's more of what he had to say:

ADT: What about AJAX derivatives?

Valdes: AJAX is a collection of different techniques, and new techniques are invented every day, but they are all part of the AJAX family, as long as they work. The definition of AJAX is that it is not outside the browser, it is within a standard modern browser that has JavaScript and dynamic HTML, and nothing else is required, so anything that falls within that is AJAX, even if people weren't doing it a year ago, even if people invent it tomorrow, it is still AJAX.

ADT: How do standards play into AJAX development?

Valdes: There are different ways of using AJAX. AJAX is not one thing. It is a label applied to a repertoire of different techniques, some of which go back to 1997. So there are parts of it that are not new, and what has given it prominence in the last year is actually innovations in usability and design that highlight the dormant capabilities of the browser that were there for a long time, but people didn't really make effective use of them. AJAX is a name for a collection of techniques, some of which are now being used in a new light in a new mode of interaction. Part of that is that different browsers from different vendors are more alike than they are different in support of standards so there is greater cross-browser compatibility so you can design a more sophisticated Web application that will work better.

ADT: Search engines still don't recognize versions of JavaScript.

Valdes: If you are looking at HTML text for Web applications like Google's, the amount of HTML that goes to the server, to the browser, and basically adds another layer, and that now takes control and retrieves data and displays that information, in that kind of scenario it is invisible.

But JavaScript also works on style sheet tags to make content visible on the page, which was not visible in response to the user's interaction. There it actually works better for search engines, because you have a page that has a full range of content, even though only part of it may be visible to the user's view, all that content is sitting in HTML from the file that gets translated to the server, so it is visible from the search engines, but not necessarily visible to the user until the user requests these elements.

ADT: According to Gartner, companies should assume that 60 percentof new app dev will include rich Internet application technology by 2010, and 25 percentof app dev will rely almost exclusively on RIA. Is that outlook still on target?

Valdes: It's too conservative. It seems AJAX over the past year has really caught fire. There's a lot of bang for the buck. You can add sizzle. You can also add solid improvements. It is simple conceptually, a little bit goes a long way. At the outset, you don't have to re-architect your existing apps, you can just fold in code. You don't need to invest in buying new development tools. You don't need to invest in new servers and infrastructure. These are just some of the reasons. Today, AJAX is primarily being added at the eye-candy, cosmetic level. Over time it will become part of every development toolset.