Difference between revisions of "Projects/Usability/HIG"

Jump to: navigation, search
m (Style)
m (KDE Human Interface Guidelines)
 
(26 intermediate revisions by 6 users not shown)
Line 1: Line 1:
= Introduction =
+
__NOTOC__
 +
= KDE Human Interface Guidelines =
  
Human interface guidelines (HIG) are software development documents that offer  
+
The KDE Human Interface Guidelines (HIG) offer application designers and developers a set of recommendations for designing and developing user interfaces. Their aim is to improve the experience for users by making application interfaces more consistent and hence more intuitive and learnable.  
application developers a set of recommendations. Their aim is to improve the  
+
experience for users by making application interfaces more consistent and  
+
hence more intuitive and learnable.  
+
  
[[/About|Learn more about the philosophy behind the KDE HIG]]
+
== Getting Started ==
 +
* [[Projects/Usability/HIG/Presentation/DesignVisionPrinciples|Design Vision and Principles]] - The overall vision and principles that guide the design and development of user interfaces for KDE software.
 +
* [[Projects/Usability/HIG/Concept|Concept]] -  Creating a project vision, determining the users, and the scenarios of use.
 +
*  [[Projects/Usability/HIG/Organization|Organization]] - Guidelines on how an application’s content and functionality are ordered and categorized.
  
= Structure =
+
== Behaviour ==
== Conceptual Model ==
+
This section contains guidelines for application behaviour.
* Have a clear [[Projects/Usability/HIG/Vision|vision]] what your application will achieve and what not.
+
* Meet the needs of KDE's [[Projects/Usability/HIG/Persona|personas]] in your application.
+
* Define a [[Projects/Usability/HIG/Scenario|scenario]] where persona(s) interact with your application.
+
* Specify requirements considering [[Projects/Usability/HIG/Destinata|destinata]] and [[Projects/Usability/HIG/Animata|animata]] of users.
+
  
== Task Flow ==
+
* [[Projects/Usability/HIG/ViewingAndNavigation|Viewing and Navigation]] - Guidelines on controls and patterns to use for viewing, navigating and performing actions on application content.
* Users should be able to complete tasks in natural [[Projects/Usability/HIG/WorkFlow|work flow]].
+
* [[Projects/Usability/HIG/EditingAndManipulation|Editing and Manipulation]] - Guidelines on controls and patterns to use for selection and input.
 +
* [[Projects/Usability/HIG/UserAssistance|User Assistance]] - Guidelines on tooltips, notifications, messages and help.
 +
* [[Projects/Usability/HIG/Patterns|Patterns]] - Guidelines on how to use controls in different combinations to accomplish specific behaviors.
  
== Organizational Model ==
+
== Presentation ==
* Information architecture, Interface management, Window style, Basic arrangement, Screen design, Design Pattern
+
Presentation deals with the visual design of the user interface.
  
* Central configuration
+
* [[Projects/Usability/HIG/Layout|Layout]] - Guidelines regarding the placement and ordering of onscreen elements. Includes guidance on layout patterns, alignment, size and spacing.
* Notification mechanism
+
* [[Projects/Usability/HIG/Style|Style]] - Guidelines on the use of colour, icon design and the typography to communicate with a consistent visual vocabulary.
* Minimize to tray
+
* [[Projects/Usability/HIG/Text|Text]] - Guidelines for the written, language-based elements of the interface. Includes guidelines on wording, capitalization and localization.
* Processing of passwords
+
* Implement a [[Projects/Usability/HIG/SearchPattern|search]] as common pattern.
+
  
= Behaviour =
+
== Tools and Resources ==
== Viewing and Navigation ==
+
The following tools and resources are offered to help with following these guidelines.
=== Access functions ===
+
* Apply a [[Projects/Usability/HIG/Menu_Bar|menu bar]] to every standard application.
+
* Try to omit the [[Projects/Usability/HIG/StatusBar| status bar]] from your application.
+
* Provide a [[Projects/Usability/HIG/ContextMenu|context menu]] for controls with implicit functions.
+
* Provide a [[Projects/Usability/HIG/Toolbar|toolbar]] for frequently used functions.
+
* Use a [[Projects/Usability/HIG/Buttons|push button]] to initiate an action when the user clicks it.
+
* Use a [[Projects/Usability/HIG/Toggle_Buttons|toogle button]] to indicate a state, preferably in toolbars only.
+
* Use a [[Projects/Usability/HIG/Command_Link|command link]] to navigate between pages.
+
* Support keyboard access by [[Projects/Usability/HIG/Keyboard_Accelerators|accelerators]] and [[Projects/Usability/HIG/Keyboard_Shortcuts|shortcuts]].
+
* Follow the guidelines for [[Projects/Usability/HIG/Dialogs|dialogs]] for secondary windows.
+
  
=== Grouping ===
+
* [[Projects/Usability/HIG/ControlsList|Controls List]] - A complete listing of all user interface controls and their guidelines in alphabetical order.
* Arrange associated controls by using a labeled [[Projects/Usability/HIG/GroupBox| group box]] or an unlabeled [[Projects/Usability/HIG/GroupBox| frame]].
+
* [[Projects/Usability/HIG/MockupToolkit|Mockup Toolkit]] - Includes UI controls stencils, color swatches and fonts to help create the visual design your application.
* Allow users to resize aligned groups by placing a [[Projects/Usability/HIG/Splitter| splitter]] between the groups.
+
* [[/About|About the HIG]] - Learn more about the philosophy behind the KDE HIG.
* Use [[Projects/Usability/HIG/TabControl|tabs]] to show related information on separate pages.
+
* [http://forum.kde.org/viewforum.php?f=285 Visual Design Group forum] - Ask for help and share your design ideas.
* Provide an [[Projects/Usability/HIG/Accordion|accordion]] (aka tool box) for different views to content.
+
 
+
=== Complex views ===
+
* Use a [[Projects/Usability/HIG/ListView| list view]] to show some items out of one category.
+
* Use a [[Projects/Usability/HIG/TreeView| tree view]] to show items with a single, natural, hierarchical categorization.
+
* If you really need to create your own widget follow the guidelines for [[Projects/Usability/HIG/CustomControls| custom controls]].
+
* Double check the guidelines about plotting [[Projects/Usability/HIG/Diagram|diagram/charts]].
+
 
+
== Editing and Manipulation ==
+
=== Selection ===
+
* Use [[Projects/Usability/HIG/Radio Buttons|radio buttons]] for selection of 1 out of a few items.
+
* Use one or more [[Projects/Usability/HIG/Check_Box|check boxes]] for clear options or to select items out of a small number of options.
+
* Use a [[Projects/Usability/HIG/DropDown| drop-down]] list for selection of 1 out of a small number of items.
+
* Use a [[Projects/Usability/HIG/Combo_Box| combo box]] to select 1 out of a small number of items where users should be able to add items.
+
* Use a [[Projects/Usability/HIG/ListView|list view]] to select 1 singular item out of a potentially big list.
+
* Apply the [[Projects/Usability/HIG/DualList| dual list pattern]] for several selections out of a large number of (multiple) items.
+
 
+
=== Unconstrained input ===
+
* Provide a [[Projects/Usability/HIG/LineEdit| line edit]] to enter one line of text.
+
* Provide a [[Projects/Usability/HIG/TextEdit| text edit]] to enter multiple lines of texts.
+
* Use a [[Projects/Usability/HIG/TableView| table view]] to arrange data in rows and columns with inline editing feature.
+
 
+
=== Constrained input ===
+
* Use a [[Projects/Usability/HIG/Spin_Box|spin box]] for numerical input within a range and with fix steps.
+
* Use a [[Projects/Usability/HIG/Slider|slider]] for arbitrary changes within a defined range.
+
* Apply the [[Projects/Usability/HIG/Slider_and_Spin_Box|slider and spin box pattern]] for numeric input with both large changes and precise control.
+
* Use [[Projects/Usability/HIG/Date_Time_Pickers|date and time pickers]] for formatted input of datum, time of day, or periods etc.
+
 
+
== User Assistance ==
+
=== User-driven information ===
+
* Provide [[Projects/Usability/HIG/Tooltip|tool-tips]] for user driven information.
+
 
+
=== System triggered notification ===
+
* Provide a [[Projects/Usability/HIG/MessageWidget| message panel]] to inform users about non-critical problems.
+
* Use a [[Projects/Usability/HIG/Notifications|notification]] as system-triggered message to inform about events out of the current context.
+
* Show a [[Projects/Usability/HIG/ProgressIndicator| progress indicator]] for lengthy actions.
+
 
+
=== Disruptive messages ===
+
* Show a modal [[Projects/Usability/HIG/Messages|message dialog]] if the processing has reached an unexpected condition that needs interaction.
+
 
+
=== Help system ===
+
* Support the user by an elaborated interface or per [[Projects/Usability/HIG/HelpSystem|help system]].
+
 
+
= Presentation =
+
== Layout ==
+
* Place controls carefully with proper [[Projects/Usability/HIG/Placement|size and space]] between.
+
* Carefully place control according the KDE [[Projects/Usability/HIG/Alignment| alignment]] style.
+
* Do not use [[Projects/Usability/HIG/Color| color]]  as primary method of communication.
+
* Choose icons from the Oxygen icon set and follow guidelines on [[Projects/Usability/HIG/IconDesign| icon design]].
+
 
+
== Style ==
+
* Know the [[Projects/Usability/HIG/Presentation/DesignVisionPrinciples|design vision and principles]] that inform the visual design.
+
* The following essential style elements provide a palette with which application designers can express their own unique vision while also being part of a shared community vision.
+
** Use a consistent [[Projects/Usability/HIG/Style/ColorSet|color set]].
+
** Ensure [[Projects/Usability/HIG/Style/Backgrounds|backgrounds and edges]] honor the design vision.
+
** Use [[Projects/Usability/HIG/Placement|size and spacing]] to create breathing room.
+
** Follow the [[Projects/Usability/HIG/Alignment| alignment]] guidelines.
+
** Treat [[Projects/Usability/HIG/Style/Typography|typography]] with the same care as any other aspect of the visual design.
+
** [[Projects/Usability/HIG/Style/Icons|Icon]] use should be consistent throughout the interface.
+
* [[Projects/Usability/HIG/Style/BuildingBlocks|Building blocks]] are available to help make it easier to design applications that satisfy the design vision, without having to always create your own custom UI elements and controls.
+
* Try the [[Projects/Usability/HIG/MockupToolkit|mock-up toolkit]] to help with designing your application.
+
* Ask for help and share your visual design ideas on the [http://forum.kde.org/viewforum.php?f=285| KDE Visual Design Group forum].
+
 
+
== Text ==
+
* Keep [[Projects/Usability/HIG/Wording|wording]] consistent and easy to understand.
+
* Take care about [[Projects/Usability/HIG/localization| localization]] of your project.
+
* Do not apply [[Projects/Usability/HIG/Capitalization|capitalization]] except for titles and in case of sentence style.
+
* Apply standard [[Projects/Usability/HIG/Labels|control labels]] in your app.
+
* Use [[Projects/Usability/HIG/StaticText|static text]] for main instruction and supplemental information.
+
 
+
=Contributing=
+
 
+
Didn't find what you were looking for?
+
 
+
A guide to the guide can be found at the [[Projects/Usability/HIG/About|about page]].
+
 
+
Our Human Interface Guidelines are a work in progress and we need your help. Visit the [[Projects/Usability/HIG/Contributing|Contributing page]] to report problems or get involved.
+
 
+
= See also =
+
* [http://techbase.kde.org/Projects/Usability/HIG/Tablet/Index| KDE HIG for Plasma Active]
+
* [http://techbase.kde.org/Projects/Usability/HIG/Netbook/Index| KDE HIG for Plasma Netbook]
+
* [http://hcibib.org/sam| Guidelines for Designing User Interface Software (Smith & Mosier, 1986)]
+
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx| Microsoft Windows User Experience Interaction Guidelines]
+
* [https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/AppleHIGuidelines/Intro/Intro.html| Mac OS X Human Interface Guidelines]
+
* [https://developer.gnome.org/hig-book/stable/| GNOME Human Interface Guidelines (v2.2.3)]
+
* [http://elementaryos.org/docs/human-interface-guidelines| elementary OS HIG]
+
* [http://developer.android.com/guide/practices/index.html| Android User Interface Guidelines]
+
  
  
 
[[Category:Usability]]
 
[[Category:Usability]]

Latest revision as of 20:53, 28 September 2014

[edit] KDE Human Interface Guidelines

The KDE Human Interface Guidelines (HIG) offer application designers and developers a set of recommendations for designing and developing user interfaces. Their aim is to improve the experience for users by making application interfaces more consistent and hence more intuitive and learnable.

[edit] Getting Started

  • Design Vision and Principles - The overall vision and principles that guide the design and development of user interfaces for KDE software.
  • Concept - Creating a project vision, determining the users, and the scenarios of use.
  • Organization - Guidelines on how an application’s content and functionality are ordered and categorized.

[edit] Behaviour

This section contains guidelines for application behaviour.

  • Viewing and Navigation - Guidelines on controls and patterns to use for viewing, navigating and performing actions on application content.
  • Editing and Manipulation - Guidelines on controls and patterns to use for selection and input.
  • User Assistance - Guidelines on tooltips, notifications, messages and help.
  • Patterns - Guidelines on how to use controls in different combinations to accomplish specific behaviors.

[edit] Presentation

Presentation deals with the visual design of the user interface.

  • Layout - Guidelines regarding the placement and ordering of onscreen elements. Includes guidance on layout patterns, alignment, size and spacing.
  • Style - Guidelines on the use of colour, icon design and the typography to communicate with a consistent visual vocabulary.
  • Text - Guidelines for the written, language-based elements of the interface. Includes guidelines on wording, capitalization and localization.

[edit] Tools and Resources

The following tools and resources are offered to help with following these guidelines.

  • Controls List - A complete listing of all user interface controls and their guidelines in alphabetical order.
  • Mockup Toolkit - Includes UI controls stencils, color swatches and fonts to help create the visual design your application.
  • About the HIG - Learn more about the philosophy behind the KDE HIG.
  • Visual Design Group forum - Ask for help and share your design ideas.

This page was last modified on 28 September 2014, at 20:53. This page has been accessed 67,850 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal