Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
Ben Nadel at cf.Objective() 2014 (Bloomington, MN) with: Jeff McDowell and Jonathan Dowdle and Joel Hill and Josh Siok and Christian Ready and Steve 'Cutter' Blades and Matt Vickers
Ben Nadel at cf.Objective() 2014 (Bloomington, MN) with: Jeff McDowell@jeff_s_mcdowell ) , Jonathan Dowdle@jdowdle ) , Joel Hill@Jiggidyuo ) , Josh Siok@siok ) , Christian Ready@christianready ) , Steve 'Cutter' Blades@cutterbl ) , and Matt Vickers@envex )

Does Anyone Else Get Confused By A Purposefully Slow RIAs?

By Ben Nadel on

Minor rant here (sorry if this offends people). I find it very strange that in a time where people are really pushing for Rich Internet Applications with snappy desktop-app-like-response times, there is a good amount of purposeful slow-down being implemented. I am, of course, talking about things like the accordion effect, the fade in, the fade out, the slow drop down menu. Sometimes I get it; a slow movement helps associate an item with it's origin (you can see where it came from). But most of the time this is not required. Take a drop down menu for example; people understand the drop down menu paradigm, they don't need a slow movement to see where the menu came from - it came from the menu bar item they just hovered over. No clarification needed.

So, my suggestion in this: give people the benefit of the doubt. Assume that if the user triggers an event, they understand where it came from and what it's doing (as most likely, they triggered it on purpose). Ask yourself, is the 30K Javascript library you required them to download for the given effect worth making a site that is lower because of what it was used to implement?

Granted, I am not a typical user. I love using keyboard short cuts. Maybe because I am web developer, this stuff (the web) just makes more sense to me - is more intuitive to me. I am not a huge window-shopper of web sites. If I am on a web site, I am looking for something specific. When I am on a mission, all tweening serves only to keep me from my destination.

So, that's my mini-rant for the day. Probably because of who I am and how I use the web, it makes my rant a moot point... but maybe it is something worth thinking about.

Reader Comments

I agree. Many developers getting into the whole "web 2.0" (gah... buzzwords) do alot of these things due to "cool-factor", and not necessarily for the benefit of user experience or even usability.

I think the biggest hurdle for me is that I am not a typical user. So, I am probably not the best feedback system... but so much of it just seems to be no necessary.

I tend to agree with you, but sometimes giving the user the benefit of the doubt gets you in trouble. They not not seem to know what to do it a lot of cases. I think there has to be a balance between usability and speed. I am like you, I want everything now (fast) but I am also very familiar with it like yourself. But some of the users that I deal with have not clue and need it spelled out. So I try to look for a quick but simple self explanatory way of doing web sites when I am designing.

I absolutely agree. Things like the new spry library and scriptaculous have plenty of pointless effect. Blind up and blind down are not so bad but who on earth will want to "shake" a page element? Reminds me of the widely uses blinking text when it was first popular.

Blink :)

Oh man, I remember jobs where we had to get the Blink tag to work cross-browser, but I think it never did, so we had to implement with Javascript.... I have blocked most of that out of my head, but sometimes I wake up in a cold sweat.

I enjoy unobtrusive animations. They make the experience better for me because I can see where things are going if they move and it feels more natural than an instant change.

I think the key problem with "slow" RIAs is that the animations are just too long. A good rule of thumb that I once heard was that 150ms is the maximum amount of time you should play an transition like a fade, slide, open/close, etc. Often, its even better to make your effect a little quicker than that.

Additionally, developer-oriented applications should have the ability to turn animations off. I've found that the hardcore geeks tend to get most annoyed at things like this. Like I said, though, I like them. You just have to achieve the correct balance to make them usable too.

Like most geeks I don't love animations, but I will defend the "shake" animation. good use for it is when you submit a form and don't notice that a little red message appeared at the top saying "invalid email" (or whatever). Shake the message for 150 ms and your eye will be drawn to the movement. I don't use these effects so I'm not saying there isn't a better solution (haven't thought it through), but just wanted to mention that there might be use cases for "shake" to draw attention to a specific page element that the user otherwise might not have noticed.

Another use might be if you were using FDS to simulate an IM style app and wanted to notify the user that a message had just come in by shaking the box with the message or something.

Just my 2c

reminds me of a book I once browsed, something like "how to build really annoying websites"

one javascript codeblock shrunk and grew the browser window from 50px x 50px to the users max resolution and back every 5 seconds.


Agreed. Unobtrusive ones are nice. They do lend to a good experience. People just get out of hand sometimes. One of the ones that bothers me the most is the whole film-strip content; where the entire side scroll left and right depending on what nav item is clicked. I don't know who enjoys that one!

I'm very much in the "don't slow me down :@" camp, but as has been said, transitions are /very/ useful for indicating an action to normal users.

It doesn't need to be a comprimise/balance issue though - you can have both!

One of the things I like about jQuery is that it lets you easily control the speed of effects - the animation functions have a speed argument that controls how fast it occurs.
Store that as a global preference, and then 'power users' can have things happen almost instantly, whilst regular users can have it at half a second or so, and everyone wins. :)