Intelligent User Interfaces

Components of Intelligent Interfaces


About Components of Intelligent Interfaces
Intelligent interfaces possess one or more of the following components. These components are discussed, and examples are given to further illustrate the principles involved.

The User Model
The user model is one of the most important parts of an intelligent interface. Without it, the interface would not have any information on which to base the design and individuality of the interface. The user model is a compilation of information which describes the user, and which is used in determining how to present data, what type of help to give, and how the user interacts with the interface. Therefore, user models are beneficial in systems with the following characteristics: [ref]
The following list categorizes some of the uses of user models.
The user model is composed of a variety of facts about the user. Depending on the system which is being used, the model may contain any type of applicable fact, such as these:

Multimodal Communication
The use of various methods of communication with an interface is referred to as multimodal communication. Examples of multimodal include natural language entered through type or speech, computer speech, and the ability to point to a spot on the screen and refer to it ("place an aircraft carrier here [point]").

In the CUBRICON system [ref], a system used for Air Force command and control, the user is presented with a multimodal interface which allows gesturing, tactile, and visual interaction to effectively display and accept information. The particular combination of multimodal techniques in CUBRICON makes it an effective system.

There are at least two purposes behind multimodal communication: it enables the user to use the system more intuitively by using gestures, and it gives users more freedom, so they are not restricted to sitting in front of a computer as they work on a computer system.

Multimodal communication is especially important in situations where the user cannot afford to use all of his senses towards a particular task. For example, if the user has to be looking closely at something, a computer system which produces visual output would not be a good idea. Instead, the computer system might be made to speak the output instead of displaying it. As a result, the user is able to examine something without paying visual attention to the computer.

In many cases, an effective multimodal interface requires a user model. In this case, the user model helps to determine the best communication techniques to use depending on the user's task: for example, whether output should be vocal or visual, whether input should be tactile or vocal or typed.

Plan Recognition
Plan recognition is used in an intelligent interface to deduce what the user plans to do. It takes system knowledge, the user model, and the user's actions into consideration. This helps the user by providing guidance, requiring less repetition (as the case may be if the system begins to recognize a frequently entered sequence of commands), and understanding what the user wants to do. For example, a user of a fire station dispatch program might send the same emergency vehicles to certain types of fires. The system might start to pick up on this. Eventually, the system might say the equivalent of, "I notice that for 2-alarm fires that you always send Engine-1 and Rescue-5. Would you like to automate this process?" Then, when the system sees the user dispatching for a 2-alarm fire, it would offer to send Engine-1 and Rescue-5 automatically.

Plan recognition can also be used to predict the user's course of action, and may provide guidance along the way. For example, a system to aid in computer repair might automatically suggest checking particular chips if the system recognizes a correlation between other circuits which have just been analyzed by the user.

Dynamic Presentation
Different people should be able to view data in different ways which would make that data more understandable to the individual users. One way in which the system decides to display data is determined by examining the user model. This allows for the display of data which is tailored to the user. The user should not be overwhelmed by too much data, nor underinformed by too little data. The presentation of data should be done in an effective and understandable way.

For an example of intelligent data display, consider a fictional probe which could be sent deep into a jungle. There are a lot of things to look at in a jungle, creating far too much data for one person to comprehend. The probe would send back data to a computer system, which would split up the data into parts that would be understandable to individual users (in this case, scientists). An entomologist would receive data about jungle insects; a botanist would receive data about plants. Even these can be broken down further: there might be an entymologist who is specifically researching the social behavior of ants, while another might be looking into the life cycle of butterflies. While each individual scientist is receiving information about his particular discipline, keep in mind that in the jungle, everything is very intertwined. The behavior of pollinating insects might be very important to the development of a type of plant, for example. The system could allow the user to delve into another scientist's field: perhaps the entomologist could call up data on jungle botany.

Even without crossing scientific fields, information would have to be presented in an intelligent manner. With so much data coming in, it would be important to have this data being displayed in the most comprehendable format possible. Thus, the system might know to show the changing population of ants in a line graph, while showing the percentage of ants engaged in different tasks (foraging for food, defending nest, building nest, caring for young) as a pie chart. The dynamic display of data should also be sensitive to the user model; for example, if the user finds that having two different charts is confusing or not informative enough, he may prefer to have the population and task charts combined into a single chart in which these data are combined:


Alternatively, dynamic presentation may be attained by presenting data in an intelligent manner -- that is, in a way which makes the facts of the graphics obvious and clear. This type of system was explored in the SAGE project [ref]. SAGE is capable of producing intelligent data graphics. The graphics it designs are not output from a system; they are drawn from data entered into the system for the purpose of obtaining the most clear and informative graph possible. See this example of Napolean's 1812 Campaign.

Natural Language
Natural language is one of the best techniques for making a system more intuitve. Instead of trying to remember commands, the user enters what he wants to happen. Examples include, "rotate the crane arm 45 degrees," or, "what does the ls command do?" [ref]

A wide variety of programs which can use natural language, specifically those which would be cumbersome if the user was faced with a menu interface. Natural language commands allow for a high degree of freedom on the user's part. Commands do not have to be explicitly listed or categorized in a menu system, and it is easier to create commands which are composed of other commands (such as the non-natural "more filename | grep keyword", which could be stated in natural language as "show all instances of keyword in filename").

Intelligent Help
In complex systems, asking for help may bring up more information than is necessary, or information which is not specific to the user's neeeds. Intelligent help presents the user with help that the user would most likely need at a particular time, or in a particular situation. Suppose a user is using a system to aid the user in building a house. The user might be having trouble sawing through a support beam. If the system knows that the user is sawing through a beam, it should know what type of saw would be best for cutting through the beam, and make a suggestion to change saws. As another example, consider a program to help a gardener. The gardener may want help as to why his cucumbers aren't growing. The system might know that there has been little rainfall recently, and suggest that this may be the cause. These uses of intelligent help require knowledge about application functionality.

Intelligent help can also be used when the user calls up 'help' on a system. The system may recognize that the user is having trouble with a task, like printing a paper. The help system may suggest some things that the user can do: see if the printer is set up correctly, if it is plugged in, and so on.

Some plan recognition can also be used as intelligent help. In a help system for UNIX, the user might ask, "what does 'ls -v' do?" [ref]. The system could respond, "ls lists the files in your current directory," ignoring the fact that ls doesn't have a -v option. Or, the system could say, "There is no -v option for ls," which does not answer the user's question, but it does clear up the user's misconception.

Interface Adaptability
Users may desire a degree of preference in their interface. Also, the system may adapt itself to interact better with the user without the user telling it to do so. An example of this would be if a user keeps pressing the mouse button when the pointer is close to, but not on, a button, the system might expand the "hot" boundries of the button.

Adaptive interfaces can also determine what type of interface to present to the user depending on an analysis of the user model [ref]. For example, one type of user might feel more comfortable with a menu, while another user might like the flexibility of a command-line interface.

Adaptation is a step in response planning, which is the process in which the program determines what feedback and abilities should be given to the user depending on the user model, thereby producing interfaces which would be prefered by the user [ref].


Table of Contents

Back: Uses of Intelligent Interfaces

Next: Conclusion