EDE HIG (Human Interface Guidelines)

(draft version)

Introduction

This document describes interface guidelines for EDE applications. With it, all applications should look familiar, have same (or similar behaviour) and look consistent with EDE environment.

The main intention of this document is to guide EDE developers and contributors to keep consistent behaviour, look and feel in their applications. Here is assumed that you have basic knowledge of FLUID (FLTK interface designer) since it is used as showcase.

Basic principles

  • Keep it simple
  • Keep it organized
  • Consistency, consistency, consistency
  • The user should always know what is happening
  • Put the User in Control

Windows

All windows should have common elemnets, like:

  • Titles
  • Borders and window commands
  • Modality
  • Focus

Titles

Every window should have a short and descriptive title (except alerts and menus). A good window title contains information that is relevant to the user, and distinguishes a particular window from other open windows. Informations like version number or vendor name should not be a part of titles; they do not assist in selection.

TODO: include picture of window titlebar

Borders and window commands

Most windows have (and should have) borders, excluding shaped windows. Window should not be drawn without borders or configured for special kind of ones, like different color, thickeness or else. Instead, you should use hints for window manager.

Window commands gives to user a hint what he can do with given window. They are:

  • Close - closes a window
  • Maximize - causes the window to use all unused screen space
  • Minimize - causes the window to be temporarily hidden

Window manager can draw optional commands that are often not controlled by application, like:

  • Roll-up - shows only window titlebar
  • Roll-down - display window in reuglar state

Modality

A modal window is a window which requires the user to interact with it before they can return to operating the parent application or open windows. Opposite, a non-modal window does not restrict the user's interaction with other open windows on the desktop in any way.

We distinguish two modal types:

  • Application modality - window, while it is open, prevents the user from interacting with other windows in the same application
  • System modality - window, while it is open, prevents the user from interacting with any other window in any application, including the desktop itself

Application modal windows should be used in cases when main application (parent) needs to temporary disable interaction.

System modal windows should not be used.

Focus

Focus allows user to choose what window need to accept keyboard or mouse input (or other input device). The focused window is considered the window the user is currently "working with".

Excluding other input devices, we know about these focus types:

  • Keyboard focus - a window is focused by keyboard, e.g. Alt+Tab
  • Click-to-focus - a window is focused by clicking in it
  • Sloppy focus - a window is focused by moving mouse pointer in it

Application should not throw accepted focus by any means, unless it is meant to be always in the background without interaction ability.

Window types

Windows can be:

  • Main windows (or primary windows or document windows)
  • Utility windows
  • Message or alert windows
  • Dialogs
  • Wizards or assistants
Main windows

Everyday applications we use are given in main windows, like web browser, image or text editor etc.

TODO: include sample picture

Common elements for these windos are title, menubar, statusbar and one or more toolbars. Window commands they have are Close, Maximize, Minimize and (optionaly) Roll-up Roll-down.