The Context Toolkit

A toolkit for context-aware applications

Anind K. Dey (

On this page:


The Context Toolkit aims at facilitating the development and deployment of context-aware applications.

By context, we mean environmental information that is part of an application's operating environment and that can be sensed by the application.

The Context Toolkit consists of context widgets and a distributed infrastructure that hosts the widgets. Context widgets are software components that provide applications with access to context information while hiding the details of context sensing.

In the same way GUI widgets insulate applications from some presentation concerns, context widgets insulate applications from context acquisition concerns.

To summarize, the services of the Context Toolkit are:

A Sample Context Widget for Sensing Presence and Identity

The PersonNamePresence context widget senses the presence of a user and is able to identify her. It relies on a sensor that provides both presence and identity information. In the current implementation, we use iButtons that users snap in a reader to notify their presence. Each button has a unique ID from which we derive the user's identity.
Right: To dock, the user snaps her iButton into the reader.

Below: The reader is mounted on Dummbo, an augmented whiteboard for impromptu meetings. When two users dock, Dummbo assumes a meeting is beginning and starts capturing audio and whiteboard drawings.

A Sample Application: In/Out Board

A reader is mounted at the entrance of our lab. Whenever we come in or out, we dock our iButton. We have used this presence and identity information to build a simple in/out board. It is standing on the receptionist desk. We also used the web gateway service of the toolkit to provide a web version.

If we switch to another sensing device such as Active Badges, we will use the exact same application executable. Only the context sensing layer of the widget will have to be rewritten. 

Publications (Updated 11/09/2002)

Related Publications

Projects (Updated 11/09/2002)

A number of applications/projects have been built/augmented with the Context Toolkit. This includes:


Contributed Components

Documentation (Updated 9/12/2000)

The Context Toolkit now has a user's guide! This contains a tutorial (updated 3/15/00), an installation guide (updated 09/12/00) and source code documentation (updated 2/24/00).

Also, a mailing list has been created to aid developers using the Context Toolkit. To join, send a message to, with a line in the body of the message that says: subscribe ctk 

Download Information  (Updated 2/24/2000)

The first public release of the Context Toolkit is now available. If you would like to obtain the toolkit, please contact Anind Dey.
A maintenance update to the first release is now available.