Sun and Oracle Community Voices How to Buy Log In United States [Change] English

»  Spotlight Articles
»  Projects
»  Publications
»  People
»  Awards
»  Events
»  Downloads
»  Internships
»  Contrarian Minds
»  About Sun Labs

Awarenex:
Awareness and Communication for Mobile Users

The aim of the system code-named Awarenex is to help members of distributed work groups stay in close contact with each other, even when they are mobile. The interface helps users answer the question "What is the best way to make contact right now?" To make that contact, Awarenex provides an integrated interface to communication resources (instant messaging, telephony, e-mail, and on-line calendar browsing) to help establish contact.

The Awarenex user interface is tailored for each client device (desktop computer, wireless Palm, RIM Blackberry, telephone) while providing the same core functionality on each platform. The desktop client is designed to be left open on the desktop for continual monitoring. The handheld clients are designed for mobile operation where users only periodically glance at the interface. And the speech interface enables occassional access from any telephone. The main components in the Awarenex graphical clients are:

  • Contact List: a selected list of colleagues for which awareness information is provided and through which you can easily establish contact with them.
  • Contact Locator: upon selecting a particular colleague, more detailed communication activity information and access to communication resources are presented.
  • Communication Resources: interfaces to use instant messaging, e-mail, telephone, and calendar.

Contact List

The Contact List displays selected colleagues, their locale, and their awareness information. The Contact List tries to address the question of whether people are available for communication. In the images below showing the Contact List displayed on a desktop computer, Palm Pilot, and RIM Blackberry device, activity icons show if the user is currently engaged in any communication activities.

Awarenex Context List on the desktop      Awarenex Context List on the Palm      Awarenex Context List on the RIM

For example, the icon with the lightening bolt indicates a user is actively engaged in an instant message conversation. A telephone icon indicates that the person is currently talking on the telephone. A clock icon denotes a current calendar appointment. If a user is not actively using any device, an indication of how long since the most recent activity is given in parentheses (e.g., computer idle time or when a cell phone was last used).

Contact Locator

Selecting an entry in the Contact List brings up the Contact Locator, which provides more detailed awareness information and presents options for contacting that person.

Awarenex Locator for the desktop      Awarenex Locator on the RIM

For example, the display shows the text of the person's next calendar appointment and their idle or logged out time on all of their devices. A locale name is highlighted in green or bolded to indicate Awarenex's best guess about how to contact someone. All options are available, however, allowing the user to make the final judgement.

Communication Resources

From the Contact Locator, users can select which kind of communication to initiate. In some cases, the device being used can handle the communication directly. For example, it's possible to send an e-mail or instant message from a Palm. To place a call from a Palm, the Palm sends your phone number and the number of the person you wish to call to the Awarenex server, which will then ring your phone and make the connection with the other person.

Speech Access from the Telephone

A speech interface provides the Awarenex capabilities to users calling in over the phone without any handheld device. For example, if a user calls your phone and you do not pick up, she could identify herself as an Awarenex user and go through the following dialog:

    Awarenex: Tom is not answering. Would you like to leave a voice-mail, send a page, or check his status?
    Caller: Check his status.
    Awarenex: Tom has an appointment all day that says `working at home.' He is currently active on his home computer. What next?
    Caller: Call him at home.
    Awarenex: Calling Tom at home...

Awarenex would then transfer the call. Without a display, Awarenex does not provide all the awareness information about a user, but can provide the most relevant information to suggest the best alternative to making contact with the intended recipient. The awareness information can also be used to automatically route calls, if the user so chooses.

Awarenex Implementation

Awarenex is a centralized system consisting of a set of device-dependent clients and two main server components. For handheld devices, we used the Palm Vx connected to a Novatel Minstrel wireless modem using OmniSky service and the RIM Blackberry 957 using the Mobitex pager network. The main server components are the Awarenex server and the telephone Dialer server.

The Awarenex server receives activity and communication information from the clients and from the Dialer server, and propagates those changes to appropriate clients. The Dialer server consists of a multi-line telephone switch and is responsible for placing calls between Awarenex users and providing a speech interface to the Awarenex service. When a user places a telephone call through Awarenex, the Awarenex server connects to the Dialer server which places the call and tracks the status (e.g., busy, answer, hang-up) of both parties of the call. The Awarenex server propagates each party's status as activity information for that person. The Dialer server also acts as a client of the Awarenex server, providing a speech interface to users who call into the Dialer server.

Awarenex architecture diagram

Two additional server-side components are used to communicate with the wireless handheld clients. A proxy to the Awarenex server resides outside our firewall and is connected to our internal server via an encrypted tunnel. The Palm client connects directly to this server proxy using a TCP/IP connection. The second additional server-side component is a transcoder that translates messages between the server proxy and the Mobitex pager network gateway (used by the RIM Blackberry).

All the server components are written in the JavaTM programming language. The RIM and Palm clients are written in C++. The components communicate using an ASCII message protocol. The protocol and distribution architecture are designed to support scalability through the use of multiple Awarenex servers.

Project Status

The Awarenex prototype demonstrates:

  • Providing interfaces on multiple platforms for interacting with a centralized resource of dynamically changing awareness information
  • Coordinating actions among different devices operating on independent networks
  • Integrating telephony with other communication resources and providing awareness of telephony activity
At this point we are field testing the desktop client on both PC and UNIX platforms. In addition, we have working prototypes of the Palm and RIM clients as well as the speech interface.

For more information about Awarenex, refer to: