Intelligent User Interfaces
What are Intelligent Interfaces?
Introduction
Many computer programs exist to help the operator perform a task. These programs,
of course, require an interface, a means for the user to interact with the
program. The interface with which the operator interacts with the program
should be as invisible and intuitive as possible -- working with and understanding
the interface should not be a task. The operator should be able to concentrate
on the task which he is to perform. Intelligent interfaces attempt to make
the interface as intuitive and helpful as possible.
What is an intelligent interface? To answer this question, we must first know
what an interface is, what intelligence is, and about what the interface can
be intelligent. Once we know the answers to these questions, we can
formulate a definition for the term "intelligent interface".
What is an interface?
An interface provides a means of communication between two or more entities.
For example, the interface between a driver and a car would be the steering
wheel, the speedometer, the gas gauge, and other controls and meters on the
dashboard. This interface allows the driver to translate his desires into
something that the car can understand. The driver gives input: touching the
gas pedal, hitting the brakes, or turning the steering wheel. The car responds
with output: the current speed, the amount of gas left in the vehicle, or a
change in direction. The driver uses the car's output, plus his own motivation,
to decide what input to send into the car.
Similar interfaces exist between a user and a program. Specifically, a human-
computer interface is the part of a computer system with which a person interects
to accomplish some task. It includes both the methods for
allowing the user to perform actions, as well as the means by which the
computer reports information to the user [ref]. Terveen breaks interfaces
into two types: an intermediary interface, in which the user enters
information to the interface, which passes that information to the application
(like the DOS and UNIX interfaces); and a model world interface, which
presents the user with a visual representation of the system, which the user
can manipulate directly. This type of interface is used in Windows and similar
systems.
What is intelligence?
Intelligence is not an easy term to define. What makes a system intelligent?
In intelligent interfaces, the intelligence might be in predicting what the
user wants to do, and presenting information with this prediction in mind.
Intelligent interfaces can also make doing
a task more intuitive and helpful. Instead of trudging
along a task in the mire of an inefficient and clumsy interface, the user might
find a helpful and information-using interface to be more "intelligent." Thus,
intelligence does not actually mean cognition in this context; instead, it means
using information in an appropriate manner.
Intelligence in interfacing is a subjective term. One person may look at a system
with context-sensitive help and say that the system seems smart; another person
might look at the same system and see nothing special about it. In a sense,
intelligence in interfaces might be defined as "the next best thing" -- once
we have a system which one would say is intelligent, the novelty of the system
wears off, and people are in search for more intelligent interfaces. Intelligence
is that goal which is always one step ahead of us; once we conquer it, it is
no longer intelligence.
What can an interface be intelligent about?
We have established what an interface is, and what intelligence is, but what can an
interface be intelligent about?
The interface can be intelligent about a variety of things. One of these is
system functionality. The interface might have some knowledge of how
to get around the system, or tasks a user would want to do. With this information,
the system can present its interface in an intelligent manner, making navigation
and operation more intuitive to the user.
Interfaces can be intelligent about the user. Through the use of a
user model, the system can tailor communication (both input and output)
to the user. Examples of tailored communications include methods of communicating
(voice? visual? tactile?) and way of presenting data (bar graph? pie chart?
line graph?).
The interface can also be sensitive to the wants and needs of the user.
This ties closely with the user model, but it deals more with interface
adaptability than outright use of models. One scenario where interfaces
might be able to detect the needs of the user would be in the case of a
system detecting that the user needs help doing a particular
task; the system might volunteer this help. Or, a system may notice that a
user is having trouble with the interface; perhaps the system can alter its
interface a bit to compensate (for example, maybe the user keeps selecting
the wrong button; maybe an alteration to compensate would be to describe the
button in more detail, or give more hints as to the correct button to press).
This idea can also be brought to a physical level: maybe the system detects
that the user keeps missing the selectable zones on a button; the system
might compensate by expanding the "hot region" around this button. This would
be especially helpful in a system which might be used by someone with poor
eyesight or motor control.
The difference between intelligent interfaces and intelligent systems with an interface
There is a distinction between programs with intelligent interfaces, and programs
which are intelligent and have interfaces. A program which has an intelligent
interface uses intelligent techniques in working with the user. It might use
user models, or it might be knowledgable about system functionality, or it
might compensate or help its user. An intelligent
program may produce information which is intelligent, but the interface itself
might not contain any intelligence.
Table of Contents
Next: Uses of Intelligent Interfaces