Tuesday, March 15th, 2005

A Few Rebuttals to Ajax Critics

Category: Ajax, Editorial

I’ve done something three times over the past two weeks I never thought I’d do again: talk about the web as an application platform. Why, just over a year ago, I was explaining to anyone that would listen that “DHTML” web applications were difficult to create maintenance nightmares involving a motley crüe of brittle dialects, bound by an underpowered scripting language.

And now my friend Dion and I are sharing Ajax goodness with the world, joining with hundreds of our collegues as we blur the boundaries between web and desktop clients. What a difference a few Google apps can make.

As our community explores Ajax, there are bound to be a few naysayers and curmedgeons. Such dissenting views are of course healthy contributions to the discussion. I want to address two common buckets-of-water-thrown-on-the-ajax-discussion.

First, I’ve read plenty of blogs and comments in recent days that express the general sentiment, “XMLHttpRequest isn’t new, quit blabbing about how cool it is.”

Perhaps the best rebuttal to this sentiment is in Lee Gomes’ interesting Wall Street Journal article, published today:

Meet Ajax, the technology powerhouse. For years, it has been living indolently on your computer, never really doing much of anything.

In the past few months, though, computer programmers, most notably those at Google, have begun to wake up Ajax and put it to work. And as a result, the computer industry may never be the same.

Well said, Lee. As Dion and I expressed in this site’s first entry, we know XHR, JavaScript, and the DOM API aren’t new. In the (out-of-context) words of Ted Neward: “Get over it.” What is new is the emerging wave of energy and excitement building around this stuff. Let’s ride the wave and not waste time arguing over where it came from.

The second general detraction is goes something like, “Ajax web applications aren’t nearly as cool as rich desktop apps, so let’s not waste our time on them.” In the words of Keith Lea:

…the web is not a cool platform for complex applications.

The first rebuttal that comes to mind is in the form of an experience I had all three times I presented on Ajax recently. Quoting myself:

Google actually distributes two interactive map applications: a rich client called Keyhole, and of course, Google Maps. Of the two, Keyhole is vastly superior. You can navigate the entire world in luscious, satellite-mapped detail, along with topographical details. It makes Google Maps seem quite primitive by comparison.

How many of you have tried out Keyhole? (Three hands go up). How many of you have tried out Google Maps? (A sea of hands go up).

There’s more to say on this topic, but its time to wrap up this entry, and I’d like to make one more point before I do.

I’m still bullish on rich desktop clients. While I’m excited about Ajax, its just one more tool on the architect’s shelf. In fact, the next few projects in my personal and professional queue involve Java’s Swing GUI toolkit.

Let’s move past arguing about what Ajax is, how poorly suited the term is, and how unfortunate it is that web browsers trump every other technology when it comes to getting your software into the hands of new users.

Posted by Ben Galbraith at 8:43 am

3.3 rating from 6 votes


Comments feed

G’day Ben,

I don’t think comparing Google Maps against Keyhole is realistic, since Google Maps is free, while Keyhole only has a 7 day time limited trial (and after that costs USD30).

Speaking personally I avoid installing time limited trials since I inevitably don’t have time to try them out fully before the trial period expires, and then after that I end up with a messy clean up job to do to get rid of the software. What your ad hoc poll may indicate is that others think along similar lines.

IMVHO the key differentiator between web applications and desktop applications is deployment: until desktop applications are as trivial to deploy and update as web applications, their (IMVHO obvious) UI benefits will be overshadowed by the fact that they’re a pita to deploy (and yes, I know about Java Web Start and friends, but they’re still not as easy as web app deployment).


Comment by Peter — March 15, 2005

For me, comment is better than article, sorry

Comment by Carfield Yim — March 15, 2005

Just check out an example over at Massless.org.

[ http://www.massless.org/_tests/form1/ ]

This developer works for Google and he shows how you can simply create a form handling object which will wrap other DOM API functions so that you can use your own custom API to develop rich web applications. And you can test your API against multiple browsers and platforms so that what you build on top of it should work, or at least will require less testing or repeated effort to resolve the same problems which are solved in the framework.

Work smarter, not harder.

Comment by Brennan Stehling — March 15, 2005

To add to your rebuttals

(1) the fact that Ajax applications are not new is a good thing: innovation is NOT defined as new technology as such, but as a new and useful application of either existing or new technology.

(2) I fully agree that Ajax is just an extra tool added to the developer’s toolbox. But I think a web interface is preferred for the majority of applications, although maybe not a large majority. Especially when SVG becomes mainstream, a lot of limitions will disappear.

(“…the web is not a cool platform for complex applications”) Fully agree, it is not a COOL platform, because it’s still such a pain to work around browser quirks. This will only end when mature development frameworks become available that offer an abstraction layer on top of the document-oriented browser, to offer an environment optimized for application developers. This would also include all the normal development processes such automated builds (Ant, Maven) and unit testing, as mentioned in another article on the site.

In short: I like this site, you’re writing down many things that I believe in :-)

Comment by Jep Castelein — March 15, 2005

Peter: Yeah, that occurred to me — but I still think the example rings basically true. NASA makes a free version of something similar to Keyhole, but even fewer folks have used that one. The other similiarities (same company, same basic idea) were too good to pass up… but I’ll think up other examples when I’m less hammered than I am at the moment ;-)

Comment by Ben Galbraith — March 17, 2005

Leave a comment

You must be logged in to post a comment.