CyLab Home   

Mobility Research Center

related projects

Research links

dividing line

mobile phone to mobile companion

Intrinsically Mobile, Context-Aware Applications for a Mobile Companion

We think it is time to move from the mobile phone to the mobile companion.

Powerful mobile appliances such as smart phones, PDAs, Internet tablets, and personal or in-vehicle transportation guides offer greatly improved access to communication and “conventional” Internet services, integrating email, web access and messaging, and using voice and gesture to compensate for the limited mobile-device interfaces and situational constraints. Even more exciting are the emerging proactive, intrinsically mobile applications that take full advantage of the fact that the devices are mobile and personal, and move with the user during most of their day.

These context-aware mobile companions can know where you are, where you have been and where you are going; they can know where your friends are, and what kind of food you like; they can actively find a preferred place to eat and coordinate with colleagues; they can select and customize useful advertisements, and recommend appropriate purchases and activities; they can filter messages to ensure that the right messages are delivered at the right time and place. They are powered by applications that proactively use context such as location, motion, history and identity, nearby family, friends and colleagues, and task and intent to provide guidance, recommendations, and to act on your behalf to enhance your many life, work and play activities.

It can help you when you are mobile, or enable you to be more mobile. It can support your many life, work and play activities while you are mobile, using context and awareness of your tasks and situations to provide access to information and services relevant to your need As a transportation, tour or travel assistant, it can help to be more effectively mobile, finding places, arranging alternate transportation, etc. If you have some kinds of disabilities, it can provide you the extra support you need to move about effectively and deal with daily tasks.

The Role of Context

Enabling these intelligent and proactive applications is effective use of context. Context-aware applications leverage a user’s context of use to improve a user’s experience. A common example is a mobile tour guide, where information is proactively provided about the tourist site the user is at, providing the right information at the right time.

Context is particularly important and useful in the dynamic mobile environment. Context-aware systems most often sense and use context information implicitly and proactively on a user’s behalf.The benefit is that a user does not have to explicitly provide information about who they are or where they are located or what they are doing, but this information can be used on their behalf, nonetheless.

Example: Recommendation Engine
A useful context-aware capability augmenting a meeting arranger or tour guide is a recommendation engine that uses context (including location, nearby friends) to propose a restaurant meeting a number of parameters (e.g. type, price, proximity), incorporating individual and joint recommendations and preferences from friends; if accepted, it can try to make an online reservation, taking in to account travel time to get there, or get some indication of the wait time for a walk in reservation. For example, an appropriately equipped cell-phone and cloud-based travel service could look at selected information from your emails, IMs and contact list to recommend things to see and do that you and your friends might enjoy. Furthermore, you might opt-in to receive carefully targeted advertisements and e-coupons from nearby restaurants and attractions that would appeal to you and your group. This kind of service might be best used by teenagers and young adults, and might couple well to their different usage of phones and social networks.

Example: Call Monitor and Responder
Consider calling someone who moves around a lot. Despite one’s best attempts to keep track of their locations, it is fairly common to call them, only to discover the time zone is wrong, and you have woken them up. Of course they could turn off their phones, but that is not satisfactory for urgent or emergency calls. Instead, it would be much more effective if they could set a context or status (“at home”, “in bed”, “in Phoenix”, “do not disturb”) on their phones, just as they do with their IM or Skype sessions. When a call is placed, the caller might get an indication of the status, or perhaps even location, depending on the degree of access granted by the recipient, and the offer to place the call or defer it. Even more useful would be if some application on the phone could set the context automatically, based on location, time and user preferences. Perhaps it would ask the owner to select a context descriptor if an ambiguous change is detected. Finally, the application on the phone (or in the supporting cloud service) could dynamically evaluate the request to accept the call based on context, urgency and preferences, and automatically route the call to the phone, to SMS or to voice mail, as appropriate.

Example: The Right Information at the Right Time
Consider context-aware aware support for a mobile professional, who needs the right information delivered to them in the right way at the right time; based on context the information from sensors, websites, email and IM will be prioritized and filtered, and delivered to their mobile device when the mobile professional is in an appropriate context. For example, if the mobile professional is visiting manufacturing facilities, having items needing critical attention at that site should pop up. A useful metaphor is to have a “virtual yellow sticky” attached to a place (to a context), and have it “pop up” for attention when the time and situation is right. Note, if the person is driving, receiving an urgent SMS or sticky popup is not useful; at least the device could offer to read the urgent SMS or message.

Research and Implementation Challenges

A key component of such applications will be an effective and consistent representation of context, particularly when novel “mashup” applications must use a shared view of context. Ideally, context will be used via a set of libraries and platform services that can be used across the mobile device and the cloud of (ambient) sensors and services.

An appropriate context management scheme involves a variety of considerations such as abstraction and granularity, precision, coordination of distributed views, and privacy and security. There will be several basic types of context elements, and each will have multiple attributes and instantiations. Some context elements can be measured directly, while others must be derived from other elements, asserted by the user, or learned by repeated observation.

For example, the concept of location can be represented as longitude and latitude coordinates, and measured directly with GPS or cell-tower triangulation. From these coordinates and a map we can derive a street address, a neighborhood, or city. Given an appropriate personal database of “points of interest” and a definition of a “zone”, we can derive a more abstract location as “home”, “work”, or “local coffee shop”. Another context element might be “motion,” which could be measured directly for some purposes using accelerometers or derived for other purposes using for location and time. If we are in motion, the system might want to know our target location. In some cases we can assert it (e.g., by pressing a destination button on a an in-vehicle device); in other cases, we might be able to deduce a likely destination (e.g. going “home”) by using history, current location, motion (to deduce I am in the car), time of day, and information on my personal calendar. Finally, some representation of location are precise (longitude and latitude), while others are intrinsically fuzzy (“near home” might depend on whether I am walking or driving).

If a user is carrying a device most of the time, and committing considerable amounts of personal information to the device, security and privacy aspects of context management become increasingly important. Depending on who asks, my location may be revealed as “in the car” or “driving to the dentist”, “near home” or “corner of Waverley and Tennyson”. Parts of the context model need to be on the device to be used and updated by device-resident applications; other parts of the context model will need to be maintained by some cloud service, including a replication of device-resident context to protect against loss. If the device is lost, the context should then be unusable by an unauthorized person or application.

Research topics of interest include: context-awareness, location-awareness, sensors, mobile phones, agents, mobile-companion; several projects combine multiple topics, security.

Technologies include: Mobile Python and J2ME on phones; J2ME on sensor devices; Java and Ruby/Rails on servers; Jade software agents; Jess rules; WEKA machine learning, AJAX, locationing, vision, voice, web-services.