Tuesday, March 15, 2005

Ajax Buzz

I've always found it quite interesting how giving something a name seems to make it "real". Case in point? AJAX. When I first [heard][adpativepath] this term, I thought to myself, "who really needs a specific term for a mishmash of technologies that's been around for a long time?" Well, as is often the case, I misunderestimated the importance of having a mental "handle" for an otherwise complex concept. And just like LAMP, it's not the specific technologies that are important (the 'P' in LAMP is heavily overloaded, just as the 'XML' in AJAX isn't as important as the idea of communicating directly with the server).

I don't know if I particularly care for the appelation -- particularly the XML bit -- but that no longer really matters. The name has probably stuck now that the WSJ has an article that opens with the words "Meet Ajax, the technology powerhouse." So it's settled, the concept has a name now.

And I believe it is a good thing that some kind of name has stuck. For some time now, I've found that everyone has their own ideas about what "rich" means to a web application (or if you're more into Flash, an internet application); and it just takes too long to try and explain "it's like the difference between Hotmail and Outlook".

So now that we have a name, and an "AJAX" application has a specific meaning, what do we do now? Certainly there is more than one way to approach the problem. Should I use some sort of framework, or bang out all of the Javascript by hand? How should I encode my server calls? How should I handle back button support? What about URL-encoding my application's state? There is a host of issues like these that need solutions (probably many solutions, depending upon your needs). It's now time for us to begin gathering the existing solutions to these problems, and to build new ones, so that we can move the Web far beyond its current state.

Should be fun!