Proceedings Template

advertisement
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.
Download