Web based applications have many advantages over traditional desktop or client/server software. You only need a web browser so there is no additional software to install and so they are easy to support and make available over the internal network and Internet. As a result, many businesses of all sizes have used web based applications both for interacting with customer (e.g. online banking, online ordering) as well as for internal use (e.g. intranets).
The problem with a web application is the nature of its simplicity. When you click on a link or submit a form, that request must be sent from your computer to the web server, where it is processed and then an entirely new web page is sent back to your computer for downloading and rendering by the browser. Your browser cache, network proxy server and speed of your Internet connection can all make this faster, but the nature of this one-way stop-start process inevitably creates a slower experience for the user than using a desktop application such as Excel or Outlook. You have to stop working and wait for the browser to download the new page. In a basic website or an application that is not used frequently this has not been a major issue, however, if you are using the web application repeatedly this can get frustrating and affect productivity.
Solutions to this have traditionally been plug-ins using technologies like Active X or Java, however, this requires installing new software and has issues with security, and operating system/browser compatibility, for example, Active-X plug-ins will only run in Internet Explorer on Windows.
The answer to the web’s sluggishness is AJAX, which is short for Asynchronous JavaScript + XML. AJAX is not a new technology as such, it is an approach to web application development that uses a number of existing mature technologies including JavaScript and XML to create a richer, faster user experience by minimising the number of ‘round trips’ your web browser has to make back to the web server.
The best way to explain how this is different from your usual experience of the web is by using some examples from Google. All of their new applications made heavy use of Ajax and demonstrate how powerful it is.
Google Suggest will anticipate what you are searching for and suggest phrases you might want to use as you type. This is familiar functionality to many desktop applications but until now, it has been very difficult to achieve this on the web.
Gmail, Google’s web based mail service, also uses Ajax to suggest email addresses as you type in the recipient for your message. Again, this is a feature many of us use in Outlook every day but is less common in web mail.
Google Maps is even more impressive, allowing you to zoom and scroll around a map or satellite image without refreshing the page.
Getting technical for a moment, Javascript is using XMLHttpRequest to send XML data back and forth to the webserver without the need to reload the page. The link I reference at the end of the article provides a more detailed technical explanation for those that require it.
What makes AJAX so compelling is:
- It is not something you buy or download, you use standard technologies that already exist.
- It is platform independent - Java, .NET, PHP, it does not matter, all of these can use Ajax.
- The browser only requires JavaScript so it will work across different operating systems and browsers without the need to install plug-ins.
- Applications do not need to be completely redeveloped, just use AJAX to enhance functionality where it will add value.
- Google and other early adopters have already done the hard work of demonstrating the commercial viability.
Using this approach will provide a richer experience for users. Depending on the actual application, this can lead to increased productivity, happier customers, or more online orders. Those that choose to ignore AJAX or are slow to adopt are in danger of being left behind as users come to expect more interactive functionality as standard.
Please do not hesitate to contact us if you would like to find out more about our experience with AJAX.
References:
Ajax – A New Approach to Web Applications by Jesse James Garrett
- An excellent summary of Ajax from one of the early adopters of the technology.
Technorati Tags: ajax