Appliance Data Services
Andrew Huang
Stanford University

"Appliance" digital devices such as handheld cameras, scanners, and microphones generate data that people want to place on Web pages and elsewhere in the network infrastructure. Unfortunately, numerous complex steps are required to perform a task such as transfering a picture from a digital camera to a Web server. Contrast this with Web output: handheld Web browsers enjoy increasing infrastructural support. We hypothesize that the utility of input appliances will be greatly increased if they too were "infrastructure enabled". Appliance Data Services (ADS) attempts to systematically describe the task domain of providing seamless and graceful interoperability between input appliances and the network infrastructure.

Our initial efforts have identified two main design challenges: dealing with device heterogeneity, and providing a "no-futz" out-of-the-box user experience for novices without sacrificing expressive power for advanced users. We address heterogeneity by isolating device and protocol heterogeneity considerations into a single extensible architectural component, allowing most of the application logic to deal exclusively with Web-friendly protocols and formats. We address the user interface issue in two ways: first, by tagging input with short commands that correspond to templates specifying how data is to be manipulated once injected into the infrastructure; second, by using a late-binding mechanism for these command tags, which allows "natural" extensions of the device's UI for application selection and minimizes the amount of configuration required before end-users benefit from Appliance Data Services.

In the demo, several applications built on top of the Appliance Data Services framework show how the above-mentioned design challenges are addressed. The Guest Boook application highlights the framework's ability to handle heterogeneous mobile devices (e.g., digital camera and Palm Pilot). In this demo, the user "beams" an electronic business card into the system using the IR port on a Palm Pilot. Then, a picture of the user is taken using a digital camera and is beamed into the system via IR. The business card and picture are stored together in a Guest Book database, which can be accessed through a Web page that contains the pictures and business cards of all past guests.

Other applications built on top of the framework include the Web Photo Album application. In this demo, the user begins by transferring a digital camera's pictures into the system via IR. Then the user enters text descriptions of the pictures via a Web interface. The resulting Photo Album page contains labelled thumbnails linked to full-sized pictures. The existence of multiple applications allows us to show the ease with which users can select between various applications to specify how data is handled once it is in the infrastructure.

For the latest information on the Appliance Data Services project, please visit: http://ads.stanford.edu