Many words are thrown around by user experience professionals to describe what they consider to be the keys to superlative software design. “Simplicity” and “intuitiveness” come to mind. We like both simplicity and intuitiveness, much as we like motherhood and apple pie. But there are less glamorous aspects to a user experience that are fundamental to making it a positive interaction.
Coming up with the “one” most important item in any category is often a difficult task, but when it comes to this category, If I had to pick a #1, it would be “responsiveness”. There is nothing more frustrating than a software user interface that doesn’t respond to a user’s request in a timely fashion. Forget whether it’s simple. Forget whether it’s intuitive. It can be ugly. It can be old. It can be downright rude even. But being unresponsive, being slow, is unforgivable.
What do we mean by unresponsive?
The user clicks a button expecting something to happen. Whatever needs to happen is taking a while. This is reality sometimes. The user has asked for a particularly large data set, etc. But even if the user must wait, the user needs immediate acknowledgement that something has happened. Without acknowledgement the user is likely to click again (and again). Often less forgiving pieces of software will initiate several requests simultaneously for the user thereby delaying all of them.
Whether the user is scrolling, or closing a window, or opening a menu, or navigating to somewhere new, instant gratification is always the minimum bar.
Obviously just getting the user what they want immediately and without delay is the optimal experience. But responsiveness is about the user feeling in control. Without it, the user feels controlled, frustrated, and no matter how great a job your software does, you have someone who is using it begrudgingly. Don’t bother spending money on designing a great user interface if responsiveness isn’t already in the budget.