In February, 2005, Jesse James Garrett, a director of Adaptive Path published an article describing Ajaz, or Asynchronous Javascript + XML.
A little background might be in order.
On a normal web site, not a web application, but a web site, like this one, a page is displayed in the browser because a request was sent to the web server asking for the page. The user either types in the http address in the browser, or, in effect, does the same thing by clicking on a link from another page within the site, or from another site altogether.
So, for example, if you type
http://www.midnightsoftware.com.au
into the browser text box and hit enter, click go, or whatever you do with your browser, the address for my site is sent through various servers until it hits the server hosting this site. The entire page is then sent back to you and loaded onto your computer and displayed by your browser. This is all pretty straight forward.
But the important thing is that the server, having sent the page you requested has now forgotten all about you. It is busy serving up other pages, or even the same page, to satisfy other requests. It has done what you asked of it, and moved on.
But it doesn’t really feel like that to you. You are viewing a page within this site, and if you see a link that interests you then you click it and move to another page. The perception for the user is that viewing a web site is like looking at a magazine – you can flip to any page you like but you still have the entire magazine in your hands until you put it down.
But that is only a perception. All you have is the web page, as it existed at the time that the server sent it to you. You don’t have special privileges with other pages.
The other important thing to note is that when a page is sent to you then you get the whole page. And so you should, you respond. But therein lies the problem. You have probably experienced filling in a form on the web. This is more of a web application than just a web site, or page. If you make a mistake and the web application doesn’t like what you filled in the whole page comes back to you. It has to because you don’t have an ongoing open connection to the web server.
This is probably the biggest difference between web applications and desktop applications, and it can be a source of frustration and anger to users.
Enter Ajax. The whole point of Ajax is that with a bit of javascript, actually it might amount to quite a lot of javascript, and a few other fancy tricks, information can be sent to the server and a response received and shown on the browser without the need for the server to resend the entire page. Web applications can behave much more like desktop applications. Response times are drastically reduced and it becomes possible, even practical, to interact with the web application using a relatively slow dial up modem.
The concepts behind Ajax are not new, but putting them all together to build new web applications is. It is very early days and impossible to foresee what will eventuate. But it is a very exciting development in web design and use.