http://www.developer.com/design/article.php/1564681/The-Theory-Behind-User-Interface-Design-Part-Two.htm
In this second article, we will briefly discuss some of the more interesting aspects of graphical user interfaces. Our approach will be expositive and discursive, rather than overly technical and detailed. We will focus mainly on Graphical User Interfaces (GUIs), getting into the details of practical user interface design. As a consequence of the technology evolution, modern GUI designers implicitly rely on style guidelines and vast development toolkits for designing and building their products. The topics discussed here are often addressed directly only by such tools and guidelines, while designers are left with more specific design concerns. Nevertheless, it is important to discuss some basic notions often implicit in today's guidelines. A little terminological note. With the term GUI, we denote here any kind of user interface that makes use of graphics features. This is rather different from the academic meaning of the term. Again, our intent here is to convey general, practical advice rather than detailed, specialized information (that the interested reader can find in the vast literature available on this topics). Let's begin with the basic criteria used for organizing information on the screen. There are mainly two strategies to manage the layout of the display area: high-density strategy (for conveying a high volume of information) and its counterpart, which we call the limited information layout strategy (where the aim is to reduce the displayed data). Such strategies are complementary and should always be used together in every GUI screen, or portion of it, that we are going to design. Depending on the case, one of the two will be dominant, but it is essential to be accurate in the exact mixing of them. Both overloaded and too "cryptic" interfaces are hard to use. In Figure 1, there is an example of a design where the high-density strategy is predominant. Such a Web page has been designed mainly for the repetitive, expert users. In Figure 1, a Web page of the SETI@HOME project (http://setiathome.ssl.berkeley.edu/unix.html) shows the high-density organization approach at work. The idea behind this Web page is to show all the information of interest right now, in one shot. This could be slightly confusing for novice users, but it comes in handy for expert and repetitive users. Furthermore, depending on the situation (the current application domain, the given task, and the intended end-user population), it can be the only way to go. Figure 1—A High-density Area Organization The two approaches are briefly outlined in the following: Figure 2—Disabled Unavailable Information for a Menu The two basic layout strategies discussed in this section are at the base of any GUI. Try it by yourself to individuate the designer's intentions in the applications you normally use. As a rule of thumb, usually the high-density approach is used when the user population is assumed to be experts and repetitive users; whereas, for a wider and less specific audience, the other approach is preferable. The Microsoft Windows Explorer, for example, employs the high-density organization criteria when showing the file system structure as a tree beside the contents of the currently open folder. Undoubtedly, quality GUIs are also pleasant to see. However, there often is a wrong assumption about the meaning of the term "pleasant." Indeed, one of the recurring pitfalls in GUI design is to be stuck into an excessively elaborate visual experience, with the wrong assumption of the more, the better. GUIs should be the least astonishing possible. A successful GUI is one that is barely noticed and one that works smoothly and swiftly as expected, with users barely noticing it. This "excessively indulgent design" is a common slip even for seasoned designers. In fact, given the current pace of software releases, the most obvious—and visible—place to add new features (justifying the new release effort) is always the user interface. Nevertheless, esthetics are important, too. Much too often developers snob the visual appearance of their user interfaces, producing unusable designs. Some of them find those visual details, such as button size, overall visual balance, and the like, boring. These kind of developers are mostly implementation-driven and tend to automate the user interface (implicitly seeing it as a dull, unnecessary activity) as much as it is possible. Unfortunately, there is no substitute for human design, and self-directing windows that fully automate their contained data layout are cool to implement but produce poor quality user interfaces. Some techniques for getting user's attention are widely employed in user interfaces. They are derived from empirical studies and can be summarized as follows: Fortunately, relying on professional design guidelines avoids many gross errors. This is especially true for attention-catching methods such as flashy labels, colors, and the like. It is essential to signal the system's internal state. This important feature can be achieved by using different techniques. The most commonly used techniques are the following: A controversial notion that needs to be carefully taken into account when designing a GUI is the use of modes. Modes are particular states that affect some parts of the user interface behavior. You can think of them as contexts in which some previous user interactions change the meaning of current actions. Depending on the particular mode, the application can behave in a completely different way. Design guidelines usually discourage the use of modes, or even ban it altogether. It is critical to signal explicitly the current application mode. This is usually done by modifying the pointer shape (like when some tool is selected) or by means of toggled buttons or status bars and so on. Following classic literature in the field (see the references section in the previous article), we can identify several basic interaction styles for user interfaces. Such styles are commonly combined in real-world GUIs. For each style, we will summarise some design aspects. We will see in some detail only the most commonly used ones, the first two in the list: menu selection and form filling. Menus are used to select items (often with the purpose of invoking commands) in a systematic, centralized way. Note that here with the generic term "menu," we denote any selectable item such as links in a hypertext page, commands in a dropdown menu, buttons, and so forth. Organizing Dropdown Menus is an important issue, especially when there are many items available for selection. The criteria mostly used are: These strategies, if combined, relieve users from the time-consuming task of finding an item in a potentially large menu catalog. Also, the Start Menu in Windows XP (see Figure 3) follows the advice previously mentioned about structuring large menus for easy access. Figure 3—An Example of Hierarchical Menu: The Start Menu in Windows XP Another widely held interaction style in modern graphical user interfaces is form filling. This is a radically different approach for interacting with a GUI than menus. Its primary scope is to allow users to read and input (mainly discrete but also continuous) information into the system. Figure 4—An Example of a Form Dialog of a Java-enabled Wireless phone The general principles for the form filling interaction style are those valid for general data entry, just to mention the main ones: There are a number of general guidelines for designing data entry forms; here we will mention only the most useful ones: Creating an effective form requires some extra care. In Figure 5, there is an example of a simple (yet well-designed) form dialog. Navigation has been enhanced and the whole interaction smoothened thanks to few simple details: These little details greatly enhance the overall usability, especially for repetitive users. Figure 5—An Example of Form Dialog Box for the Mac Os-X In Figure 6, there is a classic example of a direct-manipulation interaction mechanism, the Mac System 1.0. The items in the user interface can be dragged, edited, and deleted, by performing operations on them in a consistent and "direct" way. Figure 6—A Direct Manipulation Interaction Style Example (Mac 1.0, 1984) Fortunately, nowadays direct manipulation is the default interaction style for well-designed GUIs aimed at a wide and diversified range of users. Historically, this was the first interaction style used by interactive computers. Early modern computers had very limited resources and very few could afford to be devoted to the user interface. Users were usually specialized personnel and there was not yet a mass market pushing for the adoption of more usable interfaces. Clearly, in this case the limited resources and the small market prompted for a simplified, implementation-oriented interaction style. Figure 7 is a screenshot of the user interface of a machine of the first generation of so-called "home" computers (note the amount of available free memory). The memory space occupied by the OS software in Figure 6 was of an order of scale bigger than the ROM space occupied by the OS in Figure 7. Figure 7—A Command Line Interaction Style Example (Vic20, 1983) Anyway, command-line user interfaces are far from dead. Instead, they are alive and well because they offer a powerful and flexible means of expression for expert users. Figure 8 is a snapshot from a terminal window of the Linux OS. Figure 8—A Contemporary Command Line Example (Linux , 2002)
Command-line interfaces always need some initial training and the error rates are usually high when compared with other interaction approaches. Though quite complex to implement, natural language (both via text or speech recognition) can be useful in some cases. Many examples of commercial applications are continuously appearing on the market. Some analysts predict this as the dominant interaction style for future user interfaces. Anyway, theoretical problems with natural language processing (NLP) seem still far away to be solved, and such promising interaction approach are still limited to few, circumscribed applications only. In this article, we touched some interesting points in graphical user interfaces design. We followed a practical approach trying to highlight the theory by means of common, real-world examples. In regard to the references, interested readers can refer to the list given in the previous article. Mauro Marinilli
The Theory Behind User Interface Design, Part Two
January 6, 2003
Introduction
Display Organization

Click here for a larger image.

Esthetic Considerations
Techniques for Getting the User's Attention
Providing Feedback for the System Internal State
Interaction Styles
The Menu Selection Style

Click here for a larger image.
The Form Filling Style


Direct Manipulation

Command Language


Natural Language
Conclusions
About the Author