Tuesday, January 27, 2009

Effective Use Of AJAX, And The Consequences

I have grown to consider AJAX the Flash of the new century. It took a while but most people finally learned where and when Flash was effective, and Flash itself grew and adapted to make up for many of it's shortcomings. While it still has it's issues, and people still over use it at times, it has reached a place of acceptance with most folks to some degree.

Then comes AJAX. AJAX, like Flash, is cool, it adds some nice interactivity to a web site, controls bandwidth usage by limiting full page refreshes for small tasks and other various benefits.

However there are people that base their entire web site around AJAX, with a primary interface (or page template, whatever you want to call it) loading once and the content reloading within it with every click. Then, these people get mad at people like Google when Google AdSense program disallows using their ads on such sites.

Other limitations of this use, depending on how wisely it is implemented, can include limited ability for visitors to bookmark individual pages and poor search engine rankings. Some of these can be overcome with very wise implementation, but the more detailed the implementation the more limited the browser requirements for the site becomes.

AJAX, in my humble opinion, is best used for small interactivity on web sites, such as 10 star rating systems so the stars and rating refresh, not the whole page, or for adding comments to some story, so as not to need a full refresh. It is best used in small doses like that. The only time I see is useful in large-scale application is in administration tools or such applications that there is no desire for search engine rankings, you have some ability to control what browsers people are using and the like.

No matter what technology you choose, part of the choice is considering the limitations of such platforms. No platform is the be-all-end-all of platforms with all upside and no downside. AJAX is no different, Flash is no different. Web servers, scripting languages, compiled languages, databases...they all play a part in your site and you have to take advantage of the strengths of those choices and limit the impact of the weaknesses of those choices.

Kicking and screaming at others to try to get them to bow down and meet your requirements are not the way to go. One reaps what one sows, make your choices wisely, or suffer the consequences.

Just my two sheckles on the subject.

0 comments: