|
Basics 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 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. Above, we have used the rather technical term instance. An instance of something is much like an example of something. To clarify:
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.
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. |