Here at QCon, Larry Constantine gave a keynote on usability. His big idea is that developers should not rely on user opinion, feedback and testing to determine the user interface and feature set of applications. You end up with too many features, and replication of past errors. He made some good points, but I was not greatly impressed with this session. The majority of the time was spent poking fun at other people’s UI blunders, which left little space for presenting Constantine’s proposed solution, a thing called Activity Modeling.
First up for scorn was the options dialog in Microsoft Word (pre-2007). This is one of those multi-tabbed affairs with a bewildering number of checkboxes. It’s better in Word 2007; but Constantine is not keen on the famous Office Ribbon either. Let’s say you have an image in a document, he said. Would you really expect Insert Caption to be on the References ribbon?
Possibly not; though looking at the section it is in, I can see the logic of it (it is grouped with “Insert table of figures”). That said, personally I wouldn’t search the ribbon for this. I would right-click the image; and indeed, if you do this, insert caption is right there on the pop-up menu. Constantine either did not spot this, or chose not to mention it.
The underlying point is fair though. No matter how Microsoft designs the ribbon, it will not seem intuitive to everyone. So should the ribbon be customizable? Constantine says it should; he even has a mystery source at Microsoft who told him that it would have been, but the developers ran out of time.
I’m not so sure. Customizability would be nice; yet it is less necessary than in earlier versions, since many more features are exposed by default. The advantage of fixed ribbons is that once you have learned where features are located, they are always there. The snag with highly customizable UIs is that no two instances are the same.
Let’s say you have your customized Word set up just how you like it. Then you have a system crash, or visit another office, and you have to work with Word set back to its defaults. Now where has that pesky icon got to?
In any case, Office is atypical. It’s a mature general-purpose tool, used for everything from quick memos to books and dissertations. By contrast, most business applications (the kind that most developers have to work on) are narrow in focus.
My view is that usability is just difficult to achieve. I don’t think there is any silver bullet, not Constantine’s Activity Modeling, nor Microsoft’s one-way glass, wish line, or any other single technique.
That said, usability does deserve more attention than it tends to get. One good point Constantine made was that the increasing computing power available today gives us more options than were available in the past. Lots of research opportunities here.