Abstracts - 2007
JustPlay: Automatic System Configuration
Justin Mazzola Paluska, Hubert Pham, Grace Chau, Chris Stawarz, Chris Terman & Steve Ward
The burgeoning of home electronics provides a nearly limitless variety of configuration and operational options: I can, say, use TIVO to capture a video which is then DIVX compressed and transferred to my laptop for viewing on an upcoming flight, while simultaneously listening to the XM satellite jazz channel and answering email using my 55-inch plasma display. But my coffee table is graced with eleven remote controls, I need a PC plus a growing library of software tools to manage the complexity of my electronic environment, and the simplest of configuration tasks routinely strain the limits of my Ph.D.-level computer expertise.
So what about Grandma?
Various "plug and play" technologies (such as UPNP or Apple's Bonjour) address the resource discovery issue, allowing consumer devices introduced into a home environment to be detected by a local computer system. But resource discovery is a tiny part of a much bigger problem; these schemes don't mitigate the need for PC software, user configuration expertise, or eleven remotes on the coffee table. Grandma, our token non-geek user, needs a humane user interface by which she can deploy her new toys; or, better, by which she can control policy for their automatic deployment.
The JustPlay project (whose name is intended to suggest a wireless descendent of plug-and-play) is aimed at developing a coherent system environment that provides a uniform, speech-based interface to an expanding universe of electronic resources that is both accessible to and customizable by non-technical consumers. We'd like to provide Grandma with a single, simple, speech-based, extensible interface to the universe of new electronic toys that she'll be immersed in during the next decade.
Our approach leverages several local technologies:
(1) the O2S goal-oriented scripting engine developed for scripting adaptive applications;
(2) The Galaxy speech-recognition system developed by the CSAIL Spoken Language Systems group; and
(3) O2S NPOPs, a lightweight portable software component system.
Our plan involves an inexpensive server which acts as the
hub to a wireless network. It adopts newly discovered devices and provides various servers, including the automatic configuration of available resources (devices) to meet user-specified goals.
Introduction of a new device into the JustPlay environment stimulates the automatic re-evaluation of current goals, and the potential revision of the active processes in place to satisfy those goals. For example, simply unpacking and deploying an improved speaker system might cause music currently being enjoyed to fade to the new speakers, without explicit user intervention.
The goals are specified by the user using natural language, and simple goal-based policies can be customized using natural language input (e.g., "to notify me of incoming email, play the Marseillaise on my cell phone").
Progress and Plans
The JustPlay project was initiated during 2005.
Early concept demos have largely used off-the-shelf equipment, including client device prototypes built from consumer products enhanced with simple Linux-based processors implementing a client O2S interface. These demos assumed a living room environment, and dealt with applications involving streaming of audio among devices.
Recent work has addressed delivery of a more ambitious range of functions, including streaming of video media. The demands of these applications motivated a change in the focus of JustPlay applications: while early applications involved JustPlay-specific code that manipulated every byte of media, our recent efforts have used JustPlay as a "glue" to control and interconnect applications written by others. Rather than competing with the many available programs for decoding and rendering video, for example, we have developed techniques for encapsulating external software (like the open-source VLC) in NPOP-compatible wrappers and using them as JustPlay components.
This project is funded by the Quanta Computer as part of the Quanta/CSAIL T-Party project.
 Umar Saif, Hubert Pham, Justin Mazzola Paluska, Jason Waterman, Chris Terman, and Steve Ward, A Case for Goal-oriented Programming Semantics. In System Support for Ubiquitous Computing Workshop at the Fifth Annual Conference on Ubiquitous Computing (UbiComp '03).
 Justin Mazzola Paluska, Hubert Pham, Umar Saif, Chris Terman, and Steve Ward, Reducing Configuration Overhead with Goal-oriented Programming. In Proceedings of the Fourth IEEE International Conference on Pervasive Computing and Computation Workshops (PerCom '06).