Current Issue
The application of model matching principle in user interface design - Part 1 - 2 January 2008
by Liang Zhang
Read this article in Chinese (English editor: Anthony Sonego)
1. Introduction: a dustbin that is difficult to use
The following picture shows a dustbin on a street in Beijing.
Figure 1: A dustbin that is difficult to use
It is clear that the dustbin consists of two containers: one in blue and one in yellow. The labels on the dustbin indicate that the blue one is used for materials that can be recycled, while the yellow one is for materials that can not be recycled. The problem is, however, how will people know what are the materials that can be recycled? If you ask the people around you, you will find that even some PhDs can’t answer it correctly.
2. Conceptual Model, Implementation Model and System Model
In order to see why the above dustbin’s design fails, let’s first look at three models and their relationships: conceptual model, implementation model and system model.
These three models are initially discussed by Donald A. Norman in his famous book The Design of Everyday Things. The conceptual model refers to people’s knowledge about a product and its behavior before using it. It can come from their past experience when using similar products, or their expectations of the product when using it for a specific purpose. The implementation model is about the internal structure and the working principle of a product. It is well understood by the product designer. The system model refers to people’s acquired knowledge about how to use a product after seeing or using it.
It can be seen from the above definition that elements in the conceptual model belong to the problem domain or task domain, while the implementation model is within technical solution domain. The conceptual model, as it belongs to the problem domain, is very hard to be altered by product designers. On the other hand, due to technology limitations, the implementation model will not vary greatly within a relatively short period of time. Only the system model has the greatest flexibility and can be easily manipulated by designers. Its position is always somewhere between the implementation model and the conceptual model. The closer it gets to the conceptual model, the less people need to learn how to use it. In another word, the product will be very easy to use because it is very close to the user’s expectation. On the contrary, if the system model is closer to the implementation model, users have to transform their familiar concepts in the problem domain into those technical jargons displayed on the product UI. From a psychological point of view, this transformation is an additional cognitive task that causes people feel the product difficult to use.
Now look at the dustbin example mentioned at the beginning. To correctly using it, a very important part of the conceptual model is about how people classify the garbage that they are going to throw. Most people only know if they are food, furniture, appliance or any other types of things. In the implementation model, however, the most important concept is about whether a material can be recycled or not. This is because the garbage needs to be processed in different ways, depending on whether it can be recycled or not. The system model, which is the dustbin labeled with “recycling” and “unrecycling”, is nearly the same as the implementation model, thus greatly deviating from people’s conceptual model. In order to use the dustbin correctly, people need to know whether the garbage can be recycled or not. However, the truth is that most people don't have this knowledge. So the result is that they will very likely throw their garbage into the wrong dustbin.
3. The matching between system model and conceptual model in software products
Unable to match between the system model and the conceptual model is a major cause of usability problems that exist in all kinds of products, particularly software. In the early days after computer was invented and used, interface design tried to have people accommodate to the computer or machinery, completely ignoring the psychological characteristics and needs of human beings. Fortunately, with the wide application of computers and an ever increasing number of people using them, the “human centered” design philosophy has been recognized by more and more companies and designers, the purpose of which is about how to design a computer user interface so as to make it suit the needs of human beings.
Now let’s examine this model matching problem in some software products.
3.1 The file system in personal computer
Whenever you finish writing a document (such as Word or Excel) and want to save it, most software will pop up a file-saving dialog box to ask you about the file name and a directory location where you are going to save the file. If you are not familiar with the file system of your computer, you will have no idea about where to save the file. Even if you designate a location for it, chances are that you will not be able to remember it one month later. For most computer operating systems, a tree-like file system structure is a concept in the implementation model. This is because all softwares need an exact location to perform the action of saving file. However, for most non-professional computer users, they tend to view the computer storage system as a single space where something can be stored. As long as the computer can store the file and that file can be found the next time, that is enough and they will be happy. According to this “simple” expectation, software should only ask the user to give a name to the file to be saved. It should be the software’s responsibility to take care of where the file is going to be saved in the file system, it. For example, it can save the file in a sub-directory of the software’s installation directory, or if the drive containing the installation directory doesn’t have enough space, it should find a drive which has enough free space, create a sub-directory in it and save the file in that newly created directory.
Figure 2: the file-saving dialog box in Windows
In comparison, for the same functionality of saving file, the “notepad” software in S60 based mobile phones has a better design. When you select the “Save” menu after you finish writing a document, everything is done. There is no dialog box for the user to specify a location. Further more, you don’t even need to set a file name. When you run the software next time, all the documents you have saved before will be listed. Each of them is displayed in one line, with the first few words visible. So, you will have no difficulty knowing which document to open.
3.2 The system registry of Windows operating system
In Windows, many aspects of system appearances and behaviors are controlled by the settings in the system registry. If you are familiar with Windows and know how to modify the settings in system registry, you can have more control over the operating system and customize the environment to cater for your own special needs.
For example, in order to change the blinking speed of the caret, you can start the registry editor (the command is “regedit”). Under the registry key “HKEY_CURRENT_USER\Control Panel\Desktop”, there is a string item named “CursorBlinkRate”. The value of this item determines the blinking speed of the caret.
In this example, the system registry is the implementation model and the appearance or the behavior that the user wants to change is the conceptual model. The system model is the Windows operating system. Most non professional computer users will not know the method of using “regedit” to edit system registry. Here, the system model is virtually the same as the implementation model and this design makes the product very difficult to use.
On the contrary, other softwares, such as “Tweak UI” and “Power Toy”, provide a better interface to translate operations understood by the user to appropriate modifications to the system registry. They present a system model which is very close to the user’s conceptual model, thus very easy to use.
3.3 Output information displayed on UI
By its nature, all UI consists of two parts: input and output. When designing output information, the matching between system model and conceptual model actually results in another commonly used UI design principle: “use users’ language”. To be more specific, when displaying information to users, such as prompt messages or error messages, the words or terms used should be understandable to users.
Here is an example of a bad error message design. The backend system of some websites is based on J2EE. If any Java program exceptions are not caught when the user performs a task, the system will dump the Java exception stack information in the user’s browser window. This kind of information might be useful for the engineers who are responsible for the maintaining of the system, but it doesn’t make any sense for its users.
Mr. ZHANG Liang is a senior software engineer at Sybase R&D center in BeiJing. He got his master's degree in Artificial Intelligence and Pattern Recognition in the National Laboratory of Pattern Recognition, Chinese Academy of Sciences.
Comments made
Possible Related Articles:




Latest Comments