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 system seeks to adapt its behavior to users
- The system assumes or shares responsibility for ensuring the success of user-system communication
- The class of potential users, or potential uses of the system, is diverse
The following list categorizes some of the uses of user models.
- Getting input from the user
- Deciding what to say
- Deciding how to ask
- Interpeting responses
- Resolving ambiguity
- Interpreting referring expressions
- Providing help and advice
- Evaluating relevance
- Knowing when to volunteer information
- Handling misconceptions
- Recognizing misconceptions
- Correcting misconceptions
- Understanding the user's information-seeking behavior
- Recognizing user goals
- Recognizing user plans
- Providing output to the user
- Deciding what to say
- Providing prerequisite information
- Modeling relevance
- Deciding how to say it
- Constructing referring expressions
- Lexical choice
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:
- Stereotype: what job the user holds
- Expertise
- Preferences
- Fatigue and stress
- Age
- Education
- Familiarity with computers
- Medical conditions
- Availablility of person's attention (can the user actually look at the screen, for
example, or should the system speak output instead of displaying it?)
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