User:Andrew/LayoutPatterns/CommandPatterns: Difference between revisions

From KDE Wiki Sandbox
No edit summary
 
(46 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
==Purpose==
==Purpose==
Command patterns are determined by the command structure chosen for the application (simple, complex or very complex)Commands are defined as any function performed by the application based on user input.  
Command patterns are determined by the command structure chosen for 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.
 
 
Command patterns can be combined with [[User:Andrew/LayoutPatterns/NavigationPatterns|navigation patterns]] and [[User:Andrew/LayoutPatterns|content patterns]]  to design the complete layout for your application.


==Guidelines==
==Guidelines==
When designing an application, it may be unclear what the command structure 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 for completing the primary tasks of the application, consider a pattern for a more complex command structure.
===Patterns for a simple command structure===
===Patterns for a simple command structure===
[[File:CP-Simple.png]]
[[File:CP-Simple.png]]
* Use Menu Button when there are few globally applicable commands.
* Use Menu Button command pattern when there are few globally applicable commands.
* Use Context Menu or Context Panel for commands specific to selected content.
* Use Context Menu or Context Panel command patterns for commands specific to selected content.
* Commands are also exposed by direct manipulation of content. For plasmoids, all commands must be exposed by direct manipulation of content - no menu button, context menu, or context panel.
* The menu button pattern can be combined with either of the context menu or context panel patterns.
* Commands can also be exposed by direct manipulation of content (click, drag, buttons, search field, pan, zoom, etc).  
* For plasmoids, all commands must be exposed by direct manipulation of content - no menu button, context menu, or context panel.




'''Examples'''
'''Examples'''


Audio/Music player, Image browser, Document viewer, Maps, Games, Contacts, Chat client, Video conference, Settings, Address book, Chat client, Terminal, Software installer, Calculator, plasmoids
Contacts, Chat client, Video conference, Calculator, Terminal, Plasmoids (panel applets and desktop widgets), Maps, Games, Image browser, Document viewer, Music player, Video player, Software installer, System Settings


===Patterns for a complex command structure===
===Patterns for a complex command structure===
[[File:CP-Toolbar+MenuButton.png]]
[[File:CP-Toolbar+MenuButton.png]]
* Use Toolbar + Menu Button when it is not necessary to expose the root commands. Toolbar exposes frequently used commands.
* Use Toolbar + Menu Button command pattern when the number frequently used commands are about 8 or less, and the remaining commands are not essential to performing the primary task of the application. The toolbar pattern exposes the frequently used commands. The menu button pattern exposes more of the command structure.
* Commands are also exposed by direct manipulation of content, context menus or a context panel.
* Commands are also exposed using context menus, a context panel or by the direct manipulation of content.




'''Examples'''
'''Examples'''


Web browser, File manager, Text editor, Email, Calendar, Image editor, Archiver
Web browser, File manager, Text editor, Email, Calendar, Image editor, Music player, Archiver


===Patterns for a very complex command structure===
===Patterns for a very complex command structure===
[[File:CP-MenuBar.png]]
[[File:CP-MenuBar.png]]
* Use Menubar when the command structure is complex enough to compel exposing  greater than 3 root commands.
* Use the Menubar pattern when access to the full command structure is necessary to complete the primary tasks of the application.
* Commands are also exposed by direct manipulation of content, toolbars, context menus or a context panel.
* Commands are also exposed using toolbars, context menus, a context panel or by direct manipulation of content, .
* Commands in the menubar should generally be globally applicable. Consider using a context panel or a context menu for commands that are specific to the current selection.




'''Examples'''
'''Examples'''


IDE, Text Editor''(high-feature)'', Document editor''(high-feature)'', Spreadsheet editor, Image editor''(high-feature)'', Audio/video editor
IDE, Text Editor''(high-feature)'', Image editor''(high-feature)'', Audio/video editor, Document editor''(high-feature)'', Spreadsheet editor

Latest revision as of 19:41, 22 July 2014

Purpose

Command patterns are determined by the command structure chosen for 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.


Command patterns can be combined with navigation patterns and content patterns to design the complete layout for your application.

Guidelines

When designing an application, it may be unclear what the command structure 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 for completing the primary tasks of the application, consider a pattern for a more complex command structure.


Patterns for a simple command structure

  • Use Menu Button command pattern when there are few globally applicable commands.
  • Use Context Menu or Context Panel command patterns for commands specific to selected content.
  • The menu button pattern can be combined with either of the context menu or context panel patterns.
  • Commands can also be exposed by direct manipulation of content (click, drag, buttons, search field, pan, zoom, etc).
  • For plasmoids, all commands must be exposed by direct manipulation of content - no menu button, context menu, or context panel.


Examples

Contacts, Chat client, Video conference, Calculator, Terminal, Plasmoids (panel applets and desktop widgets), Maps, Games, Image browser, Document viewer, Music player, Video player, Software installer, System Settings

Patterns for a complex command structure

  • Use Toolbar + Menu Button command pattern when the number frequently used commands are about 8 or less, and the remaining commands are not essential to performing the primary task of the application. The toolbar pattern exposes the frequently used commands. The menu button pattern exposes more of the command structure.
  • Commands are also exposed using context menus, a context panel or by the direct manipulation of content.


Examples

Web browser, File manager, Text editor, Email, Calendar, Image editor, Music player, Archiver

Patterns for a very complex command structure

  • Use the Menubar pattern when access to the full command structure is necessary to complete the primary tasks of the application.
  • Commands are also exposed using toolbars, context menus, a context panel or by direct manipulation of content, .
  • Commands in the menubar should generally be globally applicable. Consider using a context panel or a context menu for commands that are specific to the current selection.


Examples

IDE, Text Editor(high-feature), Image editor(high-feature), Audio/video editor, Document editor(high-feature), Spreadsheet editor