Projects/Usability/HIG: Difference between revisions
(→Style) |
m (→Style) |
||
Line 104: | Line 104: | ||
** [[Projects/Usability/HIG/Style/Icons|Icon]] use should be consistent throughout the interface. | ** [[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. | * [[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| | * 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]. | * Ask for help and share your visual design ideas on the [http://forum.kde.org/viewforum.php?f=285| KDE Visual Design Group forum]. | ||
Revision as of 21:10, 21 March 2014
Introduction
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.
Learn more about the philosophy behind the KDE HIG
Structure
Conceptual Model
- Have a clear vision what your application will achieve and what not.
- Meet the needs of KDE's personas in your application.
- Define a scenario where persona(s) interact with your application.
- Specify requirements considering destinata and animata of users.
Task Flow
- Users should be able to complete tasks in natural work flow.
Organizational Model
- Information architecture, Interface management, Window style, Basic arrangement, Screen design, Design Pattern
- Central configuration
- Notification mechanism
- Minimize to tray
- Processing of passwords
- Implement a search as common pattern.
Behaviour
Access functions
- Apply a menu bar to every standard application.
- Try to omit the status bar from your application.
- Provide a context menu for controls with implicit functions.
- Provide a toolbar for frequently used functions.
- Use a push button to initiate an action when the user clicks it.
- Use a toogle button to indicate a state, preferably in toolbars only.
- Use a command link to navigate between pages.
- Support keyboard access by accelerators and shortcuts.
- Follow the guidelines for dialogs for secondary windows.
Grouping
- Arrange associated controls by using a labeled group box or an unlabeled frame.
- Allow users to resize aligned groups by placing a splitter between the groups.
- Use tabs to show related information on separate pages.
- Provide an accordion (aka tool box) for different views to content.
Complex views
- Use a list view to show some items out of one category.
- Use a tree view to show items with a single, natural, hierarchical categorization.
- If you really need to create your own widget follow the guidelines for custom controls.
- Double check the guidelines about plotting diagram/charts.
Editing and Manipulation
Selection
- Use radio buttons for selection of 1 out of a few items.
- Use one or more check boxes for clear options or to select items out of a small number of options.
- Use a drop-down list for selection of 1 out of a small number of items.
- Use a combo box to select 1 out of a small number of items where users should be able to add items.
- Use a list view to select 1 singular item out of a potentially big list.
- Apply the dual list pattern for several selections out of a large number of (multiple) items.
Unconstrained input
- Provide a line edit to enter one line of text.
- Provide a text edit to enter multiple lines of texts.
- Use a table view to arrange data in rows and columns with inline editing feature.
Constrained input
- Use a spin box for numerical input within a range and with fix steps.
- Use a slider for arbitrary changes within a defined range.
- Apply the slider and spin box pattern for numeric input with both large changes and precise control.
- Use date and time pickers for formatted input of datum, time of day, or periods etc.
User Assistance
User-driven information
- Provide tool-tips for user driven information.
System triggered notification
- Provide a message panel to inform users about non-critical problems.
- Use a notification as system-triggered message to inform about events out of the current context.
- Show a progress indicator for lengthy actions.
Disruptive messages
- Show a modal message dialog if the processing has reached an unexpected condition that needs interaction.
Help system
- Support the user by an elaborated interface or per help system.
Presentation
Layout
- Place controls carefully with proper size and space between.
- Carefully place control according the KDE alignment style.
- Do not use color as primary method of communication.
- Choose icons from the Oxygen icon set and follow guidelines on icon design.
Style
- Know the design vision and principles that inform the visual design.
- 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 color set.
- Ensure backgrounds and edges honor the design vision.
- Use size and spacing to create breathing room.
- Follow the alignment guidelines.
- Treat typography with the same care as any other aspect of the visual design.
- Icon use should be consistent throughout the interface.
- 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 mock-up toolkit to help with designing your application.
- Ask for help and share your visual design ideas on the KDE Visual Design Group forum.
Text
- Keep wording consistent and easy to understand.
- Take care about localization of your project.
- Do not apply capitalization except for titles and in case of sentence style.
- Apply standard control labels in your app.
- Use 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 about page.
Our Human Interface Guidelines are a work in progress and we need your help. Visit the Contributing page to report problems or get involved.
See also
- KDE HIG for Plasma Active
- KDE HIG for Plasma Netbook
- Guidelines for Designing User Interface Software (Smith & Mosier, 1986)
- Microsoft Windows User Experience Interaction Guidelines
- Mac OS X Human Interface Guidelines
- GNOME Human Interface Guidelines (v2.2.3)
- elementary OS HIG
- Android User Interface Guidelines