UI Change Criteria

Introduction
This page lists proposed criteria for evaluating UI changes in Imprudence. In other words, these are things that should be considered and discussed before a UI change is made, to decide whether that change is actually a good idea.

General

 * Who is the change targeted at (e.g. builders, scripters, shoppers)? Who will it benefit?
 * Will the change reduce usability for other users besides the target demographic? Does the benefit to some outweigh the disruption to others?
 * Did the affected users ask for this change, or is it being handed down from an ivory tower?
 * What objections do other users have to making the change? Are those objections valid?
 * Is there another way to do it that's nearly as good, and causes fewer/less significant objections?

Keyboard Shortcuts
This section describes the criteria specific to keyboard shortcuts, in addition to the general criteria.

Adding a New Shortcut

 * Why does this function need a shortcut?
 * Is the function used frequently enough or repeatedly enough to justify adding a shortcut?
 * Why this specific shortcut? Are there other possible shortcuts that would suit it just as well, or better?
 * Is the proposed shortcut's complexity (number of modifier keys) appropriate to the frequency/repetition of use?
 * Is the proposed shortcut easy to learn and remember? Is it mnemonic? Is it consistent with similar shortcuts in the viewer and other applications?
 * Is the proposed shortcut confusingly similar to an existing shortcut? If so, what are the consequences of the user accidently pressing the wrong one?
 * Might there be another function, now or in the future, for which the proposed shortcut would be much more appropriate?
 * What are the consequences of the user accidently triggering this function? How likely is that?

Removing an Existing Shortcut

 * Why should the existing shortcut for this function be removed? What's wrong with it?
 * How many users use the existing shortcut? What type of users (e.g. builders, scripters)?
 * What usage habits do the users have with regard to the shortcut?
 * How frequently and repeatedly do they use it?
 * Is it a core part of a workflow?
 * How much will removing the shortcut disrupt them or slow them down?
 * How strongly is the shortcut established in their muscle memory?
 * What alternative ways are there to access the function?
 * Are they convenient enough to substitude for the shortcut key in workflows?

Changing an Existing Shortcut

 * Why does this function need a different shortcut? What's wrong with the existing shortcut?
 * Will the change confuse users? Will it disrupt important workflows? How much?
 * Does the proposed shortcut meet the criteria for adding a new shortcut?
 * Does the old shortcut meet the criteria for removing an existing shortcut?

Reassigning an Existing Shortcut

 * Why does the shortcut for this function need to be reassigned to another function?
 * How much is the existing shortcut used? Is it firmly established in muscle memory? Is it part of a workflow?
 * How often will users accidently trigger the wrong function?
 * What are the consequences of users accidently triggering the wrong function?
 * Does the shortcut, applied to the new function, meet the criteria for adding a new shortcut?
 * Does removing the shortcut from the old function meet the criteria for removing an existing shortcut?
 * Will the old function be assigned another shortcut?
 * Does that new shortcut meet the criteria for adding a new shortcut?