Context refers to the physical and social situation in which computational devices are embedded. One goal of context-aware computing is to acquire and utilize information about the context of a device to provide services that are appropriate to the particular people, place, time, events, etc. For example, a cell phone will always vibrate and never beep in a concert, if the system can know the location of the cell phone and the concert schedule. However, this is more than simply a question of gathering more and more contextual information about complex situations. More information is not necessarily more helpful. Further, gathering information about our activities intrudes on our privacy. Context information is useful only when it can be usefully interpreted, and it must be treated with sensitivity.
This article is an introduction to a special issue of an HCI publication on context-aware programming. It covers some of the background. Recently, I’ve been searching for information on how to model arbitrary contexts, which I take to be a pretty much intractable problem. So far, little success but good characterizations of the problem abound.