Projects/Usability/HIG: Difference between revisions

    From KDE TechBase
    (HIG moved to community)
     
    (83 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 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.
    * [[Projects/Usability/HIG/Toggle_Buttons|Toggle Buttons]]
    * Links
    * Support keyboard access by [[Projects/Usability/HIG/Keyboard_Accelerators|accelerators]] and [[Projects/Usability/HIG/Keyboard_Shortcuts|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.