each possible user (see Interface Adaptation) or ii) of-
fer easy access to the whole functionality. The latter
strategy mostly forces the user to find needed func-
tionality using trial and error. This can decrease user-
satisfaction, especially if the number of provided op-
tions gets too large. The traditional method to cope
with this problem is to fall back on classical sup-
port mechanisms like manuals or training courses.
The most significant drawback of all these mecha-
nisms is that they only provide offline help, i.e., the
user is forced to interrupt his work to use them. Al-
though rational behavior would be to read the man-
ual up front as this saves time in total, there are psy-
chological factors preventing users from doing this
(Carroll and Rosson, 1987). Microsoft’s Office As-
sistant presents a more advanced support mechanism
(Horvitz, E. et al., 1998), as it provides online help ac-
cording to the user’s current task. However, the Office
Assistant does not adapt to the user’s needs and pref-
erences. Our research prototype proactively displays
online support information adapted to the user’s needs
and preferences in an unobtrusive manner as shown in
figure 1.
Interface Adaptation: As stated before, the other
way of overcoming the problem of providing the user
with easy access to the required functionality is to
adapt the provided content and options to the user. A
novice user should only be confronted with a basic set
of operations to reduce his cognitive load, whereas an
expert also needs quick access to more advanced op-
erations depending on his needs. These conflicting
demands make it difficult to design a generic inter-
face that fits the needs of all users and thus stress the
need for a user-adaptive interface.
Content Prediction and Task Automation:
A PUI also helps the user performing his task by
suggesting how to fill fields and by automating
repetitive tasks. Therefore, we need a way to predict
the content for input fields based on knowledge
inferred from context information or from previous
user interactions. This content prediction mechanism
recognizes repetitive workflows and enables its
automation by providing a generalization of these
workflows.
An important issue for PUIs is that the user should
never feel losing control of the system nor should the
PUI hamper the normal usage of the application. For
these reasons, we use different levels of proactive be-
havior that can be determined by the user. For ex-
ample, the user can specify to what degree the PUI
acts autonomously (just provide suggestions or per-
form actions autonomously on behalf of the user) or
how much support he wants.
The PUI consists of three key components: the
Process Guidance that assists the user in performing
a task (e.g., by providing him with step-by-step in-
structions, by adapting the interface to his needs, by
using context and previous behavior to make sugges-
tions, or by automating repetitive tasks), the Gener-
ation of Justifications that helps the user understand
the system’s suggestions and thus induces trust in it
and the Generation of Explanations that explains
terms used within an application or why certain ac-
tions are necessary.
All these components need additional knowledge
about the web application to be able to provide as-
sistance that is not only based on observed behavior.
This knowledge is stored in task models. Ideally, this
task model is provided with the web application, oth-
erwise the PUI builds up the task model for the ap-
plication itself, and allows the user to augment it with
additional information.
PUIs can be built into web applications from
scratch or can be used as an overlay to existing web
applications. The advantage of an overlay architec-
ture is that it relieves programmers of web applica-
tions from integrating these features into every single
application. Additionally, it easily allows enhancing
legacy web applications and sharing knowledge be-
tween applications.
The remainder of this paper is organized as fol-
lows, in section 2 we give an overview of other in-
telligent user interfaces and how they gain knowledge
for providing support. In section 3.1, we list require-
ments for a task modeling language for PUIs. We dis-
cuss advantages and drawbacks of existing task mod-
eling languages. Next, we present our task modeling
language resulting from this discussion that is most
suitable for developing proactive web applications. In
section 5, we show the applicability of our task mod-
eling language for building PUIs by applying it to a
web application. We conclude with a summary and
directions for future work.
2 RELATED WORK
There exist two main approaches to intelligent user
interfaces: Learning interface agents (LIAs) that have
no prior knowledge of the task, and agents that are
based on a prebuilt model of the task. Maes, one of
the most prominent advocates for LIAs, investigates
agents that learn by observing a user working with an
application in (Maes, 1994). She states that agents
which result from such a learning process are better
accepted than pre-programmed expert systems, be-
cause they are personalized to the user. The agents’
TASK MODELS FOR PROACTIVE WEB APPLICATIONS
151