Does Anyone Else Get Confused By A Purposefully Slow RIAs?

Posted December 21, 2006 at 11:23 AM by Ben Nadel

Tags: Javascript / DHTML, HTML / CSS, Work

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

Dec 21, 2006 at 12:15 PM // reply »
19 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.


Dec 21, 2006 at 12:22 PM // reply »
11,238 Comments

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.


CJ
Dec 21, 2006 at 2:36 PM // reply »
11 Comments

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.


Dec 21, 2006 at 2:36 PM // reply »
95 Comments

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.


Dec 21, 2006 at 3:24 PM // reply »
11,238 Comments

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.


Dec 21, 2006 at 6:55 PM // reply »
4 Comments

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.


Dec 21, 2006 at 10:10 PM // reply »
111 Comments

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


Dec 22, 2006 at 11:59 AM // reply »
6 Comments

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.


Dec 22, 2006 at 12:20 PM // reply »
11,238 Comments

@Josh,

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!


May 31, 2008 at 12:05 PM // reply »
49 Comments

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. :)


May 31, 2008 at 2:18 PM // reply »
11,238 Comments

@Peter,

Yeah, jQuery is very cool that way. I have found that 250 ms seems to be a really nice time for most things.


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
Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
May 17, 2013 at 7:42 PM
HashKeyCopier - An AngularJS Utility Class For Merging Cached And Live Data
Ben - thanks so much for posting these Angular articles and findings, they've been a huge help towards learning one of the more 'complex' JavaScript frameworks out there (IMO). I have been using Angu ... read »
May 16, 2013 at 5:01 PM
UPDATE: Parsing CSV Data Files In ColdFusion With csvToArray()
Your code was the closest thing I've found to obtaining some direction for converting ISO fields to values that CF can translate properly. Thank you for posting! ... read »
May 15, 2013 at 10:37 PM
Very Simple Pusher And ColdFusion Powered Chat
hi id making plz easy ... read »
May 15, 2013 at 6:07 PM
Making SOAP Web Service Requests With ColdFusion And CFHTTP
Ben, you once again saved my bacon at work. Thank you, thank you, thank you! ... read »
May 15, 2013 at 4:15 PM
What If All User Interface (UI) Data Came In Reports?
@Josh, Thanks! @Ben, I definitely recommend the David West book "Object Thinking" I've been quoting from. It goes deeply into the philosophy and history of OO programming. His breadth ... read »
May 15, 2013 at 11:36 AM
Ask Ben: Print Part Of A Web Page With jQuery
I found this helpfull when you need to keep (refresh) the original parent page after closing the iframe child print dialog (Hoping you're not using a form at this time so it won't submit again): On ... read »
May 14, 2013 at 7:13 PM
What If All User Interface (UI) Data Came In Reports?
@Jonah, If there's any books you'd recommend on the subject of domain modelling, I'd love to hear it. I just downloaded the free PDF of "Domain Driven Design Quickly". Figured I'd give it ... read »
May 14, 2013 at 6:57 PM
The UX Of Prototyping: Low-Fidelity Is The New High-Fidelity
@Phillip, I'm not sure I follow what you mean? Are you saying that you looked at the list of widgets provided by the jQuery UI and let that be your style guide? ... read »
InVision App - Prototyping Made Beautiful With Prototyping Tools