Werner Schuster is making a few interesting remarks about Google Gears and how concurrency is implemented in Javascript. However, I’m quite puzzled by his following statement:

I still hope that AJAX will die a quick death, like Java Applets, just for being so damn ugly and horrible to implement.

Mmmh… AJAX ugly? Are we talking about the same thing?

AJAX is just the underlying medium. It’s a loosely defined set of language and design constructs that make it possible to fetch data asynchronously while displaying an HTML page. It’s like oil in your engine: it’s dirty and smelly, but you couldn’t get anywhere without it and if you’re not a mechanic, there is very little reason why you should ever have to manipulate it.

Werner is probably referring to the pages themselves that are using AJAX behind the scenes, and there is obviously not much that can be done about this UI problem except wait for the market (and the UI designers) to mature and get comfortable with this new paradigm.

As for AJAX being horrible to implement… well, not any more.

Yes, the low-level details are ugly, but you can’t expect any less from a foundation API. The early days were tough for programmers, but nowadays, there is really no excuse to reimplement another browser-neutral XmlHttpRequest layer. Whatever you want to do with AJAX, you can now do it in the language of your choice, and for each language, you easily have a handful of different toolkits at your disposal.

The way I look at it, AJAX is a liberating technology. I can’t wait to see what kinds of products await us in the next few years, and I certainly hope they will be built upon AJAX while allowing me to get work done while off-line.