In Human-Computer Interaction Journal 16.
A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications
Anind K. Dey, Gregory D. Abowd, Daniel Salber
Abstract
Computing devices and applications are now used beyond the desktop, in diverse
environments, and this trend toward ubiquitous computing is accelerating. One challenge that
remains in this emerging research field is the ability to enhance the behavior of any application
by informing it of the context of its use. By context, we refer to any information that
characterizes a situation related to the interaction between humans, applications and the
surrounding environment. Context-aware applications promise richer and easier interaction, but
the current state of research in this field is still far removed from that vision. This is due to three
main problems: (1) the notion of context is still ill defined; (2) there is a lack of conceptual
models and methods to help drive the design of context-aware applications; and (3) no tools are
available to jump-start the development of context-aware applications. In this paper, we address
these three problems in turn. We first define context, identify categories of contextual
information, and characterize context-aware application behavior. Though the full impact of
context-aware computing requires understanding very subtle and high-level notions of context,
we are focusing our efforts on the pieces of context that can be inferred automatically from
sensors in a physical environment. We then present a conceptual framework that separates the
acquisition and representation of context from the delivery and reaction to context by a context-aware
application. We have built a toolkit, the Context Toolkit, that instantiates this conceptual
framework and supports the rapid development of a rich space of context-aware applications.
We illustrate the usefulness of the conceptual framework by describing a number of context-aware
applications that have been prototyped using the Context Toolkit. We also demonstrate
how such a framework can support the investigation of important research challenges in the area
of context-aware computing.