The Problem with AJAX

Posted April 16, 2006 at 12:00 AM by Ben Nadel

Tags: Javascript / DHTML

I think AJAX looks really cool. I haven't had a chance to really dive in and get to use it, but I looking forward to it. Using some other people AJAX-intensive sites I can really see where it can be handy. But, there is one thing about some sites using it that drive me Crazy! It's the whole problem with the back button. In AJAX, since you are not really leaving the page, the back button does not work as expected. Hitting the back button does not load the previous content (as one would expect), but in fact sends you the previous page (the way the browser interprets this), therefore, taking you away from what you want to see.

Now, granted, maybe I am not the "target" user. Maybe I am a bit of a power user. I don't like using the mouse. The less I have to go to my mouse, the faster I can do things, and the less my right wrist hurts (blasted carpel tunnel). So for me, I love using things like the space bar, ALT-TAB, and especially the Back Space button to go back in the browser. And, even when I am using my mouse, it too has a "back space" button. Both back space methods are not AJAX friendly, but are highly incorporated in my daily life.

Gmail seems to work well with the back space button, and I know they are hugely into AJAX, so I know it can be done. Maybe some of these people should reprioritize the user experience over the page load time.

My other BIG issue is that I love you hold down SHIFT when clicking on links to open them up in new windows. Most of the time, I just want to check out a linked page without leaving the current one. AJAX style links prevent this most of the time because their HREF attributes are javascript calls, not acutally page links. So, then, I get a pop-up with nothing in it.

Seems silly to me that a methodology such as AJAX which is meant to create a better user experience is acutally slowing me down and making my browsing more complicated. I can understand catering to the general user, but not at the expense of a power user.



Reader Comments

Jun 4, 2006 at 10:32 PM // reply »
32 Comments

I cant believe you have issues with Ajax! Ajax is amazing, so amazing that we have only just scratched the surface of what we can do with t. Yes google may do some stuff with it, but there is still plenty more that can be done with it. Just the other day i started to make something through Ajax that would plug in GPS, Google maps and Ajax so that when I go to a web site i can see where I left my car keys! well..ok.. that one was a lie, but it would be really great if somoene made that web site (hint, hint). But Ajax has so many possibilities. I am sure people had similar opinions of javascript when it came out. We are on the edge of a new revolution. Can ya feel it? Cool, huh?


Nov 13, 2006 at 12:22 PM // reply »
1 Comments

I find both of these posts to be a bit narrow based on a particular user's preferences. The original posting makes the assumptions that all "power users" avoid using a mouse and that using a mouse inherently slows you down". I disagree with both of those premises, but I do agree that any new technology should consider ways that different types of people prefer to interface with their computer.

The second posting says you're an idiot if you don't embrace Ajax immediately. I think that the first postings comments on the back button address some very pertinent deficiencies. I've seen Ajax based apps where the entire experience is a single page.

Ajax is obviously very important and a huge step in getting more "rich" apps on the web. We need to look past the hype and flash, however, and think about how real users use it. If there are problems -- which there ALWAYS are with any new concept, then they should be identified so that they can be addressed in later releases.


Me
Jan 29, 2007 at 2:56 PM // reply »
2 Comments

I don't see this as a problem with AJAX, but a problem with a self titled "power user" OE. Calling yourself a PU is as tastless as others claiming "Computer Illiteracy." People lust after titles. Maybe you should load up lynx and go all text based since the mouse if just too difficult for you. Tabbing through links on a page is so fast ya know.

<BACK> means window.history.go(-1) Get used to it, that is how it has operated for years. The biggest problem with AJAX, is designers not creating efficient navigation into their sites, which has nothing to do with AJAX.

-Super User


May 9, 2007 at 5:46 PM // reply »
32 Comments

Here I am, a Ben Nadel convert, reading REALLY old blog posts IN ORDER!

Anyway, I think that the previous comments were way too defensive about Ajax.

I think that Ben points out some interesting challenges to good and proper use of new web features such as Ajax. I also think that Google has done a great job of NOT using Ajax where it should NOT be used and only using it where it SHOULD be used. That is why Ben's back button works in most places on Gmail.


May 9, 2007 at 5:48 PM // reply »
10,743 Comments

Most definitely, I agree. This was a very early post :) I think the AJAX is the same as any newly used technology - if you don't use it properly, it can harm user experiences and if you do use it properly, it can rock your world.


Dec 4, 2010 at 6:55 AM // reply »
3 Comments

David Droddy: Here I am, a Ben Nadel convert, reading REALLY old blog posts IN ORDER!

Here I am 3 years later doing this exact same thing. lol


Dec 5, 2010 at 1:14 PM // reply »
10,743 Comments

@Mike,

Ha ha, good sir, you flatter me :)


Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
InVision App - Prototyping Made Beautiful With Prototyping Tools Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
May 21, 2012 at 1:58 AM
Updated: Converting A ColdFusion Query To CSV Using QueryToCSV()
Hi Ben, why do you need to have so many double quotes when adding the field and field name to the row data? ----------------------------------------- <cfset LOCAL.RowData[ LOCAL.ColumnIndex ] = ... read »
AXL
May 21, 2012 at 1:24 AM
URL Rewriting And ColdFusion's WriteToBrowser Image Functionality (CFFileServlet)
@Mounir, Open your lower case URL Rewrite rule and add the following condition. Condition input: {REQUEST_URI} Check if input string: Does Not Match the Pattern Pattern: ^/CFFileServlet/_cf_ca ... read »
May 20, 2012 at 4:28 AM
Understanding The Complex And Circular Relationships Between Objects In JavaScript
@Will Vaughn I tried your javascript example but got this error:- foo.print is not a function ... read »
May 19, 2012 at 5:37 AM
A Graphical Explanation Of Javascript Closures In A jQuery Context
Thanks for this article, but I fear you missed an important point. If variables in the outer context change, these changes affect the inner anonymous functions as well. That means: if you change the ... read »
May 18, 2012 at 3:39 PM
Parsing CSV Data With An Input Stream And A Finite State Machine
Can you use file upload button with this? and read live? or does the file have to already be on the server saved? ... read »
May 18, 2012 at 1:06 AM
VIRGO (Aug. 23-Sept. 22): Dead On The Money!
A friend of mine and I were arguing about astrology and she told me that he believes in astrology. She hasn't provided me with any evidence that the belief makes any sense to me. She she been telling ... read »
May 17, 2012 at 11:32 PM
Using ColdFusion to Handle 404 Errors (Page Not Found) On Development Server
Very easy the configuration. I read a lot pages and I can't find the solution. I open the administrator and change this Administrator/server settings/Error Handlers/Missing Template Handler and p ... read »
May 17, 2012 at 3:13 PM
LOCAL Variables Scope Conflicts With ColdFusion Query of Queries
I never cease to be amazed that almost EVERY random CF issue I come across lands me on your site. Thank you for documenting your findings for the world. ... read »