Tuesday, September 2, 2008

Ajax Technology

When I got into the non-profit charity job, my brother and his British volunteer service organization (VSO) counterpart already developed a poverty database software for profiling software for the organization.

The software is web based front ended by Mozilla firefox which comes bundled with the installer. But the version at that time was quite difficult and confusing to use because when one tries to look up the profile of the thousands of communities, the browser will have to reload the whole interface and the waiting period was long.

With the new version, the developers integrated AJAX or Asynchronous Javascript and XML. AJAX may seem intimidating at the first sound but if one really tries to analyze hard, it is not really a new technology. Both javascript and XML have already been around for years.

The beauty with using AJAX is that the browser interface directly communicates with the server and what gets a round trip from client to server are only the small parts of the code. This translates into faster applications and more user friendliness.

For instance, our poverty database software has a tree view of all the communities. Before AJAX, when one clicks a community in the node, the whole thing seen on the browser will have to be reloaded and the returned interface can be different and thus confuse the users, who are mostly non IT people working for poverty reduction and charitable institutions. With the AJAX enabled version, only the request for a community profile is sent. In short, the whole browing experience is like working with a desktop application.

The key player in AJAX implemention is the XMLHttpRequest Object which is an API used to transfer data using HTTP. For sure many of you are have experienced using Google Suggest. This feature employs the XMLHttpRequest Object through Javascript sending the data to and from the server.

Other very familiar applications on the internet using the XMLHttpRequest Object Meebo, MapQuest, Google Map and Virtual Earth. With applications like these where data requests and responses are moving more frequently than in the case of “regular” and static websites, AJAX can help control bandwidth traffic and encourage developers to separate layout design from contents.

But AJAX is not without problems. One problem is that the browser’s “Back” function may give unexpected results because the pages do not register in the history engine. A related result is that pages can have difficulty in getting bookmarked.

But these limitations should not discourage one from using AJAX and enjoying its benefits. The important thing here is that all problems corresponding to AJAX have solutions which may take a longer process to do and may require a little more creativity and innovation. All technologies have pros and cons. And AJAX has more advantages than disadvantages.

As for search engine optimization, AJAX developers should be take extra effort in providing data that can be read by search engines because in general, search engines do not consider javascript code used in AJAX.

No comments: