Stuart Langridge on Javascript

Yet another live blog from the d.Construct conference here in Brighton UK. I have just been listening to Stuart Langridge speak on DOM scripting and found myself slightly concerned with some of the things he said.

Stuart seemed to be saying at times in his presentation that DOM scripting (Javascript to you and me) gives you the opportunity to change the user experience to suit your "designs".

AJAX can cause confusion

I have to say this concept of creating unique user experiences for your own site concerns me somewhat. I have seen too many examples of where Javascript causes confusion instead of enhancing the user experience. I think I have already mentioned before on this blog the "drag and drop" shopping basket which contradicts peoples expectations of how to add content to your basket.

People expect page reloads

However, the problem is actually even more fundamental than that. The shopping basket example is a problem caused by changing the way people interact with a familiar site function. It is not surprising that something like that causes confusion. What has been more worrying are the results I have been seeing from usability testing on AJAX sites. I have seen users confused because they have expected a page to reload and it hasn’t. It is not uncommon to hear comments like "I have clicked the button but nothing has happened". Because there is not the familiar page update, users presume their requested action has not been completed. Another example was from a user testing session we recently ran on an intranet. On that site, you could add documents to the homepage by ticking a series of checkboxes. Because it was intended this form would use AJAX we didn’t need a save button. After all every time you checked or unchecked an option it was automatically saved. However, in testing we found that users were constantly looking for the option to save. They were so used to having to submit forms that it confused them when that functionality changed.

The importance of keeping the user informed

So although I agree with Stuart that JavaScript can be used to enhance the user experience I am not so sure we should be making fundamental changes to it just yet. When we do decide to use AJAX and JavaScript we need to keep a particular eye on ensuring the user gets the feedback they need to understand exactly what is going on.

A grumpy old man

I have just read through this post and realised what a miserable old sod I am. Most of the posts I have made on this site about Web 2.0 have been kind of negative and yet that is not how I feel at all. I am actually very excited about the possibilities of this new generation of sites. However, I do have a lot of questions which I need to work through. If you are reading my posts thinking I am a doom sayer I would encourage you to stick with it. I can guarantee that as I have more time to think things through my posts will become more positive!

  • Thanks, Paul I’m following your blog today minute by minute.

  • Marcus

    Me too :)

  • Simon Brookes

    Surely the moral of this blog then Paul is to treat any development built using AJAX / DOM as you would any other more traditional web build – test, test and test again.

  • As you rightly point out it’s still early days, but I think you’re underestimating how happy people are once they figure out how the new apps work. I haven’t heard anyone complaining about the lack of page reloads in Gmail, although that’s the way it’s always worked in Hotmail and Yahoo mail.
    I think the way to think of it is what we really need to do is start thinking in the same terms as desktop application developers have always thought in. I find myself constantly looking at desktop apps with a “designer’s eye” now.

  • Oh dear, that second to last sentence is a monstrosity. Heh, sorry.

  • Hey Patrick,
    Your right. I think people do love these new applications. I guess its just important that they dont give up before they find out how cool they are. I suppose that is where it is down to designers/usability people like me to work how best to convey the new functionality to them. I should stop my moaning and welcome the challenge :)

  • I would argue that if your site causes confusion then it is not a situation of the technology being utilized but rather poor interface design. I think that in the examples you gave even the most seasoned web designer would experience confusion without some type of verification that an action has taken place.
    For example, a page reload is a visual indication of an action that has taken place. In my humble (and much less experienced) opinion I think it is a matter of designers adjusting their design to the new technologies.

  • Yeah I am coming around to that opinion myself Michael. I guess the lesson is that AJAX and JavaScript are not “enhancements” in themselves. They have to be coupled with good usability, accessibility, and design.

  • Was good to have met you finally :) Shame we didn’t have a longer talk.

  • Yes it was nice to meet you too Zach. It was a really good day. I am glad I went.

  • While I generally agree that we should build GIU’s that conform to a users expectations, this does run the risk of permanently crippling innovation. We shouldn’t avoid making something better, just because users are used to it working in a less useful way.
    As I said in my talk, I do think that the web is changing from a document delivery system to an application platform. As such, there is bound to be some confusion during the transfer process. Think of somebody buying a CD for the first time and trying to play it on their record player. You wouldn’t suggest that all CD players should be built like record players because that’s what users expect.
    However page refreshes do indicate that something has happened, so you need to replicate this using techniques such as the yellow fade technique.

  • Andy’s point is, I think, the best made here. While I entirely agree that breaking accepted usability norms for the sake of it is wrong, avoiding change simply because it is change hinders progress. If people are thinking that a web app isn’t doing anything when they press the button, then that’s a badly designed web app. As you say, Ajax is just another tool; it’s possible to build sites with poor usability whether you use Ajax or not, and although relying on users’ perception of the norms buys you education without effort, we do have the option of not forcing users through the bad things that browsers do (like make you twiddle your thumbs waiting) just because that’s what they’re accustomed to.

  • Okay sounds like we are all saying the same thing. Stuart, I hope my comments didnt come across as a dig at you personally. I guess that you just triggered some concerns I already had from seeing some bad implimentation of AJAX.
    It is actually because I am enthustiastic about flash, that I dont want it to suffer the same fate as flash. We heard at d.construct about how flash can actually be a brilliant application tool but because of bad implementation many just see it as a gimmick technology for bad animation. I guess we have to be careful that AJAX doesnt get cast in the same light because of bad usability.
    One last thing. I want to make it clear that I am not for a minute suggesting we hold back the development of better interfaces. I am just suggesting we need to be careful to help users make that adjustment.

  • Okay, Okay! I give in. Yes, we cant hold back innovation because of users preconceptions. Now will you all leave me alone :)

  • Okay, Okay! I give in. Yes, we cant hold back innovation because of users preconceptions. Now will you all leave me alone :)
    What if you atoned for your heinous sin ( :P ) by writing a post or two exploring techniques along the lines of the yellow fade technique? It’s a new thing, so I’m sure people have been coming up with interesting stuff to share… I myself have been working on a “completion bar” sort of widget for an editor I’ve been working on. (It’s not really functional yet.)

  • I feel like you are setting me lines. However, thats not a bad idea. Ill have a look around at some of the techniques people are using and put some notes together.

  • Eek, sorry, didn’t mean it like that.