Dave Wolf

The Experience Matters. User-Centric Development.

20060929 Friday September 29, 2006

Living in DENIAL with AJAX

As we approach the first ever AJAX conference next week where I am doing a keynote, I was re-reading Jesse James Garrett’s blog entry where he first coined the term AJAX.

  • Asynchronous
  • JavaScript
  • +
  • XML

With that one acronym Garrett was able to take what had been nothing more then a fairly unknown JavaScript function and give it a life of its own. Once Google used AJAX to mimic what is nothing more than a simple and common “rich client” control like the combo box in their Google Suggest beta, AJAX became synonymous with Rich Internet Application (RIA) development. When a trade magazine, or a developer or a technology

evangelist spoke of AJAX what they meant was a RIA that wasn’t bound by the web’s primitive controls and request/response architecture. We all very quickly forgot that AJAX really was nothing more then a JavaScript function to fetch some XML data. AJAX became a calling card for this next generation of browser-based RIAs.

The problem however is that AJAX hides a little lie about how it really works. The AJAX acronym and its tie to RIAs has us all living in DENIAL of one very important aspect of how AJAX applications actually become “rich”.

  • DHTML
  • Expertise
  • Needed
  • Is
  • AJAXs
  • Lie

See, there is nothing “rich” about AJAX. AJAX just describes the idea that you can grab discrete chunks of data to drive a web based application without having to refresh the whole page. How you dynamically update HTML elements in real time using those chunks of data is what lets you take an otherwise static request/response web page and turn it into a dynamic and interactive RIA. DHTML is how you do that HTML manipulation and it is actually DHTML that delivers the richness of user experience.

The problem with this DENIAL of the reality is that an AJAX based RIA is so heavily dependant on DHTML and that DHTML is a nightmare of a canvas to work within. If it wasn’t, you would have seen DHTML become the standard for building web sites and web applications 5 years ago. But you surely didn’t. The reality is people tried and it was a disaster.

I challenge that if you ask CTOs if they want to build the next version of their applications using AJAX, the majority of them would say absolutely yes. If you then asked them instead if they wanted to build the next version of their application in DHTML they would violently disagree citing the huge amount of money they wasted trying that years ago.

This DENIAL began at the moment of birth for AJAX. Garrett never mentioned DHTML once in his blog which coined the phrase AJAX and yet DHTML is at the core of what makes AJAX at all compelling.

Why is DHTML such a problem? Well DHTML is JavaScript based and incredibly browser dependent. Building incredibly rich user experiences in DHTML meant significantly longer development cycles, phenomenally longer testing cycles and an application whose fragility was dependent not on developers, but the whims of browser vendors. Ryan Stewart had a great entry on just this subject which he called Apocalypse 2.0 - the day the web broke.

This is exactly why RIA platforms based on a standard player that works identically across browsers have grown as rapidly as they have. Products like Adobe Flex provide a consistent, predictable platform built over an incredibly productive canvas. Mix that in with the player’s ability to render almost any control in a cinematic way and you now have a RIA user experience solution that solves all the problems DHTML could not. We come to a user experience where if you can imagine it, you can create it. Flex also provides another advantage that home-grown or even open source DHTML solutions can’t solve. That is being backed by a vendor you can trust and rely on 24 hours a day, 7 days a week. Someone to lean on and let you rest assured that when the chips are down, and an issue arises, there is help at the end of a phone. It’s the same reason why other flash based yet Open Source RIA solutions never caught on.

Do I think that DHTML based AJAX RIA’s are unworkable? Not at all. That would be very short sighted and simply unfair. There are cases where a Flash or other “player-based” solution simply won’t work. As well, there are DHTML/AJAX based RIAs out there that are quite impressive. Microsoft’s Outlook Web Access is one of the best examples around. However like Flex the solution is going to be in using AJAX based products such as those coming on the market over the last six months. Having a vendor with deep expertise in DHTML , its specific quirks, and that will support that library of DHTML widgets is going to be a workable solution in the long run. Mixed in with a strong Services Oriented Architecture (SOA) back end, these vendors are going to finally create strong and viable AJAX offerings. As a RIA development company, Cynergy has kept our eyes on several of these vendors and some of their solutions are quite nice. More to come on this.

Don’t forget though…the untold story behind all the hype is that AJAX is really DHTML under another name, and that is the secret this whole boon has been in DENIAL over ever since Garrett coined the term. That DENIAL will be the doom of more RIA projects than any other cause as this nascent market winds up. If you are considering AJAX over player based RIA technologies such as Flex/Flash and Microsoft’s WPF keep that DHTML elephant in the room in mind when you make an implementation choice.

Posted by davewolf | Sep 29 2006, 12:35:42 PM EDT
XML