When it comes to user interface design, there is in fact such a thing as too easy. For instance, Have you ever tried to select a control in the Visual Studio designer only to have the IDE interpret it as a double click, going to code view and auto-generating lots of code? What about trying to double-click a file in the solution explorer, which instead resulted in accidentally moving it into some folder? These and many more similar features often turn into minor annoyances because they’re so easy to invoke accidentally.
Easy, Now!
The obvious alternative would be to make them more difficult to use. For example, the two examples above could be changed so that you had to hold down the shift key on the keyboard while double clicking the Control/dragging the file. However, that would require two hands to carry out the operation and a combination of input devices - that doesn’t sound like an improvement to me, and I bet the HCI guys would balk at it.
Are You Sure You Want To…
A common thing a lot of programs does in order to stop the user from accidentally doing something, is prompting them with a confirmation dialogue. For instance, they will often ask the user to confirm deleting stuff. “Are you sure you want to…” is probably the question programs most often ask their users. I don’t much care for this ‘solution’ – in fact, I’d go as far as saying it’s just a quick and dirty fix to avoid the vastly better (yet more difficult to implement) alternative – the elusive undo functionality.
Let Me Change My Mind, And I Will Change Yours
Let the user do whatever he may choose, but allow him to regret his choices too. Just think about the way you browse the web; you can always hit ‘Back’ if you navigate down some link that didn’t take you where you wanted to go. How would you feel if Internet Explorer or Firefox decided to remove the Back button in their next release? In fact, a major usability caveat for sites that rely excessively on Ajax, Silverlight or Flash is that they break this fundamental interaction principle of the web.
But that’s a digression best left for another time :)