The Usual Tech Ramblings

AJAX... The New Buzz Word

Well, I’m sure most of you might have heard of AJAX, or maybe you’ve not heard of it, but you’ve used it without knowing it. Do you have a gmail account? What about tried using google maps? Well, they’re both AJAX powered.

So what is AJAX?

AJAX is Asynchronous JavaScript + XML. Okay, that explanation didn’t make much sense, how about an english one? It is basically the combination of the JavaScript and XML technologies to create a new(ish) interactive browsing experience. JavaScript as a technology on its own is rather powerful. You can make it do all kinds of stuff like validating forms, pre-loading images, swapping graphics, etc etc. Now combine the power of JavaScript with the reading of XML, and you can come up with all kinds of fun stuff. Like updating drop down lists on the fly, based on database results, without the user seeing the page reload.

Okay, my explanations are probably rather terrible, however Apple ® have a rather good example over here explaining exactly what I just said, including a nice demo using their iPods as an example.

So it doesn’t seem like it does too much, until you start to think of some of the posibilities. Take for example SquirrelMail. Something like this could easily allow for pages to check for updates without having to reload the page again. A small script does the check for new mail, if there is new mail, it forces a reload of the mailbox. Or, it could allow for people to integrate it with other applications, like CMS’ like phpNuke or the likes.

So why am I interested in this?

Work. Well when it’s it really? We recently moved our helpdesk, and sales team… well, the whole company actually… over to SalesForce. It’s a very powerful CRM, with a very well documented API. I’ve been asked to move a lot of the reports we had on our old system to use the new data. Thankfully the APIs are well documented, and I can hook into them. Using Perl and SOAP::Lite I’m able to extract data from their servers (it’s all web based) and do what I want with it. To save taxing their servers too much, I’m working on pulling required data into a session, and allowing the user to force a refresh of the data by pressing a button. For some reason, I thought it’d be pretty cool to have the refresh running in the background, while the user could still look at the interface/data.

When I have more information, and some examples of my own, I’ll probably post them here, I already have a demo message list processor in the works…