I'm working on a pet theory about "slowness" in user interfaces... triggered in part because of issues in a new-ish Oracle product that shall remain nameless...
I'm sure other UI gurus have noticed this before, but when you are clicking buttons or other UI tasks, and it takes longer than about half a second, you will perceive it to be "slow." Why? Who knows! Is it a hard and fast rule? Or just an approximation? I think the root of this answer lies in neurobiology...
I recently devoured the book The Brain That Changes Itself. Highly recommended... It contains some amazing stories about a phenomenon called Neuoplasticity, or essentially the brain's amazing ability to re-wire itself. They told many stories about people with learning disabilities, strokes, cerebral palsy, autism, or even blindness, and how these people "rewired" their brains to heal themselves!
In one section about amputees, they mentioned that it takes 300 milliseconds for a brain signal to reach the hand. That made me think... I wonder if there is a co-relation with that number, and the threshold for when people get annoyed with "slow" computers? Maybe your brain "thinks" that the computer is actually a part of your body, and if it doesn't respond in 300 milliseconds, you get the feeling that something is wrong?
In a section about pain, they emphasized the fact that your brain doesn't "know" where your body ends and the world begins. For example, you can perform the following experiment to prove it to yourself:
- Place your right arm on a table, behind a screen so you can't see it.
- Place a fake rubber arm in front of the screen, aligned with your arm, and so you can see it.
- Have an assistant gently stroke both the rubber arm and your arm in the same way for a few minutes.
- Next, have them just stroke the rubber arm.
- Your brain will actually "feel" your arm being stroked when you see the rubber arm being stroked!
This doesn't just work with rubber arms... it also works if you just stroke the table in front of you! Doctors have used similar kinds of trickery to cure amputees of phantom pain that they "feel" in their amputated limbs. Chronic muscle pain might have similar roots, but they didn't go into it much.
Anyway, since the brain doesn't "know" where the body ends, it probably reacts as if the computer is a part of your body. In other words, if your brain wants to make the computer do something, and you don't get feedback within 300 milliseconds, it might trigger some anxiety because it "thinks" something is wrong with your body! It doesn't know that its just a computer... your brain is probably wired to trigger genuine anxiety when your computer doesn't behave as naturally as your hand! In this case, something should happen in under 300 milliseconds.
In practice, this means many things for better user interface design... but at the very minimum it means that computers should give feedback at least every 300 milliseconds. If something can be done in under 300 milliseconds, then it always should. If not, then you absolutely must give some kind of feedback that stuff is happening: a spinning wheel, a progress bar, maybe dancing frogs.
Either way, 300 milliseconds is a pretty good rule of thumb to ensure your users avoid feeling anxious and ill while using your products...