The Ajax reality distortion field

David Temkin raps it out.

WE spent five years trying to build a “Laszlo-like” rich media interface platform inside of Javascript and tehbrowser. Believe me this is one subject I know about.

I LOVE ODDpost and the Google Maps thingie and what people are doing with D HTML nowadays. Our weboutliner is in D HTML.

But lordy lordy lordy - do these folks have a reality distortion field up. David Temkin agrees. Or shall I say - I agree with him.

Ajax, Ajax, Ajax — the buzzword has taken the Web world by storm. As it’s been presented, Ajax (”Asynchronous JavaScript + XML”) is a new way of creating rich Internet applications by means of “standard, mature, and well-understood technologies” — i.e., DHTML. This is the big draw of Ajax, and is the core of the hype.

It is indeed possible (and sometimes even desirable!) to create rich Internet applications using DHTML; I’ve been talking about this for some time. But the idea that DHTML technology is standard, mature and well-understood is accurate in only a theoretical way.

Until very recently, it was commonplace knowledge that DHTML doesn’t work consistently across browsers, isn’t maintainable, requires code forking, delivers limited fidelity and so on. And while perhaps this is still common knowledge among level-headed developers, somehow the introduction of the “Ajax” buzzword has induced Web-wide amnesia, and people are now under the illusion that creating full-scale applications in JavaScript is a simple proposition — just throw in a little script here and there, and you have an app suitable for Web deployment. No new learning required, just a few clever hacks.

Welcome to the Ajax reality distrortion field.

This one post about replacing Flickr’s Flash UI with a DHTML UI seems to sum up these contradictions rather concisely:

First, the developer, Neil Kandalgaonkar, writes that this DHTML version of the Flickr UI will work in more places that the Flash UI that Flickr uses:

“So what’s wrong with Flickr’s perfectly good Flash interface? Nothing. But maybe…you often use operating systems where Flash doesn’t work, or doesn’t work well.”

But later in the post, Neil goes on to write:

“This is a hack that works in just one browser, Firefox. Developing cross-platform DHTML is much harder and more painful. Flash has a lot of advantages over DHTML; it’s truly cross-platform, and can do much more special effects. If that works for Flickr, more power to them.”

Well, that sounds rather different! Finally, when explaining why someone might be interested in what he’s done, Neil writes:

“…you’re a web developer and you are interested in this bleeding-edge Ajax stuff.”

I’m confused. Isn’t Ajax/DHTML “standard, mature, and well-understood”?

Just to be clear: I think what Neil has done is cool. But cool, bleeding edge, difficult and incompatible isn’t what Ajax is supposed to be all about.

I sometimes think of how developers look at DHTML apps in terms of grading on a curve. A Laszlo-, Flash-, or Java-based RIA will typically receive all sorts of complaints from Web standards vigilantes about non-standard UI, accessibility issues, problems with bookmarking and deep linking, and incomptibility with search engine crawlers. But a similar app built using DHTML — excuse me, “Ajax” — elicits enthusiastic responses from the very same crowd like “Wow! Look at how cool this DHTML site is! Isn’t that UI great?”

Of course a full Ajax/DHTML app has nearly identical issues with UI, accessibility, bookmarking, and search engines that other RIA technologies do; but they have the veneer of being “standard”. And just to state the obvious, lest we forget: HTML as a standard for Web applications is in a precarious position, with the leading browser vendor actively working to define its own all-new markup language for networked applications, and other browser vendors creating a splinter group that diverges from the W3C to promote their own standards for Web applications.

Theoretically, DHTML is a standard. But to quote Yogi Berra: “In theory, there is no difference between theory and practice. But, in practice, there is.”

[David Temkin]

I couldn’t have said it any better myself.

One Response to “The Ajax reality distortion field”

  1. benjamin grant Says:

    XUL.

    XUL.

    XUL.
    ;-)