Research Projects


Current Research Projects

I currently have four main research projects that I'm working on. These are by no means the only things I'm interested in (take a look at my past work to get an idea of the sorts of things I care about), just the ones that I'm trying to get off the ground now. More detail will be added later.

There is a list of possible student projects in these areas here (only available from within the domain). You can also check the web pages for my research group, the Pixi Lab, which are probably updated more regularly than these pages.

Work While at PARC

My last major project before leaving PARC was Speakeasy (also called Obje), an infrastructure for ad hoc connectivity and interoperability in ubiquitous computing environments. Most network middleware systems (CORBA, Web Services, etc.) require clients and services to have specific knowledge of each other, explicitly coded into them. Speakeasy is a different approach to network communication, based on a small set of meta-interfaces that allow services to dynamically extend the behaviors of their clients. Clients and services can communicate with each other without having to have explicit knowledge of each others' interfaces.

The Speakeasy project resulted in (at last count) about ten publications in top-tier conferences and journals, 18 US and International patents either granted or pending, and played a key role in PARC's technology transfer efforts. Please contact PARC if you have inquiries about licensing.

Before that, I worked on Placeless Documents (and its antecedent Presto), which is—in a nutshell—a “radically extensible” document management system. That makes it sound far more boring than it actually is. A better description might be that it’s a system that manages information by overlaying a simple object system on it, allowing easier application development, metadata-based organization, and a unified view across multiple information sources. I’ve also worked on Flatland, a novel user interface for pen-based computing on large surfaces like whiteboards (sorry, no page yet). One of my main projects used to be time travel (sort of) and its applications to collaboration. I also worked on a number of other projects at PARC, including Bayou, a weakly-consistent replicated data store for applications with sporadic network connectivity.

While at PARC I was lucky enough to have some extraordinary interns. Roy Rodenstein (was at Georgia Tech, now at the MIT Media Lab) worked with me on some cool UI stuff that hasn’t been published yet. Takeo Igarashi (University of Tokyo) worked with me on Flatland, a nifty pen-based UI system. Michael Kaminsky (was at Berkeley, now at MIT) hacked the Microsoft Actimates Barney doll to make it do our evil bidding. Shahram Izadi (now at Microsoft Research Cambridge), Jason Hong (now on the faculty at CMU), and Julie Black (Google) all worked with me on Speakeasy. My last PARC intern was Steve Voida, whom I followed to Georgia Tech after leaving PARC. See, interns are great!

Ancient History

When I was in grad school I worked on a lot of different systems, including Intermezzo, a toolkit for building context-aware collaborative applications. I was the chief developer and architect of Mercator, a system that lets visually-impaired people work with the X Window System. (See page from the late Jurassic, complete with software downloads for your SPARCstation, woot, here and FAQ here.) My work on that system resulted in a number of extensions fo the X Window System to support remote monitoring of client application state, and session initiation (the RAP and ICE protocols, as well as client-side hooks in Xt to use these). I built Montage, an early (pre-MIME) multimedia mailer. I built a FORTRAN compiler for the Motorola DSP56001 signal processor. One of my first projects involved a set of hacksenhancements to the X Window System to support punch-through video. There's a bunch of other stuff that I'll eventually find time to write about.

At Sun I developed a C++ toolkit for rapid assembly of networked multimedia applications called MAK++. This toolkit was distributed with the Sun DIME video board, and was used by quite a few external folks (including researchers at PARC) for building multimedia apps on SPARCstations.

At Olivetti I worked on the VOX audio server, an early networked audio infrastructure.