User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've read in books and a website that discussed great UI design that you shouldn't "bother" the user with too much feedback or message boxes and pop ups. I also think that as a user, I'd like to know that the button I've just pressed has done it's job. I searched SO but mostly it was jQuery and websites.

I have a form that has a button called "export" and the actual exporting happens so very quickly that I wanted to alert the user to the fact it has finished and been successful. What do you think is my best option?

  1. to have a progress bar? - it would finish quickly but I didn't want to just leave it on the form at 100% ... ideally, it would disappear once a user wanted to do something else on the form and shouldn't get in the way of them quitting the program. Perhaps be at 100% and visible but as soon as a user touched a control (checkbox, textbox etc) it would disappear?
  2. A message on the form that lasts for a few seconds post-success but I don't want to freeze the program up while I wait ... this sounds like it would use threading that I've not really worked much with yet.
  3. Something else?
share|improve this question

migrated from Jul 8 '12 at 19:08

This question came from our site for professional and enthusiast programmers.

There is no best method. Different users and different programs ask for different handling. Do what is most convenient to your users. – Erno Jul 8 '12 at 10:38
If it is meaningless to perform an export multiple times in a row without changing anything else in the form, you can change button's text to "Exported", and disabling the button. When the user changes the data in the form, re-enable the button and change its text back to "Export". – dasblinkenlight Jul 8 '12 at 10:50
Yes, This should have been transferred here. Still relatively new at asking questions on SO. @dasblinkenlight has a good suggestion though that I may very well pursue to see if it is applicable. – Sisyphus Jul 9 '12 at 0:06
While the "disable the button" idea from @dasblinkenlight would make it clear that the action completed, be cautious with this. If you're interfacing with a file system or database, the users might actually want to perform an identical export multiple times. (Imagine a user moving or deleting the file after export.) Though it may seem meaningless, a word processor would let you save the same document again and again, even if nothing changed since the previous save. – user113215 Jul 11 '12 at 1:10
I'm actually considering a small "delay" be built in. The export is so fast that you could be mistaken for thinking that it didn't do anything ... so perhaps a bit of a wait(200) in each step so they can see the progress bar do it's thing. – Sisyphus Jul 11 '12 at 8:01
up vote 12 down vote accepted

Gmail takes a good approach. Similar to your option 2, the success message is displayed in an unobtrusive place on the screen, but it remains until the user takes another action.

The position of the message is the key. Because it doesn't obscure any information or controls, it doesn't impede a user's ability to ignore the message and continue performing tasks, but it still lets the paranoid verify that the previous task completed successfully.

share|improve this answer
yes, I think you are right. I may even try a label that Is a nice green below my button that fades out in a second or two. If I'm going to do it properly, I may even thread it off. Thanks. – Sisyphus Jul 9 '12 at 7:38

The way Behance does it seems very effective:

At the bottom of posts there's an "Appreciate this" button that's standard throughout the site. Once the user clicks, the button changes to "Thank you" which provides the immediate feedback that the action was successful. The feedback is immediate and exactly where the user's focus is.

Besides the message, the change in the button's appearance is also harsh enough to not go unnoticed. In addition, the second stage (after clicking) provides the user with further actions related to what they just did.

Here are some screenshots:

share|improve this answer

You may consider doing something similar to a toast or growl notification. It grabs the user's attention with a brief message but then fades without requiring user action.

However, as @dasblinkenlight suggested, if it doesn't make sense for them to export multiple times then you should also disable the ability to do so after the initial export; unless data is changed again.

share|improve this answer

Depends on the context, but I think indication of success to a user can take the form of explicit iconography for confimation (such as a green tick mark with the word confirmation or success) or even navigation to another stage in the task flow, such as a confirmation page for checkout or overview page of details they can email, print, and so on. Wording such as "completed", "thank you", "done" etc can be explored along with options to share the results or provide feedback.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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