AJAX Evolution and Application in Magento Extensions
aheadWorks always delivers to customers the best and the most advanced technologies in its extensions and themes. Magento is a source-consuming platform, so using AJAX technology in functional Magento extensions allows saving server resources and reduces site response time. We have several AJAX-using modules in our portfolio (twenty, to be precise). Some of them are fully AJAX-based and the others simply include features that use AJAX technologies.
What is AJAX?
AJAX provides asynchronous updates of small pieces of web pages content. It allows avoiding excessive server bandwidth and makes updates invisible for users. Actually it updates page content without page reloads.
History of AJAX
The term AJAX appeared in 2005. Jesse James Garrett came up with it in her article “Ajax: A New Approach to Web Applications”. However, the history of AJAX starts a little bit earlier.
In 1996, Internet Explorer introduced iframe tag for asynchronous content updates. The first component XMLHTTP by client script was implemented in 1998 by Microsoft. In 1999, Microsoft used iframe for dynamical updates of news, stories and stock quotes on default Internet Explorer page. The perspectives of this technology were rather unclear until 2004 when Google implemented cross-browser AJAX in its Gmail service and Google Maps service in 2005. 2005 is noted as AJAX rising and wide spread in development practice.
AJAX’s nature, history and functionality description given above will help us understand the advantages of this technology utilized in aheadWorks extensions.
There are several most common ways we use AJAX in our modules.
1. Firstly, we create AJAX-based carts. This feature allows customers add their purchases to cart without redirection to the cart page. In this case the cart appears in a pop-up and customers can proceed with purchasing without any retention. This feature is included into iPhone Theme, for instance, in the Minimum Advertised Price extension and in AJAX Cart Pro.
2. Quick and seamless content update based on AJAX is implemented in several solutions of ours. Some of our modules use AJAX for price changing without any page reload, e.g. Booking and Reservations, Shipping Price, Product Color Swatches.
3. We also use AJAX layer in multiple subscription forms for guests and customers. (AJAX Login Pro, Product Updates Notifications, Advanced Newsletter).
4. AJAX technology is used for any dynamic content prompt changes. And variations are multiple.
- AJAX Catalog extension is an example of AJAX using solely for content updates.
- We also use AJAX for seamless sorting and filtering, as it is done in Advanced Reviews and Layered Navigation extensions.
- Home Tabs Pro module displays tabs using AJAX.
- AJAX-based update of each step is implemented in One Step Checkout extension, for example.
- Search Autocomplete and Suggest uses AJAX for completing customers’ search requests.
AJAX technology, due to its internal properties, is widely spread in development practices. It is often helps to improve user satisfaction and take user experience to the next level. AJAX and some other techniques entered Web 2.0 era in World Wide Web and converted users from unmotivated observers into active participants of the process.
We try to use AJAX in all those cases when it is justified by functional needs and our practice indicates that AJAX-based features always successfully improve functionality of any extension.