I remember when Microsoft came out with the idea of only showing menu items that you had used before. It was great – if you had never printed a document in Word before, you would have to hunt around before you could find the ‘Print’ option in a menu. I might be giving Microsoft a bad rap here of course, this was the first place I saw the behaviour, but it might not have been invented there. The same joy happens with context sensitive behaviour – you can’t save an 8-bit image in JPEG format, so we won’t show you that option.
I think that the clutter free approach of not showing all the menu options if you didn’t normally use them was well meant but really silly. My support calls for computer questions took on a new atmosphere: “Click on ‘Print'” – “I don’t see a ‘Print'”. It was an interesting idea to reduce how much stuff you had to read to find the stuff you normally did – but that really is backwards: for the stuff you normally do, you know where to find the option. For the stuff you rarely do, you’ll now have to hunt harder than you used to. It was the first option I turned off when I started using Office 2000 – once I found where to turn it off.
Context sensitive UI, where buttons and options disappear or appear depending on the context are also extremely frustrating for the user. For the programmer, it’s a great way of avoiding work; none of that pesky writing meaningful and helpful error messages when somebody tries to do something that really can’t be done right now. You just make it impossible for them to do it and don’t show them the option and off you go.
For the user of the software, on the other hand it can be intensely painful. You question your sanity as you recall using this tool just yesterday and now you can’t even find it. Or you find the tool, but when you try to use it, it ignores you. I came across this in Apple’s iMovie just last weekend. I was helping my dad with some old super-8 movies that he’d had put onto DVD, and we wanted to add some text commentary. We added a title to a part of the movie – easy. We tried to add one to another part of the movie. Seemed reasonable, we tried to do it, but the software flat out ignored us. Drop a title someplace and although we could go through the motions, NOTHING happened. It just wouldn’t stick. Turns out that you can only add one title to a clip, and since the entire movie was one clip (the clips were fused together some 40 years ago), nothing was going to happen, and it wasn’t going to suggest a better option.
Now suppose you go to the grocery store and ask somebody who works there where the potatoes are. But it turns out that they’re out of potatoes so the guy just completely ignores you. Would you be at least slightly surprised by this? In fact you’d probably hunt down the guy’s manager. So why do software developers think it’s a good idea? I suppose the grocer could also specifically avoid you so that you can’t ask him the question – does that make good sense? Is it good customer service?
So this might bring back memories of Clippy, the helpful animated character that came up in MS Office in the mid 90s. Some people say it was one of the few things from Microsoft’s research labs to make it out into the real world! Clippy might have provided good customer service if it hadn’t been so annoying. It would be like the grocer who runs up and offers cooking advice whenever you look at a vegetable; it wouldn’t be long before you’d want to punch the helpful fellow. But oddly, it’s the sort of thing that might help, but perhaps they’d need to find a way to make the offer of help less obtrusive and not as distracting – I think the animators got a little carried away with the various helpers that would invariable hang around, make noise, and be a nuisance.