A day or so ago I read Tim O'Reilly's long article on the question What is Web 2.0 -- part of the ongoing discussion of where the Web and technology in general seem to be heading. An interesting part of that seems to be the question of the terminology that frames the discussion, -- i.e., how much of is it actual substance, and how much of it is just buzzwords used as a Jedi Marketing mind-trick to keep the interest of the guys in the suits writing the checks.
My first inclination, jaded human being that I am, is right along the lines of this great cartoon showing Three Different Views on AJAX. (I love the second Marketing drone babbling, "Our apps feature extreme AJAX to the max! Badabing!"). At some level, I feel like the developer who doesn't want to utter the term "AJAX," because of the obvious absurdity -- this thing Web developers have been doing for years has snowballed into a huge phenomenon in a large part due to having a cool acronyn with the letter "X" in it.
On the other hand, there seems to be some value in having a nice, neat congnitive hook to hang a complicated group of concepts on. And for the always-messy world of technology, with its high rate of change, buzzterms like "Web 2.0" "tagging," "REST," and "AJAX" seem to serve that purpose pretty well. They're useful on two different levels -- as a way to describe (and sell) this stuff to non-technical people, and as a point of common reference for the techies to talk about how to use it and the affect it's having.
It is interesting, though -- since usage of these terms evolves somewhat organically in the currents of discussion, you have a lot of different interpretations, and conflict over definitions -- like the subtle distinction between "free software" and "open source." (Witness another very recent article on the O'Reilly Network -- What is Free Software.) These are two terms which often refer to the same pieces of software, but have very different agendas.
"AJAX" is another good example cutting the other direction, as a single term that has developed two very distinct meanings. The original definition describes the use of a particular technique for a Web app to communicate with the server. But there is a second meaning which seems to be in increasingly wide usage (along with goofy capitalization as if it's not an acronym -- "Ajax") that refers to a whole range of behaviors (drag-and-drop, transitions) characteristic of a Web app that acts much like a desktop app. This is the usage of the term that you're seeing the aspiring Marketing Obi-Wans pulling out to use in their presentations. And who can blame them? "DHTML" doesn't have the letter "X."