I studied users and designed UI for 3ds max which has a very powerful system for hotkey customization. 3d artists depend heavily on hotkeys and resemble your users in that they use the software all-day every-day. Some of my observations:
1. The customization dialog is a crucial part of the interface. Assuming that there are a lot of commands, this includes: a) A list of commands that can be assigned to hotkeys and key-combinations. This list should make it immediately clear which commands are unassigned or assigned, and which keys are associated with each command. b) If there are a lot of commands then it may be helpful to categorize commands to make lists more manageable. However, different users may have different ontologies so categories can make some commands harder to find - commands might belong in more than one category. c) If the commands have names that are not obvious to every user, the list should pair descriptions with the command names. d) If the lists are long and users aren't always sure about a command's name, many wish to find commands with a text search - another reason to pair commands with descriptions. e) The method for indicating the hotkey or key-combo should be simple and informative. Max's method had a text field that you can click on and then "type" your hotkey or key combo - some people were confused initially, not realizing that they should simply press a key combo. After entering a hotkey or combo, the command-hotkey pairing is indicated in a prominent way. If a hotkey is being reassigned from another command then there should be a way to cancel the new assignment. 2. Users like having a keyboard map of their hotkeys. Softimage XSI has a very nice map that is part of the hotkey assignment GUI. If the list of commands is not too long, it might be better to have a keyboard-map-oriented GUI rather than the command-list-oriented GUI described in #1. 3. It should be possible to export the hotkey mapping so that you can import it on another computer. Or figure out some way to make it a web resource that can be connected to from any machine. 4. Users should be able to add "scripts" to the list of commands that they can map to hotkeys. These scripts are lists of other commands. Its nice to integrate the GUI for editing these scripts with the hotkey assignment GUI. The GUI might include a simple text editor for scripts but how do you enter a command into the script? Max has a feature called the "Command Listener" that makes this easy: Each time you execute a command with the GUI, the command's script syntax appears in the Command Listener's buffer (looks like a scrolling command shell - it might be only one or two lines tall but you can scroll to see the previous umpteen commands). Then you can copy the script for a command from the Command Listener and paste it into the script editor. 5. Users who use hotkeys heavily still use menus and tool buttons too. There are some commands they [almost] always execute with hotkeys and others that they [almost] always execute with point-and-click even if all commands could be assigned to hotkeys. 6. Even if the hotkey customization facility is excellent, many users will complain loudly when you change the default mapping. -Mark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Posted from the new ixda.org http://www.ixda.org/discuss?post=37518 ________________________________________________________________ Welcome to the Interaction Design Association (IxDA)! To post to this list ....... [email protected] Unsubscribe ................ http://www.ixda.org/unsubscribe List Guidelines ............ http://www.ixda.org/guidelines List Help .................. http://www.ixda.org/help
