Ajax mistakes

June 1st, 2005 Comments Off on Ajax mistakes

A couple weeks ago, Alex Bosworth wrote about some problems resulting from the indiscriminate use of Ajax, listing some common errors he found in some Ajax applications.

It’s a good list, and it shows why the use of Ajax must be given the same attention we have learned to dedicate to other Web techniques. As I wrote before, Aja can create problems in the use of Web standards — it’s easy, for example, to forget about accessibility when your are building a new, shiny Ajax application, since accessibility demands more of such applications.

I’m experimenting a lot now with the mobile Internet (I’ll write more about that later), and the only Ajax application I used that degraded nicely in all mobile dispositives I tested recently was Google Mail, which is as usable and acessible in a mobile phone browser as it is in a desktop browser.

The main problem with Ajax, in any case, is that it required yet another step towards graceful failure. A normal Web application, built around normal forms and pages, already has its own needs to be able to fail gracefully (for example, in browser without CSS or JavaScript support, or when running in strange video resolutions). Ajax requires another layer of failure handling on top of what is required now, to deal with extremely different run-time conditions — on one side, the page must be able to run as a normal Web page, built around normal HTML and CSS; on ther other side, the page must behave as a rich application, able to modify itself dynamically, with much more flexibility.

Those conflicting requirementes are at the root of almost problems listed by Bosworth. Others, like breaking the “Back” button, are just a natural consequence of Web applications, maximized by the use of Ajax. I have yet to see an popular Web framework that handles the “Back” button in the correct way. Maybe it’s time to forget this button and provide alternative solutions, like cumulative Undo (or even the elimination of Save buttons, like Alan Cooper proposed).

Anyway, seeing Ajax gain acceptance as a new word for an old technology that is just coming of age now, amidst the rise of new frameworks, libraries and techniques, has been an interesting experience. I just hope, again, that we don’t lose the benefits we fought so hard to secure in the form of the now prevalent use of Web standards.

Comments are closed.

What's this?

You are currently reading Ajax mistakes at Reflective Surface.