Usability

Usability Nightmares, Part 1

Well, I like UI assistance in the usual ways. Many of you probably know the run dialog of Windows:

Windows Vista Run dialog

or perhaps the address bar:

Internet Explorer Address Bar

Both exhibit kind of a text box, merged with a drop down list. In initiated Visual Basic circles called a combo box. The point is to simultaneously allow more text input and selection of a predefined or previously entered value. Usually the list drops down while typing but won't get in the way or steal focus, thus being quite unobtrusive. You can, however, use the arrow down key to select an item from the list. And you can hit Esc any time to close the list again.

Yesterday I stumbled over an example of such assistance gone wrong, from a usability perspective. Eclipse offers something called Content Assist in many places, it is context-sensitive, offers usually only the options that make sense in the current context, etc. In general a good feature and nice to have. Until I tried a simple search and replace through my source code:

Eclipse Content Assist in Find and Replace

Short explanation: I typed the “r()” in the “Find” text box and hit tab to get to the “Replace with” text box. Never mind that the find/replace I attempted there didn't work (as I was doing a regular expression search and parentheses are special characters there) the dialog thought the pressing of Tab to be a good time to display content assistance that not only completely covered the text box I was about to type into, but also managed to provide no obvious way to get rid of it.

My natural reaction was to hit Esc. No good, it closed the dialog completely. I fell into this trap about three times until I actually thought about what I was doing there. Anyway, turns out that the content assistance didn't even have focus, for whichever reason. Thus any input I made went straight to the dialog (hence Esc closing it, ok). Clicking elsewhere in the dialog didn't work either, perhaps for the same reason. I gave up trying yesterday and instead just unchecked the “Regular expressions” check box.

It seems (note: I can only guess) as if Eclipse is trying to display the content assistance for the previous text box, the one where it noticed “Hey, parentheses are special characters, let's display the user some help with them or other common Reg Ex templates”. Hitting Shift-Tab to get to the “Find” text box and then hitting Tab will get you to the list of suggestions. Turns out that even waiting until it appears will get rid of that annoyance, it actually does, but needs a second or two.

The problem is probably that regular expression search and replace is a feature not used by beginners (who perhaps need the assistance most) but rather by people already familiar with it. And those are much more likely to just type away as they already know what they want to search and replace. So waiting until you display that will cause the list to pop up too late in most cases anyway.

Note: I mentioned above that I did the same mistake (hitting Esc) three times before actually realizing what I was doing. Many people that deal with Usability and Interaction Design note the same: The first thing a user attempts when facing something unexpected is to get rid of it as fast as possible. I seems even people who spend the majority of their time with computers aren't any better than those we usually just look upon scornfully.

Syndicate content