KDE Logo
Guidelines
Basics
GUI Usage
Terminology
Windows
Labels
Settings
Systray
Example
Bad interface
Menus
Toolbar
Statusbar
Content Area
Dialogs
Keys
Mouse
Drag and Drop

printable version (ps)/(pdf)
Links
Icon Style Guide
KDE User InterfaceStandards

Basics
Terminology

A User Interface should be designed from the point of view of the user. Sometimes, however, the views of the developer are quite different from the views of the user. The story of Quit serves as an educational example.

To make sure that no misunderstanding occurs, The Definition of Terms defines a few of the most important terms when it comes to User Interface design.

The story of Quit

The term application often causes confusion. To the user, each entry in the taskbar is an instance of a running application. To a programmer, however, each UNIX process is an instance of a running application.

Because users are not usually interested in implementation details (unless your application crashes very often...), the number of UNIX processes the programmer needs to give the application is irrelevant to them. The User Interface should express itself in terms of the application as perceived by the user - not in terms of a UNIX process.

It is very bad then, from a User Interface point of view, to have a "Quit" option that terminates all applications (all application-like windows) handled by the UNIX process. Instead, the "Quit" option should just terminate the single application (window) in which the user selected the option. Other applications should remain unaffected, whether they share the same UNIX process or not.

A quick overview of how to use quit and close in your application can be found here.

Definition of Terms

Above, we have used the rather technical term instance. An instance of something is much like an example of something. To clarify:

Example

Suppose you own two cars of the same brand and type. These cars are both the same and different: They are the same in that they are of the same brand and type; but they are different in that one can be in Rome while the other is in Paris. When you refer to "a car", it is not always clear whether you are referring to the brand and type or to a single very specific car. But when you refer to an instance of a car, you are always referring to a single, specific car.

The following terms are important for a good understanding of how the User Interface is perceived by the user. Each term is described based on properties known to most users.

  • UNIX-process.
    • A UNIX process takes up resources
    • UNIX-processes show up in "ps", "top" or similar programs.
    • A UNIX process can crash.
  • Application
    • Each window that has a menubar and/or toolbar is perceived by the user as a single instance of a running application.
    • Each instance of a running application shows up in the task bar.
    • Applications are represented by Icons. Clicking on such an icon starts a new instance of the application. If it does not make sense to have more instances of the same application around, it activates the already running instance.
      Note: This is unrelated to the number of UNIX processes required. All instances of the application could be served by a single UNIX process.
  • Document
    • A document contains information
    • A document has a storage location associated with it, often in the form of a filename or URL.
    • It can be opened in an application.
    • Only open documents can be modified.
    • Changes can often be saved.
    • An open document can be closed.
    • Documents are represented by Icons. Clicking on such an icon opens the document in an appropriate application.
  • Window
    • A window is part of an application and is used to present documents, information, and/or tools to the user.

There are a number of ways in which the above terms can be related. The simplest is when one UNIX process is responsible for one application which consists of a single window that presents a single document.

How many applications should be hosted by a single UNIX process and how many UNIX processes are needed by a single application are implementation issues. They should be addressed by the developer based on technical issues. As such, they are beyond the scope of this style guide.

The relationships between application, document(s), and window(s) are discussed in the next section of this style guide.

Previous Previous Next Next