Click this button. Go ahead!
Well, that was dull! Like any sensible button, when you clicked it, something happened. That's what buttons are designed to do. Then there is this kind of button:
How did that feel? Did you wonder if something was wrong? Did you perhaps click it several times? Did you suspect at some point that it wasn't a button at all? Of course you did. Sadly, these types of buttons can be found in bad user interfaces everywhere - from ticket machines to ATM:s, from web sites to coffee machines.
The difference between a good button and a bad button is called responsiveness. Whenever you interact with something that something should respond right away to tell you that you action was recognized. If it fails to respond it feels inert, like a rock. A button should not a be a rock. It should yield and tell you that you managed to hit it and that the computer is now doing your bidding.
Of course it's now always possible to deliver a result right away. Sometimes you have to wait for a slow process to complete - tickets needs to be printed, money counted, web sites rendered and coffee grounded. But that's no excuse to fail to give feedback! Here, try this:
Like in the previous example the result ("Good job!") was delivered in four seconds, but this time you knew that you had managed to click a working button and that the machine was now busy doing something. That makes all the difference!