Asynchronous Javascript Advice

This is a short note to all of the web developers out there that are using asynchronous Javascript in their applications to make pages load data.  For this article/video, I am specifically calling out YouTube and Facebook, but as far as user experience goes, almost everyone gets this wrong.  Here’s a quick look:

 

Now, I’m not saying that we shouldn’t load data like this, in fact, I’m all for it.  What I am saying, however, is that we need to treat the user experience as a first-class citizen.  Clicking on an item, only to click the Back button seconds later, should not require me to re-load all of the content I loaded moments ago.  Save it.  Restore it.  Remember what I was doing.  Please.

Some of you will argue that those clicks should instead have been accompanied by pressing Ctrl so that it opened in another tab, or perhaps even right-click on the link and choose “open in new tab” from the menu.  Yes, you can do that.  But that is a solution to interacting with a BAD user interface, nothing more.  My mom is not going to do those things, and neither is every other non-technical user your application is meant for.

We, as developers, rarely take the care that is necessary to make our interfaces intuitive, familiar, and helpful.  Instead, we wrote the code that met the requirement.

Who will think of the users?  What other examples of bad async have you encountered?

One thought on “Asynchronous Javascript Advice

  1. Just came across your article. I can connect with the problem you mentioned.
    It’s also there in apple’s app store, when you do load more 10 times , read about the app, don’t like it and come back, you need to start all over again, really frustrating.

    Your article is of July 2012, is there a solution for this yet, or some javascript plugin to do this ?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s