The organizational model, also called the information architecture, describes how the system’s content and functionality are ordered and categorized. It is made up of the command structure and content structure of the application.
A command is any function performed by the application based on user input. Commands that perform similar functions may be grouped together. The collection of commands and command groups make up the command structure of the application. The command structure of KDE applications fall into three categories:
If it is unclear what the command structure of a new application should be, start by assuming a simple command structure and select an associated command pattern. As the design evolves, if the selected pattern becomes inadequate then consider a pattern for a more complex command structure.
The content structure depends on how the underlying content of the application is organized. The content of KDE applications fall into 4 categories:
- Flat - When the pieces of application content are not grouped. E.g. a playlist, a slideshow or a list of documents or contacts. Use navigation patterns for a flat content structure. Plasmoids may use a flat content structure.
- 2-deep - When all application content are grouped into top-level categories. E.g. picture albums, music albums, email folders or tags. Use navigation patterns for a 2-deep content structure . Plasmoids should use no more than a 2-deep content structure.
- 3 deep - When all application content are grouped into categories, which are themselves be grouped into top-level categories. E.g. a music or video library. Content structures this deep should generally be avoided where possible. Use navigation patterns for a 3-deep content structure.
- n-deep - When content is infinitely groupable. Examples include file systems and archives. Content structures this deep should be avoided where possible since it is difficult for the user to maintain awareness of their location in content structure. Use navigation patterns for a n-deep content structure.
- What (specific) activity or problem is the user currently involved with solving
- What user interface does the user have available to them?
- Where is the user? (Location)
- How to manage assumptions, and ask graciously what context the user is in.
- How familiar is the user with the program.
- What environment has the user come from?
- Administration How similar must this instance be to other instances?
- Who should have access to this program or adjustment capability.
- What other terms or alternate wordings might the user already know about solving this problem (search)
- What is the cost of a failure vs cost of success?
Content is available under Creative Commons License SA 4.0
unless otherwise noted.