Requirements Elicitation for the Design of Context-aware Applications in a Ubiquitous Environment Dan Hong Dickson K.W. Chiu Vincent Y. Shen Department of Computer Science Hong Kong University of Science and Technology Dickson Computer Systems Hong Kong Department of Computer Science Hong Kong University of Science and Technology csdhong@cs.ust.hk dicksonchiu@ieee.org shen@cs.ust.hk ABSTRACT With the invention of new interaction devices and the requirements for ubiquitous access to application systems, user’s interactions have moved beyond the desktop and evolved into a trend of ongoing development. The context in which the application is being used becomes an integral part of the activity carried out with the system. The inclusion of context-awareness provides convenience and efficiency to users for their ubiquitous access. Traditional human-computer interface (HCI) theories are now inadequate for developing these context-aware applications, as we believe that the notion of context should be extended to different categories: computing contexts, user contexts, and physical contexts for ubiquitous computing. This demands a new paradigm for system requirements elicitation and design in order to make good use of such extended context information. In this paper, we introduce a methodology for the elicitation of contextaware requirements and the matching of context-awareness features to the target context by capability matching. Based on this model, we analyze the design issues of some common ubiquitous access situations and show how to fit them systematically into a context-aware application by considering the requirements of a ubiquitous tourist application. Categories and Subject Descriptors D.5.2 [Information Interfaces Interfaces – User-centered design and Presentation]: User General Terms Design, Human Factors. Keywords Context-aware application, context, design issues, tourist system, HCI Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ICEC’2005, August 15–17, 2005, Xi’an, China. Copyright 2004 ACM 1-58113-000-0/00/0004…$5.00. 1. INTRODUCTION In 1991, Weiser [35] first proposed the idea of ubiquitous computing: specialized elements of hardware and software, connected by wires, radio waves, and infrared, would become so ubiquitous that no one would notice their presence. Different from virtual reality, ubiquitous computing techniques bring computing devices into everyday life. This ubiquitous environment provides an opportunity, which permits human-computer interactions away from any workstations. That is, the user may interact with multiple devices such as cell phones, PDAs, touch-sensitive screens, and notebook computers within a session which may be operating in different environments. With the widespread use of mobile devices and the need for ubiquitous computing, the issue of “context” now becomes a hot topic in human computer interaction (HCI) research and development. There are several reasons why context is important. First, context reduces the input cost. Explicit input from users is expensive. It interrupts the user’s thoughts and slows down the speed of the interaction. By sensing the environment and interpreting explicit actions, mobile devices such as sensors, cell phones, and PDAs could provide a rich and implicit context. Context makes the communication between humans and computing devices much more efficient. Second, context may provide an exciting user experience without much effort on the users’ part. With the help of context, interactive applications such as tourist guide support, message reminder service, and smart home (such as those discussed in Section 2) are accessories that can make people’s lives easier. Third, users benefit through context sharing. We may assume that users and their friends have similar preferences, which means something that attracts one group member’s attention has a higher probability of being preferred by other members. By sharing the context, the system could provide a better service. However, moving the interaction beyond the desktop presents many exciting and new challenges to HCI. First, the interface is moving from humans vs. computers to humans vs. context-aware environments. With the popularity of multimodal interactions, more varieties of input and output devices are now being used. A user may have multiple devices while a device may be shared by different people. Resolving the possibly conflicting input of different cooperating devices becomes more crucial than before in the design process. Second, “knowledge in the world” becomes more important [14]. The goal of HCI design is creating a convenient user experience. To better predict a user’s behavior, it is important to understand the subtleties of everyday activities. Third, ubiquitous activities are not so task-centric while the majority of usability techniques are. It is not at all clear how to apply task-centric techniques to informal everyday computing situations [2]. To address these requirements of ubiquitous computing, we extend the notion of context, the constantly changing environment, into three categories [7] [26] instead of the narrow perspective that just focuses on location. Computing context refers to the hardware configuration used, such as the processors available for a task, the devices accessible for user input and display, and the bandwidth. User context represents all the human factors, such as the user’s profile, calendars, and profiles. Physical context refers to the non-computing-related information provided by a real-world environment, such as location, time, lighting, noise levels, traffic conditions, and temperature. The three categories are equally crucial and they, as a whole, determine the appropriate and customized interaction between the user and the application. Therefore, we propose to use this notion of extended context as a basis of the requirement elicitation for ubiquitous application design. The rest of the paper is organized as follows. Section 2 introduces the background of context-awareness and compares related work. In Section 3, we introduce a methodology for the elicitation of context-aware requirements. Section 4 discusses some typical context-aware requirements and design issues with reference to our model. We conclude our paper in Section 5 with a discussion on the applicability of this model and research directions. 2. BACKGROUND AND RELATED WORK What is context? By the definition of the Oxford Dictionary, context is a circumstance in which something happens or in which something needs to be considered. Many researchers are not satisfied with such a general definition so they have tried to come up with a more accurate one. Schilit et al. [26] claimed that the three important aspects of context are: where you are, who you are with, and what resources are nearby. Chen et al. [7] redefine context as the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user. Moreover, Dey et al. [13] define it as any information that can be used to characterize the situation of entities (i.e., whether a person, place, or object) that are considered relevant to the interaction between a user and an application, including the user and the application themselves. Contexts are typically locations, identities and states of people, groups, and computational and physical objects. A system is context-aware if it can extract, interpret, and use context information and adapt its functionality to the current context of use [19]. The challenge for such a system lies in the complexity of capturing, accessing, and processing contextual data. To capture context information some additional sensors and/or programs are generally required. Context can be acquired several ways. Location information, which is the most popular user context, is easily obtained by sensors (e.g., the Global Positioning System (GPS) in an outdoor environment). Moreover, sensors could sense the temperature, humidity, sound, or even movement in both outdoor and indoor environments. Portable mobile devices such as cell phones, PDAs, and notebooks also provide context by collecting and interpreting user’s interaction responses. Abundant context could propagate through wireless cellular networks, wireless LAN networks, wireless Personal Area Networks (PAN), wireless Body Area Networks (BAN), and wired networks [7]. Sensing techniques and wireless network technology together bring context-aware computing into our everyday life. Context is not only used in an application, but is also shared among different applications. In order that context information is accessible among different applications, the context needs to be represented in a common format and properly categorized [10]. In addition to being able to obtain contextinformation, applications need to have some “intelligent” component which functions as a predictor of a user’s intentions. Developers can intelligently use context information in four primary ways [28]: 1) resolving references, 2) tailoring lists of options, 3) triggering automatic behaviors, and 4) tagging information for later retrieval. Thus, our extended notion of context serves as a legitimate basis of the requirements elicitation for ubiquitous applications. There are many context-aware applications available for mobile devices with features like proximate selection, automatic contextual reconfiguration, contextual information and commands, and context-triggered actions [26]. Such applications usually present information to a user, automatically execute a service for the user, and tag the context to information to support later retrieval [11]. However, most of these applications are concerned mainly with physical contexts. Here are some examples. One of the application areas with the most context-aware software are tourist information systems. Cyberguide is a mobile contextaware tour guide system for visitors in a tour of the Graphics, Visualization and Usability (GVU) Center Laboratory during open hours [1]. It moves all the information into a hand-held, location-aware unit. By using context information such as location, the direction of movement, and the user’s previous locations, the system could suggest some places of interest according to the user’s preference. The long-term goal is not only to know location information but also what the user is looking at. With this context the system can predict and answer questions, and provide the ability to interact with other people in the vicinity and the environment. The GUIDE system [8] integrates the use of personal computing technologies, wireless communications, context-awareness, and adaptive hypermedia to support the information and navigation needs of visitors to the city of Lancaster. The context such as the visitor’s interests, current location, and any refreshment preferences may affect the interface of the system. The Mobile Location-Aware Handheld Event is an event planner [15] provides a tourist guide service based on GPS location acquisition. Users may also use this system to send or receive emails. The system also allows the user to set up event reminders. Moreover, the system takes the privacy issue into account. A user could set the visibility based on the persons or groups, which could help to control who can see whom. AccesSights is a multimodal user interface to support different user groups [18]. Its main objective is to support both blind users and sighted users at the same time with the same tourist content but for each user group in their preferred modality. Not only providing suggestions during the tour, the system also warns by vocal output when some obstacles are in the way, which especially benefits blind visitors. As for office and meeting tools, the Active Badge Location System [32] by Olivetti Research Laboratory in the 1990’s is the first context-aware application. System users wear badges that transmit signals providing information about their locations to a centralized location service through a network of sensors. The purpose of the system is to provide a human receptionist with useful information in order to direct calls to the nearest phone. Later experiments have been conducted for automatic phone call forwarding. The PARCTAB System [33] [34] integrates a palmsized mobile computer into an office network. The context used in this system is location, the presence of other mobile devices, the inferred presence of people, time, nearby non-mobile machines, and even the state of the network file system. The communicator, calendar manager, and locator system work together to provide a more convenient information access and communication device based on location information. Moreover, the system enhances collaboration by supporting group annotations and voting. Conference Assistant [13] assists conference attendees by automatically displaying the conference schedule and shows multiple tracks, which may help the attendees find their own tracks of interest. The system directs the attendee to the room, where the track of interest is being held. When the user enters the room, the system not only shows the name and title of the presentation but also offers help on recording the presentation. Conference Assistant allows users to create notes of their own to attach to a certain slide or Web page. After the conference, users could use a retrieval application, running on a desktop computer, to retrieve the information about a particular presentation and share it among colleagues. Office Assistant is an agent that interacts with visitors at the office door and manages the office owner’s schedule [36]. Based on information such as the owner’s working status and available time slots, whether there is a visitor arriving or leaving, and the interaction history, the system could assist users in changing their interaction behaviors. Examples are interactions with other visitors, advising them on their appointments, and updating calendar entries to reflect recent appointments. As for message reminders, ComMotion is a location-aware computing environment, which links personal information to locations in its user’s life [23]. Once a reminder message’s attributes, such as the time and location, match a delivery condition, it is sent out. The application is quite suitable when users are driving since the system provides a speech interface and uses GPS as an outdoor sensing tool. CybreMinder is a contextaware prototype implemented by the Georgia Institute of Technology. It supports users in sending and receiving reminders involving rich context, such as time, place, and working status [12]. The reminder could be delivered via SMS on a cell phone, email, or a nearby display screen. For a smart home, Easy Living [5] [27] is an intelligent system environment of Microsoft Research. It focuses on applications that can make computers easier to use and able to perform more tasks than traditional desktop computers. The system has information about the state of the world, such as locations of people, places, things, and other devices in space. The context, which could be interpreted by the system, helps users directly access all available devices, control some devices remotely, and control media players according to user preference. eHome or the Smart Home Usability and Living Experience project [20][21] was carried out from May 2002 to March 2003 at the Institute of Software Systems at the Tampere University of Technology, Finland. The system supports users in controlling everyday “smart objects” such as moving curtains and status-aware pot plants through three user-interface devices: a personal computer, a media terminal (i.e., the TV), and a mobile phone. In the system, the PC acts as the central control unit. A mobile phone is a suitable remote controller when users are away from home. Context-aware applications are not limited to research laboratories. There are already some commercial products in the market. Up to eight profiles have been designed for users to select and adapt to different environments in the Sony Ericsson K700i mobile phone: normal, meeting, in car, outdoors, portable, handsfree, home, office, and terminal accessory. Microsoft Direct Watch [24] is a new, specialized wireless service that delivers personalized information through watches that combine style and technology. Services include news, weather, stock quotes, appointment reminders, and personal messages. However, both of these two applications require users to set them up manually since there is no other equipment (i.e., sensors) that will cooperate with them to provide context. Though these techniques are not mature currently, it reveals that the context-aware world is coming. In order to facilitate the implementation of context-aware software, the Context Toolkit developed by the Georgia Institute of Technology infers the pieces of context automatically from sensors in a physical environment [13]. It separates the acquisition and representation of context from the delivery and response to context by a context-aware application. It aims at the rapid prototyping of a rich space of context-aware applications. However, one of the disadvantages is that the relationship between a widget and a sensor is one-to-one mapping; that is, it cannot support sensors to work together in order to get a data item. Furthermore, one application could not reuse the code of another application due to its way of handling the context interpretation and aggregation. Burrell et al. [6] summarize some previous context-aware applications systems and propose the Semaphore, a context aware collaborate tool used in wireless networked environments at campus. Lei et al. [22] provide a middleware infrastructure for the design of context-aware applications and try to address the extensibility and privacy issues at the same time. Baradram [4] presents the design of a contextaware pill container and a context-aware hospital bed, both of which react and adapt according to the context in its special domain, a hospital. Kim et al. [17] categorize context-awareness into only non-computational contextual design, noncomputational context-aware design, and computational contextaware design. Based on these categories, they analyze how to design context-sensitive appliances. However, all these designers have not explicitly provided a methodology for the requirements elicitation for the design of context-aware applications in a ubiquitous environment based on our extended notion of context. 3. METHODOLOGY OVERVIEW FOR CONTEXT-AWARE REQUIREMENTS ELICITATION To elicit the requirements for a context-aware ubiquitous application, we have to consider the two ultimate goals of Interaction Design [25]. One is the usability goal. An interactive system needs to provide effective and efficient services as well as makeing it easy for the user to learn how to use the system and to remember how to use it. Another is user experience goals. In order to attract people to use interactive products, they must be designed to be fun, enjoyable, pleasurable, and aesthetically pleasing to use. The obvious elements for ubiquitous computing are the computing facilities, the human user, and the environment. This is the main reason we extend the notion of context to three main context categories: computing contexts, user contexts, and physical contexts. Computing Context User execute Session interact with Ubiqitous Application Activity User Context Context adapts to Context-aware Feature Physical Context Context Requirement matcb Context-aware Capability Figure 1. A Meta-model for context-aware requirements elicitation The services provided by the context-aware applications need to satisfy users’ goals. So understanding the users’ expectations becomes crucial in the design process. In order for the system interactions to match the users’ common usage, the behaviors of users have to be studied too. The relationship between the environment and users and that among users themselves could be considered as context. Figure 1 presents a meta-model for the requirements elicitation of a context-aware ubiquitous application, based on which we further explain a methodology as follows: 1. Determine the different target groups of users that the system is focusing on. 2. Estimate the typical contexts that such user groups may be situated at, especially those that possibly affect the system’s interactions. 3. For each of these contexts, enlist the requirements specific for the context. 4. Determine the users’ activities during the process of using the system. 5. For each activity, investigate how different contexts (from step 2) may impact on its interactions and therefore determine the required context-aware features to adapt to such contexts. 6. For each context-aware feature, detail the desired contextaware capabilities. 7. Make sure that the context-aware capabilities match and satisfy all the requirements elicited from step 3. Otherwise, it would mean that some required context-aware feature are missing and we should re-iterate from step 5 to handle those unaddressed requirements. By adopting this approach, our meta-model further provides a basis for the system to select the required context-aware features at run-time according to the current context of each user session, so that the system uses the same criteria (matching of context requirements with context capabilities) to provide the most appropriate user interactions. 4. TYPICAL CONTEXT-AWARE REQUIREMENTS AND DESIGN CONSIDERATIONS Based on the methodology presented in the previous section, we proceed to analyze some typical context-aware requirements and some design considerations under the three main context categories: computing contexts, user contexts, and physical contexts by considering the requirements of a ubiquitous tourist Table 1. Classification of Some Typical Contexts into Categories application. Table 1 tabulates some typical context relevant to ubiquitous computing classified into these three context categories. Computing Contexts User Contexts Physical Contexts Available devices Preference Location CPU Purpose Time Memory User calendar Destination Screen size Personal information Physical limitations Energy Weather Energy Bandwidth Traffic condition Facilities Disability 4.1 Computing Contexts In order to design a good interactive application, we must understand the characteristics of the new computing environment. This involves a lot of new input and output devices that may lead to new interactive styles. One important feature of context-aware applications is that users may use many mobile devices at the same time. Which devices should be used in the interaction becomes very important. People prefer a device with multiple functions. The system needs to be integrated into the existing equipment (i.e., mobile phones or PDAs) and a heavy device is not acceptable [30]. In this sense, tourist guide should run easily on any device that is available to a user. Further, one significant difference to the traditional HCI is that multiple devices may be available to a user in a specific situation in ubiquitous computing. Gesture recognition devices, handwriting devices, and embedded cameras together provide more opportunities for users to interact with the environment than with each of them alone. Handwriting devices, voice recognition devices, and GPS systems enable people (especially the elderly) to input their location parameter in a convenient way in different situations. Moreover, with the help of eye-tracking devices, tourist guide system could benefit those with disabilities since they help automatically choose a target device from a device set. Another difference between a context-aware environment and a desktop-based scenario is the dynamic nature of the available devices supporting the user’s interactions [28]. For example, the devices may be moving dynamically, especially where there are wireless connections among the devices. How to efficiently send the changing context back to the application has attracted a lot of researchers’ attention. A lot of work has been done in ad-hoc networks and sensor networks. The dynamics of devices challenges the routing of information. Furthermore, the dynamic changes to the devices should be transparent to the users. They should not be asked to manually change the selection of devices. In a desktop scenario, it is reasonable to assume that a user sees every message displayed on the screen or hears a notification played through the speakers since the user is focusing on the computer. In a context-aware environment, there may not be a focal point for a user to fully concentrate on [28]. It is common for a user to miss a phone call in a noisy environment since the ring tone is not loud enough to be heard. Moreover, users may no longer be static in an environment. It is also important that users maintain continuous interactions without noticing the changes in the device. Mobile devices have a limited computing (CPU) power. Even the most advanced PDA could not compete with common desktop computers. The limited CPU power challenges the application installed on mobile devices. For example, in a tourist system, the CPU of a mobile device not only has to compute the user’s location information, but also to render a map. Therefore, most of the computation is preferred to be done at the server side. Memory is another important computing context during the interaction, since it is used to store the user profile and the context-ware applications as well as to provisionally keep some application data. In a tourist system, memory is very important and this will directly affect how big a map the device can maintain on the client side. In traditional interactions, who is currently using the system is usually not an issue because there is often only one user or the identity can be easily found from the login information. In a context-aware environment, there are likely many people interacting with different devices concurrently on either independent or cooperative tasks. Each user may have multiple devices interacting and each device may be shared by multiple users. Detailed information provided by the system may not satisfy a user’s needs [16]. The database must maintain enough detailed information to suit the needs of diverse users. In a tourist system, the database might contain all small paths in the city and provide customized maps to users according to their individual contexts. Moreover, it would be helpful if the tourist guide could work with other databases (such as a restaurant database) in order to provide other extended services. Monitors and big screens are no longer the only display devices available. The screens on mobile phones or PDA are more convenient when a user moves around. However, the screens on mobile devices are usually much smaller. Avoiding too much scrolling requirements of the mobile user interface would require careful design. When people buy mobile devices, they care about the duration of battery power. No one wants to buy a mobile phone which can only be used for a short while. Context-aware applications suffer the same problem. It is important for mobile device users to select a reasonable protocol to communicate with the service providers in order to save energy. Moreover, in the design process, developers might take the energy savings during system idle times into consideration because to display a map on a colorful screen is very battery power consuming. In a ubiquitous environment, devices communicate by wireless LAN, Bluetooth, or infrared. The bandwidth is limited compared with the wired networks. Therefore, to develop a context-aware application, we should not assume a broad bandwidth for every user. When updating the map in the screen of a tourist’s mobile device, we also need to consider the network delay and bandwidth limitation. 4.2 User Contexts Users usually have their own preferences that determine their choices [29]. For example, some users might be interested in taking a bus, while others prefer taking a train. It is very useful for applications to make use of such preference information. Further, if the system knows the user’s purpose of an activity, wrong recommendations or interactions can be avoided. For example, if the user’s purpose for a trip is for sight-seeing, recommending a subway is probably inappropriate as compared with a bus or a ferry. In some scenarios, the system goes beyond the users’ needs. For example, in a museum, users may prefer to browse without a mental plan. A system that guides the visitor along a predefined route is not expected [16]. The guide system should work as an assistant instead of a master. Users do not appreciate being given commands for where to go next. Context-aware applications may collect some personal data to deduce the interaction between the user and ubiquitous environment. A tourist system may want to know a user’s previous travel history or other demographic data to make better recommendations. A list of the user’s friends (say from the Finding Friends application) enables a tourist portal to give an interesting surprise to the user as well as his/her friend(s) by arranging for them to meet at some scenic spots. However, how to protect privacy information becomes an important design issue for future research. In addition, mobile devices are not the only facilities that a user has: other facilities might also play a role in the system’s response. For example, when a tourist system recommends a path from source to destination, it needs to consider if the user has an umbrella when it rains outside and should avoid as much as possible an uncovered path across the rainy area. Due to similar considerations, the system should have special concerns for the disabled. For example, a path without stair steps and a lift with a disability assistant button should be chosen for those in wheelchairs. 4.3 Physical Contexts Physical contexts refer to non-computing-related information provided by a real-world environment. These are best explored by other existing ubiquitous applications and therefore we try to keep the discussion brief in this paper. Among them, the user’s current location is the most important context, especially in a tourist system. Not only is this information critical to most interactions, it is also the key to many other system functions, decisions, and recommendations. Further, the user’s destination (i.e., the location where the user wants to go) together with the current location are the major determinant to the route of the user. In determining a route, traffic conditions such as information about traffic jams and road repair projects help users to avoid these problematic locations. Further, weather (sunny, cloudy, or rainy) and temperature impact on the recommendation of some activities such as swimming and skiing. In general, users need topical information [16]. When users are traveling, context-sensitive information such as weather report, transportation information, and local news may become invalid and need to be updated in a timely fashion. For example, when a driver navigates across a country border, such information should be updated in his portable device. 5. DISCUSSIONS AND SUMMARY In this paper, we propose using the notion of extended context as a basis of requirements elicitation for ubiquitous application design. We have presented a meta-model and methodology for this purpose, by reconciling user context requirements under different contexts with context awareness capabilities of the available features. Based on this meta-model, we have analyzed some typical context-aware requirements and some design considerations under the three main context types: computing context, user context, and physical context. Imagine a normal day in 2010. Alice is on a business trip. She wakes up at 7:00am and orders breakfast room service through a voice recognition device in a hotel room. While waiting and watching the TV, the screen reminds her to take an umbrella and close all the windows as there will be a rainstorm. Without her login action, a high-resolution TV screen automatically pops up Alice’s schedule of the day as her voice has already been recognized. An SMS message is received at 11:00am to remind Alice that she has an interview with Bob at a restaurant at 11:30am. Unfortunately she loses her way. Her PDA provides directions with information of her current location and her schedule, which has the destination. With the help of the PDA, Alice finds the restaurant in time. The mobile phone automatically turns on the “vibration” mode during the interview. The interview could not be finished within the scheduled time, so they plan to meet again. When Alice inserts a new appointment item in her PDA, all the schedules on her other devices (especially the server at her office for backing up her schedule) are synchronized via wireless networks. The mobile phone turns off the vibration mode after the interview. After that, Alice goes shopping. In the mall, the mobile phone rings loudly to give her an exciting message that an old friend, whom Alice has not seen for a long time, is also shopping there. Alice is very excited to see her friend. Based on the favorite food information on Alice and her friend’s PDAs, a suitable restaurant nearby is recommended. Alice happily invites her friend to dinner. After an enjoyable meal, Alice notices that it is raining outside. She takes out the umbrella and walks back to the hotel. The weather is so cold that Alice uses her mobile phone as a remote controller to turn on the heating system in her room. When she arrives at the door, the sensing system detects her arrival and turns the lights on. So a soft light and comfortable temperature are welcoming her return. Based on the scenario and use cases, we can analyze the context-aware requirement for building the underlying ubiquitous software according to the methodology introduced in this paper. However, to realize such requirements, we discuss some open issues about context-aware interactions and design. First, users desire natural interfaces that facilitate a richer variety of communication capabilities between humans and machines [2]. By using a natural interface, a user does not need to change the current interaction behavior. The natural interfaces require the development of both new software and hardware. In the scenario, the lights are automatically turned on when Alice returns. In this example, she is experiencing a more exciting service without any extra effort of her own: the system handles the situation automatically. This not only requires advanced sensing technologies (to identify who is outside the door), but also an improved electronic control system (to turn the lights on at the right time). It is the goal of these natural interfaces to support common forms of human action and leverage more of our implicit actions in the world. Right now, the context interaction needs a manually explicit input context (e.g., the selection of profile in the mobile phone). Such interfaces are not natural enough and need more research effort. Second, the various contexts need a good representation model and a good reasoning model to enhance system and work efficiency by matching users’ intentions. Most current applications only take advantage of the user’s location and identity. However, in real-world interactions, more context information is essential for better personalized decisions. Take the restaurant recommendation activity in our scenario as an example. The system provides information via users’ location (where Alice is and where nearby restaurants are), users’ preference (what are Alice and her friends favorite foods), users’ tolerance (if the distance and price of the food are acceptable), and the environment (if it is a noisy or quiet place, and if Alice and her friends need to wait for a table). There remain challenges in the standard representations of context, which helps context sharing between different applications. In this scenario, Alice could not know whether her friend is nearby if her friend’s location context is not readable by Alice’s devices. Context is a great help to understand a user’s needs. However, a derivative intention from multiple contexts is hard to achieve. Simple logic reasoning does not work well since the context relationship is too complex. An accurate predictive model, which is easy to compute, is useful in both the design and evaluation processes. Another challenge in design is the privacy problem and many researchers are attempting to address it. In the above scenario, whether Alice’s friend allows Alice to know her presence needs to be considered. It would be awkward if this friend does not want to be seen by Alice. So, it is necessary to protect the privacy of the users. But the privacy requirements may change from situation to situation. So a context-aware privacy mechanism needs to be designed. A possible solution is an extension of P3P (platform for privacy protection by W3C) [31] which is used to address the privacy problem in websites. Users need a simple and friendly interface to initialize and edit their privacy statements. Finally, evaluation techniques may not be applicable in all context-aware applications. Formative and summative evaluations of Ubicomp systems are difficult and represent a real challenge for the Ubicomp community [3]. Deeper empirical evaluation results cannot be obtained through controlled studies in a traditional, contained usability laboratory. The traditional task-centric evaluation is not appropriate for the non-task centric interaction behaviors any more. Think about Alice’s usage of her PDA in our scenario. On her way from the office to the supermarket, since the system does not know what she wants, it might pop up some information about a clothes shop with discounts, a digital camera promotion, and so on. It is very hard to justify whether this kind of information is useful, especially since that depends on Alice’s current mood. If the user’s tasks are known, then an evaluation is performed to determine the fitness of the system and its interface for completing that task. It is not at all clear how to apply taskcentric evaluation techniques to informal everyday computing situations [2]. Moreover, this kind of user participation evaluation is very expensive since many users are involved in many context environments over a long period. A new qualitative or quantitative evaluation technology, which is cheap and not timeconsuming, is very desirable. [8] K. Cheverst, N. Davies, K. Mitchell, A. Friday, and C. Efstratiou. Developing a context-aware electronic tourist guide: Some issues and experiences. In CHI 2000, pages 17– 24, The Hague, The Netherlands, April 2000. ACM Press. The emergence of ubiquitous computing brings context as part of implicit input, which effectively improves the interaction between human and computing devices. Users’ positive attitude towards context-aware application encourages continuous research. Though a lot of research has addressed context-aware humancomputer interactions, there are still many challenges for future studies, such as natural interface, context reasoning, and new evaluation methodologies. In particular, our research direction focuses on the requirement elicitation for context-aware applications, especially on how composite context information and their requirements could be effectively elicited with the consideration of possible conflicts and implications. We are working on the adaptation of existing applications for contextaware service provision with the three-tier view approach proposed by Chiu et al. [9]. We are especially interested in applications for ubiquitous collaboration and agent-based computing under this emerging computing environment. [12] A. K. Dey and G. D. Abowd. Cybreminder: A context-aware system for supporting reminders. In The Second International Symposium on Handheld and Ubiquitous Computing (HUC2000), pages 157–171, Bristol, UK, 2000. Springer-Verlag. 6. REFERENCES [1] G. D. Abowd, C. G. Atkeson, J. Hong, S. Long, R. Kooper, and M. Pinkerton. Cyberguide: A mobile context-aware tour guide. Wireless Networks, 3(5):421–433, Oct. 1997. [2] G. D. Abowd and E. D. Mynatt. Charting past, present, and future research in ubiquitous computing. ACM Transactions on Computer-Human Interaction, 7(1):29–58, March 2000. [3] G. D. Abowd, E. D. Mynatt, and T. Rodden. The human experience. 1(1):48–57, Januaral-March 2002. [4] J. E. Bardram. Applications of context-aware computing in hospital work: examples and design principles. In 2004 ACM Symposium on Applied Computing, pages 1574–1579, Nicosia, Cyprus, March 2004. [5] B. Brumitt, B. Meyers, J. Krumm, A. Kern, and S. Shafer. Easyliving: Technologies for intelligent environments. In The Second International Symposium on Handheld and Ubiquitous Computing (HUC2000), pages 12–29, Bristol, UK, 2000. Springer-Verlag. [6] J. Burrell, P. Treadwell, and G. K. Gay. Designing for context: usability in a ubiquitous environment. In Conference on Universal Usability, pages 80–84, Arlington, Virginia, United States, June 2000. ACM. [7] G. Chen and D. Kotz. A survey of context-aware mobile computing research. Technical Report TR2000-381, Department of Computer Science, Dartmouth College, 2000. [9] D.K.W. Chiu, S.C. Cheung, E. Kafeza and H.F. Leung. A Three-Tier View Methodology for adapting M-services, IEEE Transactions on Systems, Man and Cybernetics, Part A, 33(6):725-741, Nov 2003. [10] C. Ciavarella and F. Paternò. The design of a handheld, location-aware guide for indoor environments. Personal Ubiquitous Computing, 8:82–91, 2004. [11] A. K. Dey and G. D. Abowd. Towards a better understanding of context and context-awareness. Technical Report GITGVU-99-22, Georgia Institute of Technology, June 1999. [13] A. K. Dey, G. D. Abowd, and D. Salber. A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications. Human-Computer Interaction, 16:97–166, 2001. [14] A. Dix, J. Finlay, G. D. Abowd, and R. Beale. HumanComputer Interaction. Prentice Hall, Harlow, England, third edition, 2004. [15] R. Fithian, G. Iachello, J. Moghazy, Z. Pousman, and J. Stasko. The design and evaluation of a mobile locationaware handheld event planner. In MobileHCI 2003, pages 145–160, Udine, Italy, September 2003. Springer-Verlag. [16] E. Kaasinen. User needs for location-aware mobile services. Personal Ubiquitous Computing, 7:70–79, 2003. [17] S. W. Kim, S. H. Park, J. Lee, Y. K. Jin, H.-M. Park, A. Chung, S. Choi, and W. S. Choi. Sensible appliances: applying context-awareness to appliance design. Personal Ubiquitous Computing, 8(3-4):184–191, July 2004. [18] P. Klante, J. Krösche, and S. Boll. Accessights – a multimodal location-aware mobile tourist information system. In International Conference on Computers Helping People with Special Needs(ICCHP) 2004, pages 187–294, Paris, France, 2004. Springer-Verlag. [19] M. Korkea-aho. Context-aware application surveys. http://www.hut.fi/ mkorkeaa/doc/context-aware.html, 2000. [20] T. Koskela and K. Väänänen-Vainio-Mattila. Evolution towards smart home environments: empirical evaluation of three user interfaces. Personal Ubiquitous Computing, 8:234–240, 2004. [21] T. Koskela, K. Väänänen-Vainio-Mattila, and L. Lehti. Home is where your phone is: Usability evaluation of mobile phone ui for a smart home. In MobileHCI 2004, pages 74– 85, Glasgow, UK, September 2004. Springer-Verlag. [22] H. Lei, D. M. Sow, J. S. Davis, G. Banavar, and M. R. Ebling. The design and applications of a context service. SIGMOBILE Mobile Computing and Communications Review, 6(4):45-55, 2002. [23] N. Marmasse and C. Schmandt. Location-aware information delivery with commotion. In The Second International Symposium on Handheld and Ubiquitous Computing (HUC2000), pages 157–171, Bristol, UK, 2000. SpringerVerlag. [24] Microsoft. Microsoft direct. http://www.msndirect.com/what/faq.htm, 2004. [25] J. Preece, Y. Rogers, and H. Sharp. Interaction Design: Beyong Human-Computer Interation. John Wiley and Sons, New York, 2002. [26] B. N. Schilit, N. Adams, and R. Want. Context-aware computing applications. In IEEE Workshop on Mobile Computing Systems and Applications, pages 85-90, Santa Cruz, CA, US, 1994. IEEE. [27] S. Shafer, J. Krumm, B. Brumitt, B. Meyers, M. Czerwinski, and D. Robbins. The new easyliving project at microsoft research. In DARPA / NIST Smart Spaces Workshop, Gaithersburg, Maryland, 1998. [28] S. A. N. Shafer, B. Brumitt, and J. Cadiz. Interaction issues in context-aware intelligent environments. Human-Computer Interaction, 16:363–378, 2001. [29] B. Shneiderman and C. Plainsant. Designing the User Interface: Strategies for Effective Human-Computer Interaction. Addison-Wesley, San Francisco, USA. Fourth edition, 2005. [30] Y. Sumi, T. Etani, S. Felsyand, N. Simonetz, K. Kobayashix, and K. Mase. Cyberguide: A mobile context-aware tour guide. In Community Computing and Support Systems, pages 137–154, Kyoto, Japan, 1998. Springer-Verlag. [31] W3C. Platform for privacy preferences (p3p) project. http://www.w3.org/P3P/. [32] R. Want, A. Hopper, V. Falcão, and J. Gibbons. The active badge location system. ACM Transactions on Information Systems, 10(1):91–102, Jan. 1992. [33] R. Want, B. Schilit, N. Adams, R. Gold, K. Petersen, J. Ellis, D. Goldberg, and M. Weiser. The PARCTAB ubiquitous computing experiment. Technical Report CSL-95-1, Xerox Palo Alto Research Center, 1995. [34] R. Want, B. N. Schilit, N. I. Adams, R. Gold, K. Petersen, D. Goldberg, J. R. Ellis, and M. Weiser. An overview of the parctab ubiquitous computing experiment. IEEE Personal Communications, 2(6):28–43, December 1995. [35] M. Weiser. The computer for the 21th century. Mobile Computing and Communications Review, 3(3):94–104, 1991. [36] H. Yan and T. Selker. Context-aware office assistant. In International Conference on Intelligent User Interfaces, pages 276-279, New Orleans, LA, 2000. ACM Press.