Monday, October 29, 2007

Generic Commands

Using generic commands rather than many different commands ...

"Applications can give users access to a richer feature set by using the same few commands to achieve many related functions.

In application design, there's a tension between power and simplicity: Users want the ability to get a lot done, but they don't want to take the time to learn lots of complicated features.

One way to address this dilemma is to use progressive disclosure — that is, to show users only the most important options until they ask for the advanced features.

Another good approach is to use generic commands, which remain the same across many different contexts and thus reduce complexity.
Cut, Copy, Paste
The cut-copy-paste triad offers the most famous example of generic commands. These 3 basic commands suffice to let users do everything from move text to edit movies. In fact, because they work across so many applications, I view them as "super-generic commands."

The first guidelines for generic commands are:

* If at all applicable to your domain, your application should support the super-generic commands that people expect and know from other applications.
* In particular, provide cut-copy-paste commands for moving stuff around.

One of the big criticisms of iPhone version 1.0's user experience is that it doesn't support cut-copy-paste, even though users definitely expect these commands in any modern design.

The cut-copy-paste triad wasn't the original generic editing command set. The original designers at Xerox PARC used move-copy-delete. If you think about it, these two triads both map to all common user actions, they just do it in different ways: (below)

From the above table, it might seem that move-copy-delete is the superior set of generic commands. In practice, however, it forces you to specify where you're copying or moving to and from. Having 2 arguments per command complicates matters. In contrast, cut-copy-paste employs an intermediate state: the clipboard, which is a different complication but allows each command to proceed with only 1 argument.

It's hard to say which of the two models is superior. But it's clearly best to pick one model and stick to it everywhere. Much confusion would ensue if people had to use one model half the time and another model the other half of the time."    (Continued via Jakob Nielsen's Alertbox)    [Usability Resources]

Move, Copy, Delete - Usability, User Interface Design

Move, Copy, Delete


Post a Comment

<< Home

<< Home