Context menus or right click menus can provide valuable tools for experience users but abusing context can get you into trouble.
- Assume that experienced users will find context menus more often then beginners. People who are new with computers will usually left click on everything and won't experiment with right clicking.
- There is no affordances to tell you that right clicking or context clicking is possible. So even experienced users may not always find context menus.
- Because of 1 & 2 you should never put core, primary user interface functions in a right click menu with no other visible way to access them.
- Context means that the commands are scoped to an object. This means that you will usually have some logical object that is being manipulated. (Text, an icon, an image, etc.
Here's an example from PhotoShop layers pallet that shows what not to do:
Here PhotoShop places a number of context menus around each other exposing primary functionality that would be difficult to find elsewhere in the menu system. The core object in this case is the Layer however some commands are preferences for all thumbnail, other commands are unpredictable and get shown and hidden based on unseen modes. Here the designers tried to reproduce the entire menu structure within the context of a layer selection. This makes it hard to find commands that relate to the context and very difficult for new users not familiar with the structure.
Many of these context items are repeated and many others could be collapsed or removed. Simple things like renaming the layer are no where to be found.
A redesign of this pallet could make it easier to perform core functions without trying to do everything within the pallet itself. Techniques like progressive disclosure and exposing commands instead of hiding them would make this application much easier to use.