Mobile devices, such as PDAs and mobile phones, present excellent
opportunities for directly targeting advertising at end-users. By utilising context through context-aware
system it should be possible to produce highly personalised advertising and
avoid bombarding users with large amounts of unsuitable, badly matched data.
This paper will discuss the areas associated with the development
of a context-aware system for pushing product advertisements to mobile devices
using contextual information to determine the most appropriate product from a
retailer’s catalogue. This review will discuss ubiquitous computing,
context-awareness, contextual data, location awareness, mobile advertising
systems, as well as looking at possible approaches and reviewing some existing
applications.
Mobile devices are by their very nature private and personal
devices. How many of us have received a text message only to be disappointed by
annoying service messages or unsolicited advertising? Context-aware systems present excellent opportunities for
directing highly targetable advertisements at end-users through these devices. This can be achieved by utilising
contextual information from these devices and by learning end-user preferences
and habits. Although, it is critical
for the acceptance of any such system that is does not feel intrusive, whilst
also putting considerations for security and privacy foremost. To address these problems this paper focuses
on the major challenges associated with developing context-aware systems for
mobile advertising.
We live in a digital age, surrounded by low-cost,
ever-increasingly powerful computing devices, which are becoming progressively
more integrated into our everyday lives.
These embedded devices are already in our cars, homes, workplaces,
refrigerators, and with the current technological trends it seems inevitable
that they will commonly become both wireless and mobile. Such a scenario of large numbers of embedded
and mobile devices, all invisibly communicating over an interconnected network,
is an ideal environment for ubiquitous computing.
Ubiquitous computing names the third wave in computing (figure 1),
just now beginning. First were mainframes, each shared by lots of people. Now
we are in the personal computing era, person and machine staring uneasily at
each other across the desktop. Next
comes ubiquitous computing, or the age of calm technology, when technology
recedes into the background of our lives.(Weiser, 1994)
Wesier first introduced ubiquitous computing as “the method of
enhancing computer use by making many computers available throughout the
physical environment, but making them effectively invisible to the user”
(Weiser, 1993). Abowd et al
extended this idea by saying “ubiquitous computing is the attempt to break away
from the traditional desktop interaction paradigm and move computational power
into the network and environment that surrounds the user”. (Abowd et al., 1998). Both Wesier and Abowd saw the potential in
this radical new approach to computing, heralding the idea of harnessing the
power of these devices, invisibly integrating them in order to enhance our
modern lives. Weiser, perfectly sums it
up by saying “It is invisible, everywhere, computing that does not live on a
personal device of any sort, but is in the woodwork everywhere” (Weiser, 1994)
Figure
1: The Three Ages of Computing (Weiser, 1996)
There
are many challenges which face developing truly ubiquitous systems, it will
require “much new work in operating systems, user interfaces, networks,
wireless, displays and many other related areas.” (Weiser, 1994) Central to ubiquitous computing are the key
concepts of concurrency and parallelism, so from a developmental point of view
existing methodologies are not suitable for ubiquitous systems, a view backed
up by Borah, who highlights that “existing middleware for client server
computing such as .NET, J2EE and CoBrA were not designed for ubiquitous
computing”. (Borah, 2005) A
developmental platform is required where these concepts are intrinsic and not
bolted on to an existing solution.
One
such approach is the Indus platform (Borah, 2005), first conceptualised back in
2002, it is an attempt to embrace object-orientation principles and extend them
to ubiquitous systems. Indus is a
software agent platform, designed specifically for ubiquitous computing, it
comprises of a programming language, libraries and containers or run time
environments for cross platform distribution.
Indus targets specific ubiquitous application groups; these include
Intelligent Transport Systems, Supply Chain Management, Personal Area Networking
and Control & Automation.
The
Indus programming language extends the Java platform (Java API, 2002),
introducing new concepts for context, and ports, as well as replacing the Java
Interface type with two new interface types called Agent and Component,
therefore every Indus class is either an Agent or a Component.
·
An agent in Indus represents a role, additionally an agent
can have several methods. Each method
represents a task that can be implemented by an actor representing that role.
·
Components are re-usable program building blocks, that
implement static functionality of a system and compose other components.
In
Indus, we can model any system as a set of concurrently executing agents. The Indus libraries include general purpose
services for self configuration, service discovery, security, intelligent
routing, transaction and policy management. Additionally, Indus compiles directly to native code on a number
of systems, making it highly deployable.
On enterprise platforms Indus compiles to Java byte code and runs using
the JVM, whilst on mobile platforms it compiles directly to C code and binary
executables.
Context
and Context Awareness
”The use of context is increasingly important in the fields of
mobile and ubiquitous computing, where the user’s context is rapidly changing.”
(Abowd et al., 1999)So what exactly is context? We can think of context
as the circumstances under which a device is being used, and its situational
information during events, or as summarised by Abowd et al, “ any
information that can be used to characterise the situation of an entity, where
an entity can be a person, place or physical or computational object.” (Abowd
& Dey, 2002)
Korkea-aho provides some useful examples (Korkea-aho, 2000) of
contextual data that can be utilised in a context-aware system, these include:
·
spatial information - e.g. location, orientation, speed and
acceleration
·
temporal information - e.g. time of day, date, day of week
·
environmental information e.g. temperature, weather conditions
·
activity - e .g. shopping, dining, walking, working.
·
social situations - e.g. people you are with or who is nearby.
·
personal information -
e.g. mood, blood pressure.
Abowd and Dey define context-awareness or context-aware computing
as “the use of context to provide task-relevant information and/or services to
a user.” (Abowd & Dey, 2002)
Schilit says “context-aware computing devices react to their changing
environment in an intelligent way so as to enhance the computing environment of
the user.” (Schillit et al, 1994) It is
the goal of any context-aware system to be able to interpret low-level
contextual data and make assumptions about the user’s current situation.
A system can be thought of as context-aware if it can extract,
interpret and use contextual information and adapt its functionality according
to the current context of use (Pascoe 1997).
Abowd et al (2000) and Troung et al (2001) identified the following
questions, known as the five W’s, which any context-aware system needs to
address: Who is using the system? What is he/she doing? Where is he/she
located? When does the interaction take place?
Why is the user doing that specific action?
Pascoe identifies that “the main challenge for any context-aware
system lies in the complexity of capturing, representing and processing this
contextual data.” (Pascoe, 1997) Although this looks at context-aware systems
primarily from a technical stance, a view supported by (Kaasinen, 2002). In fact many context-aware projects cite
more human factors, like privacy concerns (Hong 2004)(Kourouthanasis,
2002)(Newman et al., 1991) or simply the rejection of a system that
feels intrusive (Want et al., 1995), as the key concerns for the success
of a CA system.
Another issue often associated with contextual data is dealing
with range values, this is primarily because “context-aware queries rarely
revolve around exact values” (Picco et al., 2005). Picco et al go further to identify
that in context-aware systems queries are often “formulated over value ranges,
and there is a need to deal with imprecise information coming from many
sources”. For example, a system could
represent an individual as aged 18 to 30 instead of their exact ages. Conventional programming languages only
provide facilities for exact matching, a more adaptive approach is required in
order to support data aggregation.
LighTS (Picco et al., 2005), is a lightweight Java API,
which uses a tuple space model inspired by Linda (Gelernter, 1985), to
provide a solution to this problem for context-aware applications. It provides emphasis on supporting range
values and uncertainty in context-aware applications, by providing methods for
specifying upper and lower bounds of range values for matching and using fuzzy
logic techniques for dealing with uncertainty in data.
Context-aware systems offer entirely new opportunities for
application developers and for end-users by gathering context data and adapting
systems behaviour accordingly (Baldauf et al, 2005) Some example of early
context-aware systems included the Active Badge (Want et al., 1992),
Xerox PARCTab (Want et al., 1995) and PEPYS (Newman et al., 1991)
projects, all are examples of office based, mobile, location-aware,
applications.
The Active Badge project stemmed from Olivetti research
laboratories in the early 1990's, it was an automated system for forwarding
calls directly to employees, depending on their current location in the
workplace. Each employee carried
around a small personalised device, (the Active Badge) which using a
transmitted IR-signal uniquely identified the carrier, the system could then
track individual employee movements throughout the day and determine the
closest available phone at any time.
The
Xerox ParcTab centred on small wireless palm-sized hand held computers which
where designed to host an office based application. The system provided a number of applications, not all of them
context aware. Early attempts at
context-aware applications like locating local resources or personnel, and
obtaining room information, where merged with more conventional experiments
with mobile office applications such as e-mail, calendar information or even
weather forecasts.
A significant challenge for context-aware systems lies in how we
represent and process contextual data, this difficulty in dealing with low
level data that drives context-based systems is a key factor in the relatively
slow emergence of context-aware applications,
a point emphasised by Pascoe, who stated that there is a “lack of a
supporting infrastructure for capturing and processing context data, so
hampering development of context-aware systems”. (Pascoe, 1997) So how do we represent contextual data?
With conventional development paradigms programmers use rigid
structure and definite processes to control data, contextual data though is
altogether more vague. This inherent
uncertainty in contextual data, compared with a developer’s need to define
static structure and rules, mean that we run the risk of compromising the
contextual data itself by attempting to fit it into conventional developmental
practises. Abowd sums this up by
staying that “without good representations for context, application developers
are left to develop ad-hoc and limited schemes for storing and manipulating key
information” (Abowd, 1999). Therefore
a wholly new novel approach is required for context-aware applications, an
example of some of these frameworks include:
The Stick-e note architecture (Brown, 1996) (Pascoe, 1997) is a
flexible, extensible, framework for handling context and related events,
focusing on using context to trigger context related behaviours. Stick-e notes introduces the concept of
attaching objects to contexts, much like Post-It™ notes, the idea
being that when a user enters such a context the object will be invoked. Each of these stick-e note objects is a link
between a context (e.g. a place, person, time) and its content (e.g. information,
action), along with triggering information.
This triggering information defines the conditions under which the
content should be invoked, for example we could attach a “go home message”, if
the time is after 5pm.
The Context Toolkit (Dey, 2002) is a framework for a distributed
system composed of context widgets. Context widgets, much like the idea of
objects in object orientated approaches, are software components that provide
functions for accessing contextual information, whilst hiding the complexity of
context sensing. The toolkit
provides services for encapsulation of sensors, access to context data
through a network API, abstraction of context data, sharing of context data
through a distributed infrastructure, storage of context data and privacy
protection
CoBrA
(Context Broker Architecture) (Chen, 2004) is an agent-based architecture which
introduces the notion of intelligent spaces for supporting context-aware
computing. Intelligent spaces are
physical spaces (e.g., kitchens, cars, work office and meeting rooms) that
contain intelligent systems that provide services to end-users. Pivotal to CoBrA is the idea of a context
broker that centrally manages the agents.
Agents can be either applications hosted on mobile devices or services
provided by devices within rooms.
Location
Awareness
The Xerox PARCTab and Active Badge projects are, like the majority
of existing context-aware systems, examples of location-aware applications,
that is they primarily use locational information in determining what services
to provide the user. This is due to the
fact that “the location of a device is an element of context that currently can
be easily measured.” (Kassinen, 2003)
Kassinen also identifies that there is a significant “user need for
location-aware services.” (Kassinen, 2003) Context-aware systems dealing with
locational information are widespread and the demand for them is growing due to
the increasing spread of mobile devices (Baludauf et al, 2005) There are
examples of location-aware systems in application areas such as GPS based
navigation, tourist guidance (Berderson, 1995), supply-chain management
(Kourouthanasis, 2002), and office tracking systems (Want et al., 1992)
(Want et al., 1995).
As discussed earlier, one of the key challenges for a context-aware
system is capturing contextual data (Pascoe, 1997) and for a location-aware
system this involves the physical process of locating the device. There are a number of technologies available
for collecting this positional data, the most significant for mobile devices
include:
GPS
GPS (Global Positioning System) is a
satellite navigation system, which can very precisely determine the position of
a device, almost anywhere on the planet.
The system is accurate to within 20 meters, although it is possible to
greatly increase this precision through error-correction and differential GPS
techniques. GPS devices do not work
indoors or in some urban regions.
Common examples of GPS driven devices technology include car or vehicle
tracking systems, although GPS technology is more commonly integrated into
modern mobile phones and PDAs.
Bluetooth™ is an international standard,
which allows for wireless communication between enabled devices over a short
range radio frequency. Bluetooth™ technology
is both low cost and globally available, and is becoming increasingly common in
small devices such as mobile phones and PDAs.
It has a range of between 1 –100 meters, depending on the class of the
device. Detecting Bluetooth™ devices
requires specific hardware, and the location of a device is only available when
the device is within range of the service area. There are also some concerns over privacy, blue jacking and bluesnarfing, respectively
spamming and hacking discoverable devices, are examples of technology specific
problems.
WLAN (Wireless Local Area Network) was introduced as a wireless alternative to LAN, a method of networking
devices. Although, originally prohibitively expensive, reducing costs, as well
as the introduction of the IEEE 802.11a and g standards, has meant that many
devices including laptops, printers, and PDAs now come with wireless
capabilities as standard. A significant
problem associated with WLAN is security, although this issue has been somewhat
lessened since the introduction of encryption techniques WEP and WPA, and
router based security measures such as MAC address screening. Like Bluetooth, WLAN requires specific
hardware to locate devices, and the device is only available whilst in service
range.
Mobile computing has been one of the
largest computing related growth industries over the last decade, (Government
Statistics, 2003) UK government statistics estimated that in 2003 73% of the
adult population own or use a mobile phone.
Mobile devices have saturated our everyday lives, placing small,
powerful, programmable, computing devices into our pockets; ideal conditions
for the first stages of ubiquitous computing. It is this integration that drives the need for context-aware
systems specifically designed for mobile environments, which provide programs
and services that react specifically to their current location, time and other
environmental attributes. (Baldauf et al, 2005)
This
highlights a need for context-aware applications for mobile devices, although
existing frameworks are not specialised enough to support large scale mobile
systems properly. Context-aware systems for mobile devices require more
specialised architecture than conventional approaches. Mobile devices are continually moving and
are not permanently connected to a network.
This discontinuity of service has to be taken into account when
designing architecture for mobile devices. (Tandler, 2001) Hofer et al say that
Context-Awareness is especially interesting in mobile devices where the context
of the application is highly dynamic (Hofer et al., 2005) Mobile devices are heterogeneous, so resolution,
memory, computational power and network capacity all vary from device to device
so specific considerations are required. (Hofer et al., 2003)
Hofer
et al went further in identifying a number of requirements necessary for
supporting context-awareness on mobile devices, these being:
(Hofer et al.,
2003)
B-MAD (Bluetooth Mobile Advertising) was
introduced as a “system for delivering permission-based location-aware mobile
advertisements to mobile phones, using Bluetooth™ positioning and
WAP push delivery”. (Aalto et al, 2004)
The system uses a Bluetooth sensor to pro-actively search for nearby
enabled devices. Once located it
obtains the devices unique address and passes this to an Ad Server. The Ad server, a PHP and MySQL platform,
creates an advertisement in either XHTML or WML (Wireless Mark-up Language)
depending on the capabilities of the device.
Using a Push Sender the advertisement is then pushed back to the mobile
device.
Consider the following scenario, “Bob is
shopping in a small mall with his Bluetooth enabled mobile phone, invisible to
Bob his phone has been located by the application server and a shopping profile
(containing relevant shopping related contextual data only) has been
exchanged. Using this contextual data
the system quickly matches Bob's details against the retailer’s product
database and attempts to push an advertisement to his mobile device. Bob, a keen walker, receives the
advertisement in the form of a WML message, offering him 10% off a pair of
walking boots in his size.” This is a
somewhat simplistic example, but it does highlight the distinct potential for
context-aware mobile based advertising.
Due
to the personal nature of mobile devices, pushing badly matched or unwanted
information onto users is undesirable. (Aalto et al.,
2002)(Kassinen,
2003) Aalto et al identified the importance of
directly “targeting the advertisements, so the user is not drowned in adverts” (Aalto
et al., 2002) and Kassinen indicates that most users
don't mind being pushed information, as long as they really need it. Although, this is a somewhat vague notion, as
what factors determine whether a user really needs a specific piece of
information?
Aalto
et al identified that the AD Server itself “has limited profiling
capabilities”, and that there is a perceived need for profiling, so that “the
user is not drowned in adverts”. This
highlights the necessity for a more adaptive approach to more closely matching consumers
with products.
Personalisation
Aalto
et al identified that there is a need for personalisation of content,
whilst talking about pushing advertisements to mobile devices. We extend this idea to embrace the concept
of using contextual data obtained from a mobile device and using this to
produce a completely personalised match.
Effective personalisation would allow us to market products directly at
an individual, as opposed to targeting a demographic.
We can look at personalisation as both the
desire to more closely match customer details against product details and the
ability to allow users to determine their preferences, i.e. we would like more
of this type of product or no more of this type of product. An ideal situation would be to present a
solution that provides a combination of these approaches, using contextual data
to make an intuitive and learned best guess, whilst allowing users to indicate
their feelings about the match and adapting accordingly. Lee et al introduced a system that learns
user preferences through a user agent, and then uses a matching agent to
closely match users to available services/events. (Lee et al., 2004)
In
order to personalise services, we need to assume that device users rarely
change, a point raised by Hofer et al.
(Hofer et al., 2003) A scenario with regular changing users would
drastically reduce the effectiveness of any personalisation.
Efficient
Matching
Context-aware
systems are by their very nature adaptive and because we cannot guarantee continuity
of service (Tandler, 2001), as users are permanently
moving in and out of service areas, this places considerable time constraints
on the services provided by the system.
Aalto et al identified that on average it took 37 seconds (for
positioning and push latency) to push an advert to a mobile device using
Bluetooth. (Aalto et al, 2002)
As to whether this overhead was due to inefficiencies in the position
mechanism or limitations in Bluetooth™ itself was not apparent,
yet the implications clearly indicate that for mobile advertising systems to be
viable, this overhead would need to be significantly reduced. However, with future developments it is
likely that this time will significantly decrease, but it highlights that the
decision process itself needs to be kept to an absolute minimum. The challenge here lies in producing high
quality matches, which users will perceive as required or suitable, in a small
amount of time.
Traditional matching algorithms are not wholly suitable to context-aware systems because contextual data is not always tractable, certain or easily matchable.
Varshney et al suggested that mobile advertising is going
to be a very important class of mobile commerce (Varshney et al 2002),
but because of the personal nature of mobile devices there is broad scope for
abuse. Using local connection
technologies like Bluetooth or WLAN would provide a cost-free mechanism for
pushing advertisements to end-users, this raises the issue of dealing with
unsolicited advertisements or unwanted services, much like spam with
e-mail. Mobile phone spam, in the form
of unsolicited txt messages, has already reached epidemic proportions with 8
out of 10 mobile phones users reporting unsolicited messages (Jaques,
2005).
The key question here is how do we prevent unsolicited
advertisements or unwanted services without interfering with legitimate ones or
indirectly restricting the natural data flow of mobile context-aware
systems.
The B-MAD system (Aalto et al., 2002) side steps the issue by stating that its framework
focuses solely on permission-based advertising, therefore ruling out
unsolicited advertising (i.e. spamming).
Sadly, no mechanism for supporting such a permission based system was
presented. Alternatively, it would be
possible to consider other approaches derived from conventional spam prevention
techniques, such as Bayesian filtering or service blocking techniques. A more likely possibility is to use contextual
data to filter or restrict pushed advertisements based upon personal
preferences and end-user habits. For
example, we could define rules to only accept pushed adverts from shops that
the end-user has purchased items from in the last year.
Context can contain data that is sensitive, such as
a user’s current location or current activity, so it is important to include
some mechanisms for privacy. A view
supported by Kourouthanasis et al says that “as
context-aware system offer increased personalisation, privacy concerns for the
capture and processing of context information is required.” (Kourouthanasis et
al., 2002) Hong & Landay, go as far
as saying that privacy is the most often-cited criticism of ubiquitous
computing, and may be the greatest barrier to its long term success. (Hong
& Landay, 2004) This point may seem
alarmist, but end users ultimately reject applications they
are uncomfortable using or find intrusive. (Hong & Landay, 2004) Because of the sharing nature of ubiquitous systems,
we need to ensure that privacy and security concerns are balanced against the
sharing nature or ubiquitous systems. Much
previous work on privacy tended to focus on providing anonymity or on keeping
personal information secret from hackers or unwanted sources.” (Hong,
2004) Therefore, it is essential that
privacy concerns are included at every stage of development of context-aware
applications, and “not done in an ad hoc manner or as an after thought.” (Hong
& Landay, 2004) This being is a major criticism of the B-MAD (Aalto et
al., 2002) system, which by admission has little or no consideration for
privacy.
Existing
systems for sharing contextual data such as Bluetooth™ and WLAN have previously
had security concerns, but because of the surge in popularity of these
technologies, emphasis has been placed on bolstering any security flaws,
resulting in effective secure solutions.
A number of existing context-aware
frameworks incorporate facilities for privacy, the Context Toolkit ()
introduces the concept of context ownership and CoBrA (Chen, 2004) has its own
specific privacy policy language called Rei (Kagal et al., 2003). Alternatively, Confab (Hong & Landay,
2004) is an infrastructure aimed at simplifying the task of creating
privacy-sensitive context-aware applications; it does this by addressing five
important common features that need to be supported.
Ubiquitous computing has enormous
potential for changing the way we think about computing, although the field is
still very much in its infancy. This is
due to a couple of reasons, firstly, creating ubiquitous environments was
expensive, most early work in ubiquitous computing originated from experimental
in-house systems where large companies could foot the bill for creating a
suitable environment. Secondly,
traditional developmental frameworks are not designed for ubiquitous
computing’s reliance on concurrency and parallelism; there was also a distinct
lack of any supporting infrastructure.
Although the sudden growth in popularity and availability of mobile
devices has presented ideal conditions for ubiquitous computing and the
emergence of projects like Indus presents a significant leap forward, the area
is still very much embryonic.
Ubiquitous computing though is here to stay
Context-aware applications offer a wealth
of potential, and it will not be long before we start seeing a significant
uptake in interest. When personal computers
where introduced in the early 80's they radically
altered our view of computing, giving rise to "desktop" computing,
technological and user expectations changed, old dominant companies who didn't
adapt quickly lost ground, new dominant companies appeared, computing
fundamentally changed. As Weiser
pointed out, “we still require much new work in operating systems, user interfaces, networks,
wireless, displays and many other related areas.” (Weiser, 1994) This signifies some idea of the size of
the challenge in hand. Ubiquitous
computing though is likely to be an altogether quieter revolution.
The majority of early work on ubiquitous
computing focused on context-aware applications, such as the Parctab and Active
Badge projects, where the focus was not on producing commercially viable
products. Whilst technically successful
these projects where greeted with scepticism by employees, some where concerned
over privacy, and others felt that the system was intrusive or that logged data
would be misused. Highlighting that one
of the biggest factors in a context-aware system is not necessarily the
technical challenge but getting the end-user to accept the system.
Context-aware systems have as yet been
limited to applications, which primarily use time or location as contextual
information and most examples are experimental and non-commercial
products. The success of GPS based
systems though has proved that context-aware applications can be commercially
viable products, although this success has only been possible because of the
US’s decision to freely allow access to GPS technology and resources. Context-aware systems are unlikely to become
widespread until adequate standardised methods of handling contextual data are
commonplace. An illustration of this
difficulty with handling contextual data being, how do we handle levels of
abstraction in context-based systems.
For example, take the simple question, “Where do I live?” This could provide numerous results, 16
Monks Road, Exeter, Devon, England, UK or Earth. Each of these answers is correct but usefulness depends on the
context of the question.
In terms of locating mobile devices the maturity of Bluetooth and WLAN
technologies has presented ideal cheap, secure, globally available, mechanisms
for local communication between devices.
Context-Aware applications for mobile
devices present probably the biggest commercial opportunity of any ubiquitous
systems, again technologies are in there infancy but it is unlikely that this
key market will be ignored for long.
Novel approach, like the B_MAD system (Aalto et al., 2002) have enormous potential but still have many hurdles (both
technical and personal) to overcome in order to produce successful viable
commercial solutions. As well as facing significant technical challenges,
application developers face having to place a larger emphasis on more human
factors. Marketing and advertisers are
likely to have already seen the potential that mobile devices offer, at present
advertisers focus their campaigns on particular demographics, but context-aware
applications would allow them to directly target individuals.
For mobile-based context-aware systems to
be accepted by the general public it is imperative that proper privacy and
security measures are deemed to be in place, consumer confidence is key.
End-users are already fearful of “big brother” scenarios, this was evident from
projects like Active Badge, where the majority of problems where not technical
but getting end-users to accept such systems. Products that seem intrusive or feel unsafe will be rejected;
ultimately it is users who will shape the future.
Aalto, L., Gothlin, N., Korhonen, J.,
Ojala, T., Bluetooth and WAP push based location-aware mobile advertising
system, MobiSys '04: In Proceedings
of the 2nd international conference on Mobile systems, applications, and
services, ACM Press, 2004, pp. 49-58.
Abowd., G. D., Dey, A., K., Wood, A.,
Applying Dynamic Integration as a Software Infrastructure for Context-Aware
Computing, ICSE, 1998
Abowd., G. D., Dey, A., K., Toward a
Better Understanding of Context and Context-Awareness, GVU Technical Report,
1999.
Abowd, G., Mynatt, E., Ubiquitous
Computing: Past, Present and Future, ACM Transactions on Computer-Human
Interaction, 2000, pp. 29-58
Abowd, G. D., Mynatt, E. D., Rodden, T.,
The Human Experience, Pervasive Computing, 2002, Vol. 1, pp. 48 -57.
Adult
mobile phone ownership or use: by age, 2001 and 2003: Social Trends 34, 2003,
National Statistics Online, viewed 14th December 2005,
<http://www.statistics.gov.uk/STATBASE/ssdataset.asp?vlnk=7202>
Baldauf, M., Dustar, S., Rosenberg, F., A
Survey of Context-Aware Systems, International Journal of Ad Hoc and
Ubiquitous Computing, 2005, forthcoming, <www.citeseer.ist.psu.edu/baldauf04survey.html>
Baudel, T., Beaudouin-Lafon, M., Charade:
Remote Control of Objects Using Free-hand gestures, Communications of ACM,
July 1993, Vol. 36, No 7, pp. 28-35
Bederson, B., Augmented Reality: A
prototype Automated Tour Guide, In Proceedings of ACM CHI’95, 1995, Vol.
2, pp. 210-211.
Borah, K., INDUS: A New Platform for
Ubiquitous Computing, viewed 29th November 2005, <http://www.acm.org/ubiquity/views/v6i36_borah.html>
Brown,
P., J., The Stick-e document: A framework for creating context-aware
applications, In Proceedings of the Electronic Publishing, Palo Alto,
1996, pp. 259-272.
Chen, H., An Intelligent Broker Architecture
for Pervasive Context-Aware Systems, 2004, PHD thesis, University of Maryland,
Baltimore County
Dey,
A., The Context Toolkit – a toolkit for context-aware applications, 2001,
viewed 2nd December 2005, <http://www.cc.gatech.edu/fce/contexttoolkit/>
Dey, A., Abowd, G., A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications, Human-Computer Interaction (HCI) Journal, 2001, Vol. 16, pp. 97-166.
Gelernter, D., Generative Communication in
Linda, ACM Computing Surveys, 1985, Vol. 7, no. 1, pp. 80-112.
Global Positioning Devices, Wikipedia,
viewed 15th November 2005, <http://en.wikipedia.org/wiki/Gps>.
Hofer, T., Schwinger, W., Pichler, M.,
Leonhartsberger, G., Altmann, J., Context-awareness on mobile devices – the
hydrogen approach, In Proceedings of the 36th Annual Hawaii
International Conference on System Sciences, 2002, pp. 292-302.
Hong, J., Landay, J., An Architecture for
Privacy-Sensitive Ubiquitous Computing, MobiSys '04: Proceedings of the 2nd
international conference on Mobile systems, applications, and Services, ACM
Press, 2004, pp. 177-189.
Indus platform Developer, Aumeganetworks,
2005, viewed 10 December 2005, <http://developer.aumeganetworks.com/>.
Jaques,
R., Spam plague hits 80 per cent of mobiles, www.computing.co.uk, 2005, viewed
29th December 2005, <http://www.computing.co.uk/vnunet/news/2126701/spam-plague-hits-80-per-cent-mobiles>
Java API, java.sun.com, viewed 17th
November 2005, <http://java.sun.com/j2se/1.4.2/docs/api/index.html>
Kagal, L., Finin, T., Joshi, A., A policy
language for a pervasive computing environment, In Proceedings of the 4th
IEEE International Workshop on Policies for Distributed Systems and Networks
(POLICY), 2004, pp. 63-74.
Kassinen, E., User needs for Location-Aware
Mobile Services, Personal and Ubiquitous Computing, 2003, Vol. 7, no.1, pp.
70-79.
Korkea-aho, M., Context-Aware Applications
Survey, Internetworking Seminar (Tik-110.551), Helsinki University of
Technology, 2000.
Kourouthanasis, P., Spinellis, D., Roussos, G., Giaglis, G., Intelligent cokes
and diapers: MyGrocer Ubiquitous Computing Environment, First International
Mobile Business Conference, July 2002, pp. 150-172.
Lee, G., Naganuma, T., Kurakake, S, Efficient Matching in a
Context-Aware Event Notification System for Mobile Users, Massachusetts
Institute of Technology, 2004, viewed 16 November 2005,
<http://people.csail.mit.edu/gjl/research/publications/lee05efficient.pdf>
Newman, W., Eldridge, M., Lamming, M.,
PEPYS: Generating Autobiographies by Automatic Tracking, ECSCW '91,
September 1991, pp. 175-188.
Picco, G. P., Balzarotte, D., Costa, P.,
LighTs: A Lightweight, Customizable Tuple Space Supporting Context-Aware
Applications, SAC, 2005, pp. 413-419.
Pascoe,
J., The Stick-e Note Architecture: extending the Interface Beyond the User, International
Conference on Intelligent User Interface, 1997, ACM. pp. 261-264.
Scilit,
B., Adams, N., Want, R., Context-Aware Computing Applications, IEEE Workshop
on Mobile Computing Systems and Applications, 1994, pp. 88-90.
Tandler,
P., Software Infrastructure for Ubiquitous Computing Environments: Supporting
Synchronous Collaboration with Heterogeneous Devices, In Proceedings of
UBICOMP2001, 2001, pp. 96-115.
Troung,
K., Abowd, G., Botherton, J., Who, What, When, Where, How: Design Issues of
Capture & Access Applications, In the Proceedings of UBICOMP 2001, 2001, pp.
209-224.
Varshney,
U., Vetter, R., Mobile Commerce: Framework, Applications and Networking
Support, Mobile Networks and Applications, 2002, Vol. 7, no. 3, pp.
185-198.
Want,
R., Hopper, A., Falcao, V., Gibbons, J., The Active Badge Location System, ACM
Transactions on Information Systems, 1992, Vol. 10, No 1, pp 91 – 102.
Want,
R, Schilit, B., Adams, N., Gold, R., Petersen, K., Goldberg, D., Ellis, J.,
Weiser, M., The PARCTAB Ubiquitous Computing Experiment, IEEE Personal
Communications, 1995, Vol. 2, no. 6, pp. 28-33.
Weiser,
M., The Computer for the 21st Century, Scientific American,
1991, pp. 94-10.
Weiser,
M., Some Computer Science Problems in Ubiquitous Computing, Communications
of the ACM, July 1993, pp. 137-143.
Weiser,
M., The World Is Not a Desktop, ACM Interactions, Jan 1994, Vol. 1, no.
1, pp. 7 – 8.