Context-Aware Applications Survey

25.04.2000

Mari Korkea-aho
Department of Computer Science
Helsinki University of Technology
mari.korkea-aho@iki.fi

Abstract

Computers cannot as easily as humans make use of context information (e.g. location, time, temperature, and other persons nearby) in interactions and adapt to the situation. It is not easy for them to capture, represent, and process context information. However, with help of such information computer systems and applications could be made more user-friendly, flexible, and adaptable. This is especially important in mobile computing where the context and thus also the user needs change frequently and rapidly. This paper presents a survey of existing mobile context-aware applications. The survey shows that most applications still use only a few types of context information, mainly identity, time, and location. The paper discusses also how and what kind of context information could be used in ad-hoc networks. In ad-hoc networks context information can be used in establishing the network, in routing protocols, and in applications.

Contents

1 Introduction
2 Context and Context-Awareness
3 Existing Context-Aware Applications
   3.1 Office and Meeting Tools
      3.1.1 The Active Badge System
      3.1.2 The ParcTab System
      3.1.3 Applications from Georgia Institute of Technology
   3.2 (Tourist) Guides
      3.2.1 Cyberguide
      3.2.2 GUIDE
      3.2.3 Smart Sight Tourist Assistant
   3.3 Context-Aware Fieldwork Tools
   3.4 Memory Aids
     3.4.1 Forget-Me-Not
      3.4.2 Remembrance Agent
      3.4.3 StartleCam
   3.5 Frameworks Supporting Context-Aware Applications
      3.5.1 Stick-e Notes Framework
      3.5.2 Context Toolkit
      3.5.3 Situated Computing Service
      3.5.4 Virtual Information Towers
   3.6 Summary of Existing Applications
4 Context-Awareness in Ad-Hoc Networks
   4.1 Establishing an Ad-Hoc Network
   4.2 Routing Mechanisms
   4.3 Applications
   4.4 Challenges
5 Conclusions
References
Further Information


1 Introduction

When we humans interact with other persons and the surrounding environment we make use of implicit situational information. We can intuitively deduce and interpret the context of the current situation and react appropriately. For example, a person discussing with another person automatically observes the gestures and voice tone of the other party and reacts in an appropriate manner.

Computers are not as good as humans in deducing situational information from their environment and in using it in interactions. They cannot easily take advantage of such information in a transparent way, and if they can they usually require that it is explicitly provided. This is a challenge for human computer interaction. For example, present user interfaces still seldom can sense and adapt automatically to current light and noise level without the user providing the information. Another example comes from the area of mobile computing. Would it not be nice, if one could obtain services and information according to the current location and activity? For example, if at a stadium watching a football game, one could obtain additional information about the players, be able to participate in a local betting game, and check the traffic situation outside the stadium. There are very many different ways how context information could be used to make computer systems and applications more user-friendly, flexible, and adaptable. The use of context information is especially important in a mobile environment, where the environment of interaction, execution, and usage needs change rapidly. Areas where increased use of context information can bring added value and where research work is conducted include human computer interaction, adaptable user interfaces, virtual and augmented reality, mobile, ubiquitous, handheld, and wearable computing.

The objectives of this paper are to briefly clarify what context and context-awareness mean, to present some existing mobile context-aware applications, and to discuss context-awareness in ad-hoc networks.

2 Context and Context-Awareness

Context means situational information. Or as [4] states:

"Context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and application themselves."

Almost any information available at the time of an interaction can be seen as context information. Some examples are:

Context-awareness means that one is able to use context information. A system is context-aware if it can extract, interpret and use context information and adapt its functionality to the current context of use. The challenge for such systems lies in the complexity of capturing, representing and processing contextual data [15]. To capture context information generally some additional sensors and/or programs are required. To transfer the context information to applications and for different applications to be able to use the same context information a common representation format for such information should exist. In addition to being able to obtain the context-information, applications must include some "intelligence" to process the information and to deduce the meaning. This is probably the most challenging issue, since context is often indirect or deducible by combining different pieces of context information. E.g. if three persons meet in a certain office room at a certain time, it can mean that it is the weekly strategy meeting.

There are features that are characteristic for context-aware applications [4, 16, 22]:

References [22], [16], and [4] include very good general discussions about context-awareness and its challenges.

3 Existing Context-Aware Applications

In this chapter some examples of existing context-aware applications will be presented. The focus will be on mobile context-aware applications. For example, applications concentrating on adaptable desktop interfaces are out of scope of this survey, since this kind of context-awareness is of no special importance in mobile ad-hoc networks. This includes e.g. applications such as the Windows 95/98 Assistant Agent, Metadesk tangible user interface [23], and Charade interface using freehand gestures [1].

To improve readability the applications have been divided into application categories according to their characteristics. The categories are office and meeting tools, (tourist) guides, fieldwork tools, and memory aids. For each category some example applications will be presented in more detail. In addition, also some projects trying to create supportive frameworks for context-aware applications will be presented. After the review, characteristics of the applications are summarized in section 3.6.

3.1 Office and Meeting Tools

The first context-aware applications were office and meeting tools. The reason for this is that most computers are used in an office environment, and it is also easier to obtain context information, such as location, in a limited and controllable area such as an office. In this section some examples of office and meeting tools are presented.

3.1.1 The Active Badge System

The Active Badge [24] system from the Olivetti Research Lab from the beginning of the 90's is generally considered to be one of the first context-aware applications. With the system persons could be located in an office and calls forwarded to the closest phone. The office personnel wore badges that transmitted IR-signals (so-called active badges). A network of sensors placed around the office building picked up the signals and a central location server polled these sensors. The telephone receptionist could find out where a person was (figure 1) and direct the call to an appropriate phone. Experiments with automatic phone call forwarding were also conducted, but due to the proprietary nature of PBXs it was not possible to create a comprehensive solution [24].


Figure 1 A typical display showing the location of the office personnel [24]

The system also included commands to obtain the current location of a badge, to find out which other badges were in immediate proximity to a named badge, to find out which badges were currently near a specified location, to notify when a badge was again traceable, and a possibility to obtain information where the badge had been during an one-hour period.

The prototype was first installed in 1990 in Olivetti Research Center in Cambridge, England. At the beginning the personnel was worried about their privacy, but actually many of them later found the phone redirection service quite valuable. The system was later installed at other local sites and at Olivetti STL, Xerox EuroParc, MIT Media Lab and Xerox PARC.

3.1.2 The ParcTab System

The ParcTab system was developed at the beginning of the 90's at the Xerox Palo Alto Research Center. The system is based on palm-sized wireless ParcTab computers and an infrared communication system that links them to each other and to desktop computers through a local area network (LAN) [25]. The system was developed to experiment with ubiquitous computing and context-awareness in an office environment.

The ParcTab (figure 2) is a small wireless palm-sized computer with three finger operated buttons on the grip and a touch sensitive screen (128x64) and a speaker. It was continually connected via an infrared-based cellular network to a central server.  Each office room had a transceiver connected to the LAN communicating with the ParcTabs. The total bandwidth of one such cell was 19 200 bps. The ParcTab system could continuously know where each ParcTab was, e.g. which ones were in the same room and notify applications of location changes. The first ParcTab system was released in March 1993 having around 20 users at Xerox PARC. The year after that a new optimized version was released with approximately 40 users.
 


Figure 2 The ParcTab terminal

The ParcTab worked as a mobile personal digital office assistant. There were dozens of applications developed for and tested with it. Some of them were not really context-aware, including among others possibility to view emails, personal calendar information, weather information from the Internet and the local weather station. There were also several ParcTab applications implemented for context-aware experimentation. These included:

  • Presenting information about the room the user was in. The information could be shown automatically, or by user request. E.g. when the user was at the library information about the library was displayed. [2]
  • The ParcTab applications used following types of context: location, the presence of other mobile devices, time, nearby non-mobile machines and the state of the network file system [25].

    3.1.3 Applications from Georgia Institute of Technology

    At Georgia Institute of Technology (GeorgiaTech) context-awareness has been research for several years. There have been numerous projects researching different aspects of context-awareness (for a detailed list please visit http://www.cc.gatech.edu/fce/). In this section some office and meeting applications using context information will be presented: In/Out board, Information Display, DUMMBO meeting board, and Conference Assistant. They were implemented in recent years using the Context Toolkit (see chapter 3.5.2) and are prototypes tested in a laboratory environment.

    The In/Out board [20] is a Java application showing if a user is at the office or not (figure 3). It gathers information about the participants who enter and leave the building at the only entry point into the building. This is done with help of tags with unique identifiers (Dallas Semiconductor's iButtons or TIRIS RF tags) worn by the employees. The In/Out board uses identity information, and time of arrival and departure as context information.
     


    Figure 3 Screenshot of the In/Out board [20]

    The Information Display application displays information relevant to the user's location and identity on a display adjacent to the user. In the prototype the information displayed as a URL was depending on the location, the identity of the user, the research group the user belonged to, and the information that was interesting for that research group. This application used also IR or RF tags for locating and identifying users. Others have implemented similar kind of prototypes. In the beginning of the 90's this concept was prototyped in XeroxParc [26] as a part of the ParcTab experimentation. In 1996 at the Lancaster University a prototype called FLUMP was built. The user could choose to be shown information about her mailbox, schedule, and cafeteria opening hours on nearby public terminals. The system used Olivetti's Active Badges and HTML pages were used to present the data [7].

    The Dynamic Ubiquitous Mobile Meeting Board (DUMMBO) is an instrumented digitizing whiteboard, which supports the capture and access of informal and spontaneous meetings. Captured meetings consist of the ink written to and erased from the whiteboard as well as the recorded audio discussion. In the initial version of DUMMBO writing or erasing on the whiteboard initiated the recording of a meeting. A context-aware version was developed. It included the automatic triggering of the recording when a group of two or more persons gathered around a whiteboard. Information about when persons were present and their identities was also used in visualizing and accessing captured material. The context information used in this application were the participant's identities, the time when they arrived at or left the mobile whiteboard, and the location of the whiteboard. Also in this application IR or RF tags worn by the users were used to sense the presence. [20]

    The aim of the Conference Assistant [5] is to assist conference attendants. The conference attendee registers at the conference, providing her contact information, a list of research interests, and a list of colleagues also attending the conference.  In return she receives an application, the Conference Assistant to be run on here laptop, personal digital assistant (PDA), or wearable computer. The Conference Assistant displays the conference timetable with events with an interest to the user highlighted. When entering a room where a presentation is given information about the presenter and the presentation material is shown. If presentation material is available, the user can access it and make own notes to it.  The data is recorded with time stamps. The time, author, and content information can later be used for retrieval. This application uses location information, time, the activity in a certain location, and user preferences as context information. In the prototype running in the Georgia Tech laboratory the PinPoint Corporation's 3D-iD Local Positioning System (RF tags) is used to sense identity and location of the conference attendees and presenters. The application is being executed on different platforms, including laptops running Windows 95/98, Hewlett Packard 620LX WinCe devices. Wireless LAN is used for communication between the mobile clients and the network.

    3.2 (Tourist) Guides

    Systems for obtaining information about the surrounding environment are the most popular type of context-aware applications. This was experimented with already in the ParcTab system and in other projects in the beginning of the 90's. The Chameleon project at the University of Toronto investigated how palmtop computers could become aware of their location and orientation and give information about physical objects in their environment [8].

    Guides of different kind using location information are actually the commercially best covered area of all context-aware applications. Even car navigation systems using GPS can be seen as context-aware applications. Mobile phone operators have for some years now been prototyping and offering location based information services. For example, Hong Kong operator Sunday has an intelligent network (IN) based system where customers can obtain information in shopping malls based on their current location. Currently there is a boom of location-based service portals being announced for mobile phones, see for example www.myaladdin.com, and www.geeps.com. There is also a company called GeoVector announcing solutions for obtaining information about the surrounding environment.

    In this sections three application prototypes providing information about the surroundings and working as (tourist) guides are presented.

    3.2.1 Cyberguide

    In the Georgia Tech Cyberguide project mobile context-aware tour-guide prototypes were built in the mid 90's [14]. The goal was to provide information to a tourist based on her position and orientation. Initial prototypes of the Cyberguide were designed to assist visitors on a tour of the Graphics, Visualization and Usability Center during monthly open house sessions. The prototypes worked on an Apple MessagePad (with Newton OS) and used infrared beacons for positioning. The information was initially stored on the MessagePad. The user could see her current location and the demonstrators in her surroundings on a map (figure 4). By selecting a demonstrator it was possible to obtain more information about it.

    Figure 4 Screenshots of the indoor Cyberguide (map view left, information view right) [14]


    Also an outdoor version (figure 5) was implemented for guidance at the Georgia Tech Campus and touring local establishments in Atlanta. The outdoor version used GPS for positioning.
     

    Figure 5 The outdoor Cyberguide with GPS unit [14]

    3.2.2 GUIDE

    At the University of Lancaster a tourist guide (GUIDE) for Lancaster city visitors was developed and tested between 1996 and 1999 [3]. The system used WaveLAN as communication infrastructure, where each WaveLAN base station covered a geographical region (cell). Based on their location and user preferences, visitors could obtain information in two ways. Each WaveLAN cell broadcasted information relevant for the region it covered. The user could also request for information. In this case the location of the user was determined by the cell coverage or optionally the user could specify in which location she was. The Fujitsu TeamPad 7600 portable PC was used as terminal and as client a Java based http browser. An example screenshot of the GUIDE is shown in figure 6.

    Figure 6 Screenshot of GUIDE


     

    3.2.3 Smart Sight Tourist Assistant

    In recent years a tourist assistant called Smart Sight has been developed at the Carnegie Mellon University [11]. As also the other present guides it uses only location as context information. It is intended to translate from and to local language, handle queries posed and answer in spoken language, and be a navigational aid. The assistant is a "wearable computer" (consisting of a Xybernaut MAIV and a Thinkpad 600) with microphone, earphone, video camera, and GPS to determine users location. Two applications were in development in 1999, requesting information of close by landmarks and a possibility for tourists to store information about places they find interesting.

    3.3 Context-Aware Fieldwork Tools

    At the University of Canterbury some context-aware fieldwork tools have been developed: an archeological assistant tool [19], a giraffe observation tool [17], and a rhino identification tool [16]. The tools enable the users to make location dependent notes. The PalmPilot was used as terminal and GPS for positioning. All applications are based on the same structure. The users can define what information the notes should include, e.g. location, time, date, etc. with help of the StickPlate program. The information can then be entered with the StickEdit program. There is also a StickMap program to view the location of stored notes. The archeological tool has been tested at excavations in Spain and the giraffe observation tool in Kenya 1997-1998. The rhino identification tool is planned to be used in 2000. The researches using the tools have found them valuable.

    3.4 Memory Aids

    Humans remember things by associating them to the current context, e.g. when, where and with whom something happened. There have been experiments to develop memory aids using the users current context. As will be shown in the examples below the context of the user can be a valuable key for indexing information in order to help the user retrieving information later or for showing information related to his current context.

    3.4.1 Forget-Me-Not

    In the beginning of the 90's Lamming and Flynn at Rank Xerox Research Center developed a system called Forget-Me-Not [12]. It is a PDA system that records where its user is, who they are with, whom they phone, and other autobiographical information and stores it in a database for later query [18]. The Forget-Me-Not used ParcTabs as terminals.

    3.4.2 Remembrance Agent

    In 1996 Rhodes at MIT Media Lab developed a wearable remembrance agent. It is a continuously running proactive memory aid that uses the physical context of a wearable computer to provide notes that might be relevant in the user's current context. It displays one-line summaries of note-files, old email, papers, and other text information that might be relevant to the user's current context. The summaries are listed in the bottom few-lines of a heads-up display. The Remembrance agent uses five kinds of context: wearer's physical location, people who are currently around, subject field, date and time-stamp, and the body of the note. [18]

    3.4.3 StartleCam

    Healey et al. at the MIT Media Lab have been working on a wearable video camera, computer and sensing system, which enables the camera to be controlled via both conscious and preconscious of the wearer [9]. Images are saved by the system when it detects that certain events seem to interest the wearer. This is measured by a skin conductivity signal, which can be correlated to arousal level.

    The system consists of a skin conductivity sensor, which is sampled by an analog to digital converter attached to a wearable computer (figure 7). A digital camera and digital modem are also attached to the computer. Images are captured by the Connectix QuickCam camera and stored in a buffer in memory. When the computer detects a startle response, i.e. a change in skin conductivity, the buffer of images is transmitted wirelessly over the Internet to a remote server. [9]
     

    Figure 7 StartleCam system [9]

    3.5 Frameworks supporting Context-Aware Applications

    As stated previously in the paper it can be very difficult to obtain and process context-aware information. It is desirable that applications that use context information and context-sensors should be interoperable, which means there is a need for a standardized infrastructure for the exchange of context information. Several parties have proposed and prototyped general frameworks to support context-aware applications. Schilit's infrastructure for ubiquitous computing [21] in 1995 is probably the earliest attempt in this direction. In his Ph.D. work he proposed a general architecture, concentrating mostly on location and an active badge infrastructure [20, 22].

    3.5.1 Stick-e Notes Framework

    At the University of Kent at Canterbury work has been conducted around a concept of so-called stick-e notes, the electronic equivalent of Post-It notes. The idea with stick-e notes is that users could attach notes to different contexts (e.g. location, time of the day, temperature, weather condition, mode of the user, etc.) and later when the context occurs again the note is triggered. The note could consist of e.g. text, html pages, sound files, programs to be executed, or different user interfaces. As an example, users could type a message on their handheld computer and virtually attach it to a location. The computer would redisplay the note whenever the user subsequently approaches the same location. [2, 16, 17]

    Brown envisioned the concept in 1995 and his vision was also to create a general application framework based on the stick-e-notes to enable easy creation of context-aware applications. He argued that all context-aware applications were created by highly skilled people and used in research laboratories. In order to increase the number of commercially available applications and get them out in the market, it should be easier to create context-aware applications.

    Brown et al. [2] proposed an architecture consisting of three component types:

    Brown et al. also proposed that the stick-e notes, consisting of a context plus a content body, should be presented in SGML to enable easy exchange, publishing and extensibility.

    Pascoe et al. [16, 17] have continued the work based on the visions of Brown based on an object-oriented architecture. The framework was implemented in C++ and a prototype implementation of the stick-e note architecture for palmtop computers was completed in 1997 [15].

    3.5.2 Context Toolkit

    At the GeorgiaTech there has been work conducted in the recent years to create an architecture to support creation of context-aware applications [6, 20]. The architecture using an object-oriented approach contains three types of objects: widgets, servers, and interpreters.

    A context widget is a software component that provides applications with access to context information from their operating environment. They insulate applications from context acquisition concerns. This means that they actually hide the complexity of the sensors used from the applications and they can abstract context information to suit the expected needs of applications. They are aimed as reusable and customizable building blocks of context sensing. The widget is defined by its attributes and callbacks. Attributes are pieces of context that it makes available to other components via polling or subscribing. Callbacks represent the types of events that the widget can use to notify subscribing components. Other components can query the widget's attributes and callbacks. The widget also allows other components to retrieve historical context information.

    Context servers are used to collect the entire context about a particular entity, such as a person, for example. The context server is responsible for subscribing to every widget of interest, and acts as a proxy to the application. It can be seen as a compound widget. Just like widgets, it has attributes and callbacks, it can be subscribed to and polled, and its history can be retrieved.

    Context interpreters are responsible for implementing the interpretation of context information. They could transform between different representation formats or combining different context information and create context information out of that.

    Each of these objects is autonomous in execution. The objects can be instantiated all on a single computing device or on multiple computing devices. For communication between the different objects HTTP and XML are used. They can be replaced by other mechanisms if so wanted. The base implementation is in Java but the mechanisms used are programming language independent. The context toolkit software is freely available from http://www.cc.gatech.edu/fce/contexttoolkit/.

    3.5.3 Situated Computing Service

    The researchers at the Hewlett Packard Laboratories worked on a framework for context-aware applications in 1997 [10]. They called it "an environment for situational computing". The idea was to have a so-called Situated Computing (SitComp) server that had a set of services to interpret sensor data into useful events. The services are responsible of retrieving information from the sensors (context acquisition) and abstracting that information for applications. The work was quite on a concept level. A single prototype was constructed as proof of concept, using active tag detectors as a single sensor type.

    3.5.4 Virtual Information Towers

    At the University of Stuttgart [13] a concept for presenting and accessing location-aware information with mobile clients, called Virtual Information Towers. Each specific VIT contains location-aware information assigned to a certain geographical position and they can also have a certain area of visibility. The system also includes mechanisms to find the appropriate VIT to be used by the client this is done by consulting so-called VIT Directory. A prototype using a Xybernaut MA IV wearable computer has been implemented, using GPS for positioning and communication over GSM or Wireless LAN.

    3.6 Summary of Existing Applications

    Most of the existing applications actually use only few context values. The most used ones are location, identity and time. The reason for this probably lies in the difficulty for computer systems to obtain context information and to process it. Most of the applications are prototypes developed in research labs and academic world. There do not yet exist many commercial solutions. The main area where such exists is different kind of location-based services and guides.

    The reason that there are not that many context-aware applications deployed and commercially available yet lies, in addition to the difficulties in obtaining and processing the context information, also in the complexity of implementing such applications. They tend to be resource hungry, since they usually need to do continuos monitoring or complex calculations. Because of their complexity development costs is also generally high.

    4 Context-Awareness in Ad-Hoc Networks

    An ad-hoc network is a network, which is established dynamically by (mobile) devices and is maintained by them for their communication needs. The devices themselves act as network nodes routing the traffic. No additional infrastructure is required.  Since the nodes can come and go the network topology may change frequently. The networks may operate in isolation or may have gateways and interfaces with the fixed network.

    Spontaneity, dynamics, and mobility characterize ad-hoc networks. In an environment of such nature it is quite obvious that context-awareness can bring added value. Actually context information can be used on several different logical levels in ad-hoc networks: in establishing an ad-hoc network, in the routing mechanisms, and on application level.

    4.1 Establishing an Ad-Hoc Network

    Ad-hoc networks are generally intended to be established between devices situated in a certain logical or physical location. To find other network nodes different methods can be used, e.g. message broadcasting, lookup of devices using same base station or gateway, etc. One could state that ad-hoc networks are context-aware perse because of this fact.

    In addition to using device location and proximity, almost any other type of context information could be used to determine which devices should establish a network. This includes e.g. identity information, friends nearby, time of the day, etc. For example, an ad-hoc network could be established when certain friends are close nearby, or only during a certain time of the day.

    4.2 Routing Mechanisms

    The ad-hoc routing mechanisms could actually take advantage of context information to a broader extent. Parameters that could be used are location, physical proximity, device identity, liability of a node, different characteristics of a node, e.g. bandwidth capacity, owner of the node, cost to use the node, etc. However, the routing optimization can get complicated if too many parameters are used at a time.

    4.3 Applications

    Many scenarios have been discussed where mobile device (laptop, pda, and mobile phone) users establish ad-hoc networks at public places such as airports, convention centers, and similar places. Another application area widely discussed is the conferencing/meeting room ad-hoc networking. What kind of context-aware applications would then be the most appropriate ones for ad-hoc networking and how could they take advantage of the context information?

    A very evident type of application is the ability to find nearby resources. This can include input and output devices: printers, displays, speakers, facsimiles, video cameras, thermostats, etc. In pure service lookup actually even no location information needs to be used. In situations where distance calculations have to be done location information of the client is required.

    Another type suitable for ad-hoc networks is the idea of being able to create local network communities, not only based on the persons available at a certain site but also based on additional information. For example, depending on identities, belonging to the same company, having the same kind of preferences, etc. Related to this is the case where meetings can be set up spontaneously, based on who is present or what time of the days it is. Resources such as documents or white boards could be shared.

    Another type of context-awareness would be the ability to obtain regional information in the ad-hoc network. However, this generally requires a gateway or a static device providing this kind of information.

    4.4 Challenges

    Challenges for context-awareness in ad-hoc networks do not differ from other areas using context information. It can be quite challenging to capture, represent, and process contextual data. This can be even more challenging in an ad-hoc environment if no infrastructure for doing this is available, or it is created "ad hoc", or it changes frequently when the network changes. In this case the devices themselves must be able support all necessary mechanisms, or they need a standardized context-service in the ad-hoc network.

    Another challenge, which has not been discussed in much detail in this paper, is the privacy of users, as well as confidentiality. How to make use of context information and still enable the user to be in control of what is disclosed and to whom?

    5 Conclusions

    The human computer interaction can be improved with context information. With help of such information computer systems and applications can be made more user friendly and flexible. Especially in the mobile environment where the environment and user needs change rapidly the use of context information will be important.

    The usage of context information is still quite limited since it is very challenging and complex to capture, represent, and process contextual data. The most used types of context information are location, identity and time information. The context-aware application development is mainly concentrated around user interfaces, virtual and augmented reality, mobile, ubiquitous, handheld and wearable computing. The development is mainly research based. There are very few commercial products using context information yet, because of the challenges in this field. There are activities to make it easier to create context-aware applications with the help of application frameworks. The existing applications, which are mostly on a prototyping or testing phase, are in the area of office, guide, remembrance aid, or fieldwork tool applications.

    Context-awareness is a natural part of ad-hoc networks. Context information can be used both in establishing ad-hoc networks, in routing protocols, as well as, on application level. In the ad-hoc networking the challenges for context-awareness are quite similar to those in other areas. It can be quite challenging to capture, represent and process contextual data. This can be even more challenging in an ad-hoc environment if no infrastructure for doing so is available. Privacy issues are also important.

    For the future of context-aware applications in ad-hoc networks and other areas, it will be important to try to create consistent modular ways to obtain and process context information. Standard APIs, data representation formats and infrastructure need to be developed in order to support this development. Work in this direction has already started, but still a lot of work remains. Most challenging is to create the intelligence to analyze the context information and deduce the meaning out of it, and to integrate it into applications.

    It will be increasingly important for computer systems and applications to use context information. With an increasing diversity of computer systems integrated in our surroundings and increasing mobility of both users and hardware this will be one of the main challenges in the next years.

    References

    [1] Baudel, T., Beaudouin-Lafon, M. (1993) Charade: Remote Control of Objects Using Free-hand Gestures, Communications of the ACM, July 1993, Vol. 36, No7, pp. 28-35.
    [2] Brown, P.J., Bovey, J.D., Chen X. (1997). Context-Aware Applications: from the Laboratory to the Marketplace, IEEE Personal Communications, 4(5), pp. 58-64.
    [3] Davies, N., Mitchell, K., Cheverest, K., Blair, G. (1998). Developing a Context Sensitive Tourist Guide, First Workshop on Human Computer Interaction with Mobile Devices, GIST Technical Report G98-1. <http://www.dcs.gla.ac.uk/~johnson/papers/mobile/HCIMD1.html>
    [4] Dey, A.K. and Abowd, G.D. (1999). Toward a better understanding of context and context-awareness. GVU Technical Report GIT-GVU-99-22, College of Computing, Georgia Institute of Technology. <ftp://ftp.cc.gatech.edu/pub/gvu/tr/1999/99-22.pdf>
    [5] Dey, A.K., Salber, D., Abowd, G.D., Futakawa, M. (1999). The Conference Assistant: Combining context-awareness with wearable computing.  3rd International Symposium on Wearable Computers, San Francisco, California, 18-19 October, 1999, pp. 21-28.
    [6] Dey, A.K., Salber, D., Futakawa, M., Abowd, G.D. (1999) An Architecture to Support Context Aware Computing, GVU Technical Report GIT-GVU-99-23. June 1999 <ftp://ftp.cc.gatech.edu/pub/gvu/tr/1999/99-22.pdf>
    [7] Finney, J. and Davies, N. FLUMP, The FLexible Ubiquitous Monitor Project. <http://www.comp.lancs.ac.uk/computing/staff/joe/papers/flumpdhg.html>
    [8] Fitzmaurice, G.W. (1993). Situated Information Spaces and Spatialy aware Palmtop computers, CACM, July 1993, vol.36, No 7, pp.39-48
    [9] Healey, J.; Picard, R.W (1998). Startlecam: A Cybernetic Wearable Camera. 2nd. International Symposium on Wearable Computers, Pittsburgh, Pennsylvania, 19-20 October, 1998, pp.42-49.
    [10] Hull, R., Neaves P. and Bedford-Roberts J., (1997). Towards Situated Computing, 1st International Symposium on Wearable Computers, Cambridge, Massachusetts, October 13-14, 1997, pp. 146-153
    [11] Jie Yang; Weiyi Yang; Denecke, M.; Waibel, A. (1999). Smart sight: a tourist assistant system.  3rd International Symposium on Wearable Computers, San Francisco, California, 18-19 October, 1999, pp. 73-78.
    [12] Lamming, M. and Flynn, M. (1994). Forget-me-not: Intimate Computing in Support of Human Memory, in proceedings of FRIEND 21: International Symposium on Next Generation Human Interfaces,Tokyo,1994 , pp. 125-128. <http://www.xrce.xerox.com/publis/cam-trs/pdf/1994/epc-1994-103.pdf>
    [13] Leonhardi, A.; Kubach, U.; Rothermel, K.; Fritz, A. (1999). Virtual information towers - a metaphor for intuitive, location-aware information access in a mobile. 3rd International Symposium on Wearable Computers, San Francisco, California, 18-19 October, 1999, pp. 15-20.
    [14] Long, S., et al. (1996). Rapid Prototyping of Mobile Context-aware Applications: The Cyberguide Case Study. 2nd ACM International Conference on Mobile Computing and Networking (MobiCom'96) 1996 November 10-12, 1996.
    [15] Pascoe, J. (1997). The Stick-e Note Architecture: Extending the Interface Beyond the User. International Conference on Intelligent User Interfaces, Orlando, Florida, USA. ACM. pp. 261-264
    [16] Pascoe, J., Ryan, N.S. and Morse, D.R. (1999). Issues in Developing Context-Aware Computing. Proceedings of the International Symposium on Handheld and Ubiquitous Computing (Karlsruhe, Germany, Sept. 1999), Springer-Verlag, pp. 208-221.
    [17] Pascoe, J, Ryan, N.S., Morse, D.R. (1998). Human Computer Giraffe Interaction - HCI in the Field. Workshop on Human Computer Interaction with Mobile Devices. <http://www.dcs.gla.ac.uk/~johnson/papers/mobile/HCIMD1.html>
    [18] Rhodes, B.J. (1997). The wearable remembrance agent: a system for augmented memory. 1st International Symposium on Wearable Computers, Cambridge, Massachusetts, October 13-14, 1997, pp.123-128.
    [19] Ryan, N., Pascoe, J., Morse, D. (1997). Enhanced Reality Fieldwork: the Context-Aware Archaeological Assistant. Gaffney, V., van Leusen, M., Exxon, S. (eds.) Computer Applications in Archaeology. <http://www.cs.ukc.ac.uk/pubs/1998/616/content.html>
    [20] Salber, D., Dey A.K., Abowd, G.D. (1999). The Context Toolkit: Aiding the Development of Context-Enabled Applications, CHI'99.
    [21] Schilit, W.N. (1995). System Architecture for Context-Aware Mobile Computing, Ph.D. Thesis, Columbia University.
    [22] Schilit, B.N., Adams, N.I. and Want, R. (1994). Context-Aware Computing Applications. Proceedings of the Workshop on Mobile Computing Systems and Applications, IEEE Computer Society, Santa Cruz, CA, pp. 85-90.
    [23] Ullmer, B., Ishii, H. (1997). The metaDESK: Models and Prototypes for Tangible User Interfaces, Proceedings of UIST'97, Oct.14-17, Banff, Alberta, Canada, ACM,SIGCHI, NY, pp.223-232.
    [24] Want, R., Hopper, A., Falcao, V., Gibbons, J. (1992). The Active Badge Location System. ACM Transactions on Information Systems 10(1) pp. 91-102.
    [25] Want, R. et al. (1995). An Overview of the PARCTAB Ubiquitous Computing Environment. IEEE Personal Communications, vol 2, no 6, Dec 1995, pp. 28-43.
    [26] Weiser, M. (1993). Some Computer Science Issues in Ubiquitous Computing. Communications of the ACM, July 1993, Vol. 36, No7, pp. 74-84.

    Further Information