Geeks With Blogs
steveondotnet - .NET on the NET blog

As much as I hate to perpetuate the dissemination of coined terms, there's little one can do to fight it. Since AJAX (Asynchronous JavaScript and XML) arrived on scene, it has endured unending abuse at the hands of Sales and Marketing departments alike. Similarly, people's misconceptions regarding the use of this technology have abounded. People still seem to think that client side behaviors, such as drag & drop, fades, and various other JavaScript effects are the result of AJAX. As developers, we know this isn't the case, though I fear some of us have fallen victim.

In an effort to address this, a new approach has been born. HIJAX seeks to marry the power of AJAX with Progressive Enhancement. What is this Progressive Enhancement you say? As far as Wikipedia says, "Progressive enhancement is a label for a particular strategy of Web design that emphasizes accessibility, semantic markup, and external stylesheet and scripting technologies, in a layered fashion that allows everyone to access the basic content and functionality of a Web page, using any browser or Internet connection, while also enabling those with better bandwidth or more advanced browser software to experience an enhanced version of the page.". What does this mean? I'll explain.

The premise of HIJAX is to develop an application that allows it to run under the widest possible breadth of browser environments. This means that if a user has JavaScript disabled, the application will still function using the native behaviors of a browser. As such, the development process will look something like this:

  1. Develop your application using non-AJAX calls
  2. Determine which calls to the server could be hijacked for AJAX calls
  3. Verify that the application still functions as originally intended with JavaScript disabled

By employing this methodology, I think we can go a long way to combat the temptation to incorporate or identify AJAX functionality in the early stages of development. AJAX should be reserved as enhancements that imporve the end user's overall experience, and should only be considered once all the specified functional requirements have been met.

Posted on Monday, February 26, 2007 10:01 AM | Back to top

Comments on this post: HIJAX Your App

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Steve Calvert | Powered by: