Hierarchical Action Tree
Problem
Depending the complexity of the application, more or less commands will be available for interoperatation with the system. This patterns deals with the concern of arranging such command in an intelligible way to seek for usability, lowest learning curve, & ease of use.

Figure 1. Typical Mac application menu.

Figure 2. Adobe Macromedia web-site main menu.
Principle
Accesibility.
Forces
- Too much information (commands) at the same time can disorient the user and be unable to found the desired command.
- Users can keep in mind in the short term memory 5±2 elements (7±2 depends on the context).
- Hierarchies with more than 3 (or 4) levels are too complex and tend to hidden too much the options.
- Tree Balance: not to have a very dense branch at the same time having a very small branch.
Solution
Use a tree to structure your commands. The criteria to apply in the arrangement is open: logical grouping of functionality (e. g.application), alphabetically (e.g. thesaurus or index), based on user groups (e.g. web portals).
When the numbers of commands is big enough consider applying techniques like Card Sorting or other Information Architecture techniques to seek for a good design.
Rationale
Arranging choices in a logical way easy to understand & discover for the users.
Examples
Menus in GUI applications (Figure 1) & web site navigation (Figure 2) are daily examples of this pattern. The tree helps to organize the options available.
Specification
A tree arranging the commands available. Items in the first level will be the most accessible ones, on the contrary, items in the lower levels will be difficult to reach to.
Edit

