Snippets, widgets and other levels of AJAX development

03/01/2006

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.