Instantaly color changes when you hit Facebook like button.we all know it doesn't happen so fast. it is fake. But you tube like icon change color with little delay (depends in connection). I have similar situation with my shortlist button in hotel application. Should I fake or not?

enter image description here

You're asking whether actions which need to be sent to the server should be shown to happen instantaneously, or after a delay as you wait for the confirmation to be received back by the client/interface.

If you wait for the confirmation to be received back before you show anything, which could happen close to instantly or after several seconds, users will face a delay which they have to interpret. Has the application frozen? Did I even click it?

In my view, you need to ensure that...

  • The user's action has immediate visual feedback
  • The user is made aware of any errors if the action fails. Some may argue that you need to show the 'status of the system' which is one of Nielsen's Heuristics, which would be showing that the action is 'processing', though i'm not convinced of the value in this case, but I'll show that option here anyway.

Showing processing before completion

I whipped up this example just to see what it could look like. Here the processing state is shown, and once the action has definitely happened, then the action completes.

Here are some things to consider about your app and the particular action being performed, and why this option might not be a good idea.

  • When data is sent, it's sent more or less immediately - what percentage of the time will the action not be received, the confirmation not received, or fail?
  • If it does fail, how much of a problem is it if the action gets re-sent X minutes later once the connection improves?
  • If it's an app, will the user just interact with the local data mostly anyway? How important is it that the data hasn't been synced to the server?

Immediate completion - Twitter's Like button

Here feedback is immediately provided after the user hits the heart icon. You can see that about a half second later the actual response from the server is received with the updated counts for re-tweets, likes and comments. If the action failed then I would expect the heart to either return to its original state with a message that the action failed, or for the action to be retried in the background until it succeeded.

  • Many people are using older devices these days which have little RAM and slower processors and the O/S can't be upgraded (mine is struck at Android 4.4.2 (Kitkat). Nothing happens immediately due to numerous background processes vying for CPU, memory and bandwidth. Thus, the practice of apps assuming instantaneous response to input following a round trip causes me to tap multiple times and literally fall asleep waiting for FB or some other site to finally perform the action a minute or two later. Please use CSS to effect an instant response so the user knows the input registered. – DocSalvager May 16 at 3:56
  • @DocSalvager Yep, it becomes more pronounced as hardware and network quality degrades. The solutions I posted both provide immediate front-end feedback before the response is received as you suggested. – Zenon May 16 at 8:11

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.