1 Introduction
Design professional user interface, not just a good graphic artist, plus some good ideas. Unfortunately, people who create user interfaces are just to obtain the product and have not realized the main or theoretical principles behind the interface. The full schedule of the row, misunderstand (some icons "availability is the advice" view "and the scarcity of professionalism, which leads to the spread of worse products around us. This article looks a bit abstraction, but its main intent is to popularize some concepts, which are usually limited to academia and very small professional fields. Here, we will not discuss a lot of details about the UI design method, because from personal experience, I found that people are often created for impressive user interfaces, "Will be doing things", rather than Some simple concepts. In fact, these concepts will be inspired throughout the UI design.
This article is mainly for developers or graphic designers, they want (or required) to create high quality user interface (UI). The design user interface seems to be a small thing in the application development process. But in fact, it may be the most important part of the entire system, which is not only the software domain we are committed to. There are many things you need to consider here, you can apply to any person's interaction with people. This is an important point of view that is often ignored. Positive, smooth people - machine interaction is precisely an important part of a well design, because any person created products will be used by another person. This is a very complex issue that distinguishes between typical engineering challenges. In fact, people (with their own character, feelings, etc.) will participate in the entire process (from designers, developers to end users, indirect users, etc.).
This article will involve multiple theories behind the high quality user interface. The first part will propose some general concepts for any interface, not just a graphical interface. In the second part, we will discuss some detail of some graphical user interfaces. We will give examples of the world. Although these examples seem to be insignificant, this will help us focus on the discussion of real world use of excellent UI design.
2, people - machine interaction
We will start from the most basic place: How do people interact?
One of the simplest methods of modeling interactive system modeling is to describe the operation steps when using the system. We divide a typical user interaction process into 7 steps: forming targets and intentions, planning, and performing action, perceived, and interpreting system status, gramming assessment interaction results. see picture 1.
In the first step, the user forms a conceptual intent from its target (for example, the user wants to access a detailed plan from the warehouse on the Web site). Step 2, he attempts to convert the intent to the command provided by the system itself (for example, how to browse the web page or how to implement it), and perform actions according to these commands (user perceived) (for example, the user enters Some information, then click on the "Search" button next to it. The user then attempts to understand his own behavior results (for example, check the WEB page after pressing the "Search" button). This is very important for computer systems. Because the internal state of the computer is hidden, the user should know the internal state only by some hints. The entire process is constantly carried out in action - evaluation cycles. The user streamlines the system model in his own mind by explaining the results of its own behavior.
Of course, our discussion is very simplified and rapid. Obviously, people - the things behind the machine is difficult to do so simple. In any case, the goal here is to provide an overview of this important issue from another perspective, and interested readers can get a deeper understanding from the detailed literature. Some reference materials are given in this article. 3, the user is not the designer, the designer is not a user
As a human, when we interact with the world around us, we need to use the current experience with the past. Similarly, we also need a semantic model. For example, we need everything that has happened in the past. That's why we often hear people's experiences in discussing their computer. They are very familiar with documents, databases, mouse shapes and other concepts. But this does not mean that a terminal user can understand a designer's intention. A very simple thing in the design team seems to be very difficult to end users. If an internal model of an application is unclear, even developers may have no power, this thing often occurs. Since this, these tips should be as coherent as possible because end users need to use software through some manual tips. Basic ideas, visualization entries, interactions between entries, names of entry and other things, must be considered when designing. When designing a UI, the designer should put the focus on the end user. However, what you often happen is that designers are busy with reference to other winning products. This has led to the demands of developers, and it is a very mysterious thing for end users. However, when the UI is designed by the developer (usually in a small company in which the lack of funds is frequent), the situation seems to be even worse: the developer re-turned to the designer model, which will lead the developer to make his old programming habits. On a useless interface. This is because developers are hard to know how to get a good UI. However, large companies and other organizations are spreading their design principles. These principles are their professional design teams to prepare, they also apply in general software design.
4, more concept
This part, we will briefly introduce some other interesting concepts in the field of machine interactions.
l The mismatch between users and systems. This is usually referred to as a so-called acoustic metaphor.
ü Execution is a mismatch between the user intent and the allowed behavior (for example, a web site we are very familiar with pictures 3. A novice wants to access the list of his previous books, but can't be in that page access).
ü Evaluation is a difference between the user's expectations and system responses (for example, the user mixes "Gold Box" icon and the expected list icon). l Response time is an important parameter, a slow response causes an error, causing the user to use the system when using the system. This is more pronounced for a web-based application. At this time, performance is a serious bottleneck. Furthermore, the response time can affect the user in different aspects. Experience and past experience play an important role. If someone is accustomed to completing a task within a given time, the completion time is too short or too long, can cause the user to impatient. In addition, personal habits should also be considered. Short response time makes it easier to browse UIs, no matter where it is, this behavior is encouraged (by means of re-action, reducing the cost of error, etc.).
l Short-term memory (STM, Short-Term Memory) is a limited number of memories. It is the same as the buffer processing of variable data. It is generally used to process cognitive inputs. Previous studies have shown that human beings have a STM capability that can accommodate 5 to 9 entries. Such entries may be a single object, or it may be a large block information that is connected together. Non-atoms can be stored in STMs, depending on the level of familiarity, but will not last over 15 to 30 seconds. You can try it, you can easily remember 7 different random colors, but it is difficult to remember a freely combined Spanish word (assuming that you are not familiar with that language). STM is very unstable, distracted, external noise or other tasks can quickly chaos it. Imagine that you have found a new book that I have never heard of but very interesting in the Web site shown in Figure 3. Then you are forced to leave this site and turn off the session. Even if you come back within 5 minutes, you may hardly remember the exact title. STM is usually used in the sound interface: When you select a menu and action by means of a sound or button, you should answer a sound interface, you need to remember the context of the operation (you are in the menu and the location of the action chain). Another memory is the so-called long-term memory (LTM, long-term memory). It is relatively stable and has much much larger capacity, but the accesses are slower than STM. The main problem with LTM is that the difficulty is relatively difficult to recover. We use the auxiliary memory to access the LTM, just remember a personal code or password with a central processor.
STM deals with high efficiency requirements. Those operations that only need STM processing are easily and faster than those who need LTM or external cognitive operations. Since the data context needs to be maintained throughout the process, complex operations will become worse, then STM is used.
For a good design interface, STM is a valuable assistant. STM needs to concentrate, and people should maximize their ability in the appropriate environment. They should be able to freely perceive the application, confidently predict how the system works, do not worry about catastrophic operations, no sense of compression, etc. Of course, we can't intervene in the physical environment of the ultimate system, but we can consider it when designing. When a designer is designed to design the user interface, it should make the user working as STM as much as possible; in this way, their memory load is very light, and more interaction is faster, rarely occurs. A UNIX command line interface requires continuous access to LTM or other external "cognitive assistants". For a UNIX newcomer, it is difficult to remember some commands and grammar, and even perform the order of commands when certain tasks. The appearance of the graphical user interface has changed this. Now, designers have a powerful tool to design rich, easy to use user interfaces. Another way to mitigate user memory burdens is to adopt standard design. In this way, users can use knowledge obtained from additional standard interfaces.
l Control and automation is another important thing for user interface design. Provide some automation features is useful, but this will take the control from the user. If people lose full control to what they do, they will become lost and uneasy. Therefore, it is important to provide control for end users. In contrast, by strict definitions, a UI should provide a high level of service and data, and there is no significant details, like the CPU internal register or the underlying physical state of the hard disk surface. A key factor in a successful user interface is the balance of automation and user control capabilities, which should be able to display meaningful details, hide the remaining details, and can adapt adaptation according to special users. Even with the same user, if he is very familiar with the application, he may want to skip some automated features and fully control it. In a UI, it is very useful to assess the level of display to user control. This will help achieve automated hierarchies, which can clearly provide reference. For example, a macro can be defined, which can provide a wizard for most of ordinary operations. In short, a computer program generally is a naturally restricted artificial item. Since it can't take into account all possible situations, consider considering combination. Therefore, balance personal control on the basis of automation is a typical UI design trade-off. On the other hand, providing a fully automated UI interface is very risky, especially when the task is more critical (like managing a chemical plant), because many independent variables can lead to unforeseen behaviors. On the other hand, it is also very dangerous to allow too much participation control, which may modify some sensitive data or use this data in a desired manner. 5, some general principles
When designing a UI, some rules should be observed in your mind. As shown below: ü Learn your user. This may be the most important principles in the user interface design principle. However, it is sometimes difficult to make a hypothesis for your user group. The user interface of Figure 2 mainly serves computer engineers and programmers, while Figure 3 is mainly for wider range of viewers (see color and terminology).
u Minimizes the burden of the user. This means reducing memory and cognitive burdens (just as discussed above), providing more valuable feedback, memory assisted means, and other cognitive support. A session is also important to be interrupted for a few minutes without loss of loss. This should also be noted when you design a web site. In particular, the page has end dates, and the information is not encoded in the URL, which makes it impossible later.
u Keep consistency. In a UI, some consistency should be maintained: labels, terms, graphics practices, components, typography, etc. Many guidelines, principles and even software design system methods improve consistency. For example, take a closer look at the interface of Figure 1, you will find inconsistencies on some languages (an incomplete site positioning, mixed with Italian and English).
ü Ensure high flexibility, error repair capabilities and customization. The flexibility is the point when you deal with people. Oh, people will make mistakes L. It should be able to provide a way to allow users to browse UIs and can reverse, so that users are freed from anxiety caused by unrecoverable mistakes. Furthermore, the user should be able to customize the interface. For some people (for example, those disabled), this may be the only suitable way using the application. Adhere to flexibility when providing different types of users with different types of usage mechanisms. Novices may use a wizard or other simplified method to complete an easy interaction, while advanced users use shortcuts. In general, providing two distinctive interactions is a common method. First, for experienced users, one is to provide a simplified function set for unreportable users.
ü Follow the standard. There are many standards and specifications in interaction, abbreviation, and terminology, and standards for cross applications and efficient implementation. They ensure the quality of specialization when the design is reduced. ü clearly manifests the internal state of the system. Above we have discussed this important principle. For example, the warning message is provided when the critical data is directly operating, which is the same as experienced users. The approach of the Amazon Web site below: When there is currently no user logs in, prompt "Hello, Sign In Toy Get Personalized Recommendations."
6 Conclusion
In this article, we briefly discuss some things and basic concepts related to the theory behind the user interface. We see that the UI design can be organized around some basic standards, such as eliminating possible distracions in the UI, providing user feedback information, avoiding errors or enablers can easily handle errors, or restore them (provide an exploration Interactive mode), etc..
We see that in the user interface design, the underlying concept model plays an important role. In general, people will be expressed by means of concepts, meaning deep entities. This means is provided through their current and past experience. Therefore, for the same application, there will be different thinking patterns, such as designed a person (UI designer), realizing it (developer) and people using it (end users). The designer should be very clear about how to express the creation and the application of the user interface according to different thinking.
These and other principles we mentioned are the basis for user satisfaction, low error frequency and effective task performance. They are supported by the UI design specification and standards.
7, reference materials
This section lists some resources in HCI, availability, and user interface design. There are too many books and materials in this regard, I only chose some of them to make a brief, which is purely my personal point of view.
Mullet, Kevin; and Sano Darrel 1995. Designing Visual Interfaces Communication Oriented Techniques Englewood Cliffs, New Jersey:.... Prentice Hall Agile book on visual design, focused on the visual and functional design aspects.
Nielsen, Jakob. 1993. USAbility Engineering. San Diego: California Academic Press. A (date) Wide Collection of USAbility Papers. Still A Reference Book As Regards USAbility.
. Norman, Donald A. 1993. Things That Makes Us Smart Defending Human Attributes in the Age of the Machine Cambridge, Massachusetts:.. Perseus Books Not as illuminating as "The Design of Everyday Things", but definitely worth reading.
Norman, Donald A. 1990. The Design of Everyday Things. New York: DoubleDay. A Classic, Interesting Even for non-specialists.
Shneiderman, Ben 1998. Designing the User Interface, Third Ed Reading, Massachusetts:.... Addison Wesley If you need one (introductory or not) book on user interface design, go for this one.Preece, Jenny 1994. Human Computer Interaction , Massachusetts: Addison Wesley. Compendium on the field, from an academic viewpoint (a bit dated anyway).
Tufte, Edward R. 1990. Envisioning Information. Cheshire, Connecticut: Graphic Press. AS INTERESTING AS THE OTHERS in The Classic Three-Book Series from Prof. Tufte on The Visual Representation of Information.
Tufte, Edward R. 1997. Visual Explanations. Cheshire, Connecticut: Graphic Press. Maybe the Less Compelling of the Three, But Worth Studying (Rather Than Merely "Reading).
Tufte, Edward R. 2001. The Visual Display of Quantitative Information. Second Ed. Cheshire, Connecticut: Graphic Press. The first and the best of the three books by tufte. An unmatched "Visual" Classic.
Various authors. 2001. Java Look and Feel Design Guidelines, Second Ed. Reading, Massachusetts: AddIn Wesley. Look and Feel Guidelines for the Java Platform. A Well-Crafted Example of Such Kind of Documents.
General Advice ON USAbility and GUI Design on the Web:
http://www.usabilityfirst.com General advice on usability and GUI design http://www.gui-designers.co.uk Practical examples on GUI design http://www.tworivers.com General and practical discussion on GUI design http://www.asktog.com Tognazzini's Web site http://www.acm.org/sigchi/ CHI Conference proceedings abstracts and other academic research material http://www.useit.com Nielsen's Web site with some useful articles http : //www.iarchitect.com Home of the "Interface Hall of Sha" and other useful material http://www.acm.org/~perlman/readings.html suggested readings on hci and ui development http: // msdn. microsoft.com/ui Microsoft MSDN User Interface Resources http://developer.apple.com/techpubs/macosx/Essentials/ AquaHIGuidelines / AHGIntro / Introductio__Guidelines.html Mac OS-X Design Guidelines Please note that this long URL had to break to fit On the page. You will help Paste It, in Sections, Into Your Web Browser. http://www-3.ibm.com/easy/ IBM's Ease of Use Web Site HTTP: //www.ibm.com//ibm/hci/ IBM's Human Computer Interaction Web Site http://world.std.com/~uiweb/practical advice on gui design http://www.pegasus3d.com/apple_screens.html The Evolution of The Macintosh Interface 8. About the author Mauro Marinilli Currently completed his second book, it is about the professional Java graphical user interface. He professor CS course in the University of Rome 3, Italy. At the same time, consultants and academic researchers based on use case reasoning, human-machine interaction and E-learning applications. You can contact him by email: Contact@marinilli.com