Difference between revisions of "Projects/Usability/HIG"

Jump to: navigation, search
(Access functions)
(HIG moved to community)
 
(86 intermediate revisions by 7 users not shown)
Line 1: Line 1:
= Introduction =
+
{{ Moved To Community | KDE_Visual_Design_Group/HIG }}
 
+
Human interface guidelines (HIG) are software development documents that offer
+
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]]
+
 
+
= Structure =
+
<div style="display: none;">
+
== 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 =
+
== Viewing and Navigation ==
+
=== General navigation ===
+
* [[Projects/Usability/HIG/Dialogs|Dialogs]]
+
* Accordion
+
* [[Projects/Usability/HIG/Tabs_Pages|Tabs and Pages in Dialogs]]
+
* Toolbar
+
* Status bar
+
* Paging
+
=== Access functions ===
+
* Apply a [[Projects/Usability/HIG/Menu_Bar|menu bar]] to every standard application.
+
* Provide [[Projects/Usability/HIG/DropDownMenu|drop down menus]] for controls with implicit functions.
+
* [[Projects/Usability/HIG/Buttons|Buttons]]
+
** [[Projects/Usability/HIG/Toggle_Buttons|Toggle Buttons]]
+
* Links
+
* Keyboard Access
+
** [[Projects/Usability/HIG/Keyboard_Accelerators|Keyboard Accelerators]]
+
** [[Projects/Usability/HIG/Keyboard_Shortcuts|Keyboard Shortcuts]]
+
 
+
=== Grouping ===
+
* Use a [[Projects/Usability/HIG/GroupBox| group box]] to arrange associated controls.
+
* Use a [[Projects/Usability/HIG/Panel| panel]] for arrangement of controls without a caption.
+
* Allow users to resize aligned groups by placing a [[Projects/Usability/HIG/Splitter| splitter]] between the groups.
+
 
+
=== 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.
+
* Grids
+
* If you really need to create your own widget follow the guidelines for  [[Projects/Usability/HIG/CustomControls| custom controls]].
+
 
+
== Editing and Manipulation ==
+
=== Selection ===
+
* Use [[Projects/Usability/HIG/Radio Buttons|radio buttons]] for 1 selection 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.
+
* Consider to provide inline editing with complex views.
+
<div style="display: none;">http://techbase.kde.org/Projects/Usability/HIG/inline_editing</div>
+
=== 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 acknowledge 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 ==
+
* 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]]
+

Latest revision as of 11:26, 4 August 2016

This page is now on the community wiki.


This page was last modified on 4 August 2016, at 11:26. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2 unless otherwise noted.