Making your users wait is probably one of the worst things you can do to ruin the user's experience in your application. I have been working on an exteremely slow PC lately and have discovered some of the worst side-effects of a slow interface:
- Your audience loses their attention
- Your audience will go somewhere else or do something else
Naturally we can't always eliminate every wait in a program, it is very nice to give the user some sort of visual cue that the application is still working and hasn't locked up their computer. Probably the best example of this is an AJAX loading animation, or the hourglass in Windows. It's a nice hypnotic animation that catches the user's eye and prevents him/her from drifting off for a couple seconds.
It only works for a few seconds, but I was really surprised how well it works. Also, there are a few websites that generate nice ones for you here:
I've used them a couple times. For AJAX Dialogs I strongly recommend a nice big bar animation.