Thursday, May 26, 2005

Ajax Makes the Uncool Cool Again

It's interesting to see many people file wick under "ajax"-related tags. It definitely helps show one of the features people look most forward to see implemented. Or is Ajax becoming about more than just XmlHttpRequest, JavaScript, XML? How about "Doing Cool Stuff in a Web Browser" ?

We can't help but notice many cool projects surrounding web-standards based application development also being filed under "Ajax". Is it not possible to build valuable web components without using the almighty XmlHttpRequest object? Sure, but that's not the point.

At some point, DHTML was proclaimed dead and uncool. I never was a fan of the term either. It gives HTML too much of a prominent place, almost negating other powerful tools such as XML, CSS, DOM, (Java|ECMA)Script, and hey, why the heck not, XSLT. Then someone came up with "Rich Internet Apps". I abhor this term. Let's keep this one dead, very dead. Forever. Pretty please?

When XmlHttpRequest, the first implementation of which Microsoft introduced in IE5 circa 1999, finally became widely supported by most popular browsers between 2002 and 2004, such as the Gecko dudes and my favorite KHTML Mutant, it opened the doors to far more elegant alternative implementations of Remote Scripting techniques, to the seemingly hackier ones we might have used in the past. Suddenly there was a compelling way to dynamically breathe new life into the contents of a document. This also brought-on a new wave of excitement surrounding building documents that were more than just ... static, inert, passive, a phenomenon not unlike certain trends observed during the dark-ages of ... *gasp* DHTML.

More than a crappy acronym, those dark ages were plagued by a lack of mature standards, exacerbated by the then two big players' eagerness to one-up each-other with "extra features" and inability to sufficiently comply with what little standards there were, in a race to gain developer mind share, all of which culminated to Danny Goodman's valiant 1998 stab at a 1073-pages "Dynamic HTML, The Definitive Reference", the advent of hefty "DHTML Libraries", and nasty hacks included in WYSIWIG web-authoring packages, that sought to work around and/or hide cross-browser compatibility issues.

At some point in the early 2000s, many developers said "to hell with this crap, let's just build clean, accessible, interoperable documents that comply to basic information standards". Meanwhile, standards and concensus matured, browser vendors started getting their act together, and in the last couple of years, have brought us to a point where it is now actually possible to enrich simple "Web Documents" with "Standards-Based Interactive Interface Components", without resorting to too much hackery.

So right now, beyond wild and fancy interface components, XmlHttpRequest is what's polarizing developers' imagination, with the ability to breathe new content into portions of larger documents, a fundamental building block to useful applications, and Ajax is the acronym.

I, for one, welcome our Ajax overlords.

No comments: