Projects/Usability/HIG: Difference between revisions

From KDE TechBase
(Index for mobile added)
(69 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 ==
<div style="display: none;">
This section contains guidelines for application behaviour.
== Conceptual Model ==
* Real World, Vision
== Task Flow ==
* Core usability goals, Use cases / User requirements, Task aggregation
* Personas, Scenarios, Usability criteria, Feature list
== Organizational Model ==
* [[Terminology]]
* Information architecture, Interface management, Window style, Basic arrangement, Screen design, Design Pattern
* [[Projects/Usability/HIG/CentralConfiguration|central configuration]] (content tbd.)
* [[Projects/Usability/HIG/NotificationMechanism|Notification mechanism]] (content tbd.)
*Minimize to tray (perhaps at behaviour>navigation)
</div>


= Behaviour =
* [[Projects/Usability/HIG/ViewingAndNavigation|Viewing and Navigation]] - Guidelines on controls and patterns to use for viewing, navigating and performing actions on application content.
== Viewing and Navigation ==
* [[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.


* [[Projects/Usability/HIG/Dialogs|Dialogs]]
== Presentation ==
* [[Projects/Usability/HIG/Tabs_Pages|Tabs and Pages in Dialogs]]
Presentation deals with the visual design of the user interface.
* Toolbar
* Paging


=== Access functions ===
* [[Projects/Usability/HIG/Layout|Layout]] - Guidelines regarding the placement and ordering of onscreen elements. Includes guidance on layout patterns, alignment, size and spacing.
* Apply a [[Projects/Usability/HIG/Menu_Bar|menu bar]] to every standard application.
* [[Projects/Usability/HIG/Style|Style]] - Guidelines on the use of colour, icon design and the typography to communicate with a consistent visual vocabulary.
* Apply a [[Projects/Usability/HIG/StatusBar| status bar]] to every standard application.
* [[Projects/Usability/HIG/Text|Text]] - Guidelines for the written, language-based elements of the interface. Includes guidelines on wording, capitalization and localization.
* Provide a [[Projects/Usability/HIG/ContextMenu|context menu]] for controls with implicit 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]].


=== Grouping ===
== Tools and Resources ==
* Arrange associated controls by using a labeled [[Projects/Usability/HIG/GroupBox| group box]] or an unlabeled [[Projects/Usability/HIG/GroupBox| frame]].
The following tools and resources are offered to help with following these guidelines.
* Allow users to resize aligned groups by placing a [[Projects/Usability/HIG/Splitter| splitter]] between the groups.
* Accordion/Tool box


=== Complex views ===
* [[Projects/Usability/HIG/ControlsList|Controls List]] - A complete listing of all user interface controls and their guidelines in alphabetical order.
* Use a [[Projects/Usability/HIG/ListView| list view]] to show some items out of one category.
* [[Projects/Usability/HIG/MockupToolkit|Mockup Toolkit]] - Includes UI controls stencils, color swatches and fonts to help create the visual design your application.
* Use a [[Projects/Usability/HIG/TreeView| tree view]] to show items with a single, natural, hierarchical categorization.
* [[/About|About the HIG]] - Learn more about the philosophy behind the KDE HIG.
* If you really need to create your own widget follow the guidelines for [[Projects/Usability/HIG/CustomControls| custom controls]].
* [http://forum.kde.org/viewforum.php?f=285 Visual Design Group forum] - Ask for help and share your design ideas.
* Double check the guidelines about plotting [[Projects/Usability/HIG/Diagram|diagram/charts]].


== Editing and Manipulation ==
== Quick index for the new mobile-oriented HIG (work in progress) ==
=== Selection ===
=== Drawers & FAB ===
* Use [[Projects/Usability/HIG/Radio Buttons|radio buttons]] for 1 selection out of a few items.
* [[Projects/Usability/HIG/GlobalDrawer | Global Drawer]]
* 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.
* [[Projects/Usability/HIG/ContextDrawer | Context Drawer]]
* Use a [[Projects/Usability/HIG/DropDown| drop-down]] list for selection of 1 out of a small number of items.
* [[Projects/Usability/HIG/FloatingActionButton | Floating Action Button]]
* 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.
* [[Projects/Usability/HIG/QuickContentActions | Quick actions on contents]]
* 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 ===
=== Navigation ===
* Provide a [[Projects/Usability/HIG/LineEdit| line edit]] to enter one line of text.
* [[Projects/Usability/HIG/ViewsByColumns | Views-by-columns approach]]
* Provide a [[Projects/Usability/HIG/TextEdit| text edit]] to enter multiple lines of texts.
* [[Projects/Usability/HIG/ContentsFilter | Contents filter]]
* Use a [[Projects/Usability/HIG/TableView| table view]] to arrange data in rows and columns with inline editing feature.
* [[Projects/Usability/HIG/Views-by-tabs | Simpler views by tabs]]


=== Constrained input ===
=== Editing ===
* Use a [[Projects/Usability/HIG/Spin_Box|spin box]] for numerical input within a range and with fix steps.
* [[Projects/Usability/HIG/RearrangeListItems | Rearrange list's items]]
* 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 ==
=== App settings ===
=== User-driven information ===
* [[Projects/Usability/HIG/VBCtoSettings | Views-by-columns approach applied to settings]]
* Provide [[Projects/Usability/HIG/Tooltip|tool-tips]] for user driven information.


=== System triggered notification ===
=== Cross-apps interactions ===
* Provide a [[Projects/Usability/HIG/MessageWidget| message panel]] to inform users about non-critical problems.
* [[Projects/Usability/HIG/SharingContents | Sharing contents to an other app]]
* Use a [[Projects/Usability/HIG/Notifications|notification]] as system-triggered message to acknowledge about events out of the current context.
* Show a [[Projects/Usability/HIG/ProgressIndicator| progress indicator]] for lengthy actions.


=== Disruptive messages ===
=== Complete app examples ===
* Show a modal [[Projects/Usability/HIG/Messages|message dialog]] if the processing has reached an unexpected condition that needs interaction.
* App store (to be applied to Muon Mobile)
 
* E-mail client
=== Help system ===
* Media player
* Support the user by an elaborated interface or per [[Projects/Usability/HIG/HelpSystem|help system]].
 
= Presentation =
== Layout ==
* Resizing
* Default and minimal size
* Spacing
* 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.
* Icons
 
== Style ==
== Text ==
* Language localizations
* Static text
* [[Projects/Usability/HIG/Labels|Control Labels]]
** [[Projects/Usability/HIG/KNS|KNewStuff Button Labels]]
* [[Projects/Usability/HIG/Wording|Wording]]
* [[Projects/Usability/HIG/Ellipsis|Ellipsis]]
* [[Projects/Usability/HIG/Capitalization|Capitalization]]
* [[Projects/Usability/HIG/Contractions|Contractions (don't, there's, etc.)]]
* [[Projects/Usability/HIG/Exclamation_points|Exclamation Points]]
 
See also:
 
* [[Projects/Usability/HIG/Tablet/Index|HIG for Plasma Active]]
* [[Projects/Usability/HIG/Netbook/Index|HIG for Plasma Netbook]]
 
=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.
 
=Index=
 
'''B'''
 
* [[Projects/Usability/HIG/Buttons|Buttons]]
 
'''C'''
 
* [[Projects/Usability/HIG/Capitalization|Capitalization]]
* [[Projects/Usability/HIG/Contractions|Contractions (don't, there's, etc.)]]
* [[Projects/Usability/HIG/Check_Box|Check Box]]
* [[Projects/Usability/HIG/Combo_Box|Combo Box]]
 
 
'''D'''
 
* [[Projects/Usability/HIG/Date_Time_Pickers|Date and Time Pickers]]
* [[Projects/Usability/HIG/Dialogs|Dialogs]]
 
'''E'''
* [[Projects/Usability/HIG/Ellipsis|Ellipsis]]
* [[Projects/Usability/HIG/Exclamation_points|Exclamation Points]]
 
'''F'''
* [[Projects/Usability/HIG/Form_Label_Alignment|Forms: Label Alignment]]
 
'''K'''
* [[Projects/Usability/HIG/KNS|KNewStuff Button Labels]]
* [[Projects/Usability/HIG/Keyboard_Accelerators|Keyboard Accelerators]]
* [[Projects/Usability/HIG/Keyboard_Shortcuts|Keyboard Shortcuts]]
 
'''L'''
* [[Projects/Usability/HIG/Labels|Labels]]
* [[Projects/Usability/HIG/ListView|List Views]]
 
'''M'''
* [[Projects/Usability/HIG/Menu_Bar|Menu Bar]]
* [[Projects/Usability/HIG/Messages|Messages]]
 
'''R'''
* [[Projects/Usability/HIG/Radio Buttons|Radio Buttons]]
 
'''S'''
* [[Projects/Usability/HIG/Slider|Slider]]
* [[Projects/Usability/HIG/Slider_and_Spin_Box|Slider and Spin Box]]
* [[Projects/Usability/HIG/Spin_Box|Spin Box]]
 
'''T'''
* [[Projects/Usability/HIG/Tabs_Pages|Tabs and Pages in Dialogs]]
* [[Projects/Usability/HIG/Toggle_Buttons|Toggle Buttons]]
 
'''W'''
* [[Projects/Usability/HIG/Wording|Wording]]


[[Category:Usability]]
[[Category:Usability]]

Revision as of 10:27, 24 November 2015

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.

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.

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.

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.

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.

Quick index for the new mobile-oriented HIG (work in progress)

Drawers & FAB

Navigation

Editing

App settings

Cross-apps interactions

Complete app examples

  • App store (to be applied to Muon Mobile)
  • E-mail client
  • Media player