The 2WEAR project explores the concept of a system formed by combining several different wearable, portable, and infrastructural elements in an ad-hoc fashion via short-range radio communication. This approach changes the way one thinks about the computer; it now takes on various forms and exhibits different functionality, depending on the individual elements in proximity to each other. The system configuration, and ultimate application behavior, changes dynamically as the user employs different devices and digitally augmented artifacts or moves between different physical environments.
Software functionality is organized using the notion of a service type defined through a unique name, a set of properties, and a platform-neutral access protocol for remote communication over the (wireless) network. Devices host one or more service implementations, which client programs detect and access using the system’s discovery and communication mechanisms. This enables the development of adaptive applications that flexibly exploit available services. However, the programmer must be aware of, and explicitly handle, configuration changes that occur during execution. To simplify application programming, additional runtime mechanisms are needed that integrate the tasks of discovery, communication, and adaptation, in the form of versatile and transparent service abstractions. Along these lines we have investigated two important aspects of wearable and mobile systems: data management and user interaction.
Data management support is achieved by letting each device with storage capacity act as a file server. Client programs transparently access the collective file space of all servers in range via a front-end API. The data “context” of applications can thus be adjusted in a dynamic way as a function of nearby storage devices. Moreover, individual file servers can exchange data in an autonomous peer-to-peer fashion, according to user-defined data migration preferences. As an extension of this mechanism, automatic and incremental file backup to a remote server is performed whenever an Internet gateway service is found.
User interface programming is facilitated via a framework that defines abstract interaction objects. Each object can have several implementation styles that require different types and amounts of I/O services. The best style for an interface object is chosen at runtime, taking into account user preferences and the services currently available. Adaptation with respect to dynamic configuration changes is achieved by restyling objects and rebinding I/O services as needed while maintaining the state of user interaction.
The 2WEAR approach changes the way one thinks about the computer; it now takes on various forms and exhibits different functionality, depending on the individual elements in proximity to each other.
The prototype system comprises a wristwatch, a wearable GPS, a wearable computer with a GPRS modem, PDAs, access points, and conventional keyboard and screen. Wireless communication between these devices is implemented using Bluetooth technology. The system has been used to develop a number of demonstration applications. A photo application, for instance, annotates pictures taken using a mobile phone with geographical coordinates from the GPS receiver. These are propagated to other mobile devices and backed up to a home computer over Internet access points and GPRS modem. Another example is a city-guide application where the GPS coordinates of the user’s current position and traveled routes are shown on a map; in conjunction with the pictures shot at various locations. The application’s interface supports a number of distributed layouts, switching between them as the user engages different device combinations.
Join the Discussion (0)
Become a Member or Sign In to Post a Comment