Writing software, I have had the pleasure of working with universities, educators, science museums, art museums, filmmakers, interactive artists, consumer electronics companies, and software developers. A common thread to all has been the opportunity to work on innovative media-oriented software in a variety of projects, including interactive museum exhibits, data visualizations, tools for filmmakers, early prototypes of high profile consumer electronics, educational software, and special effects for music videos. Some common themes threading these projects:
- strong visual components
- integrating software and hardware
- having fun exploring, designing, and developing
- 
Related Content Database, now named Watchwith, offers a platform to create and publish time-based metadata for film and television.
BD-J - Numerous projects integrating web APIs (e.g. Flickr, Amazon, Google Maps, NYTimes, Picasa) with Blu-ray viewing experiences.
- Javascript, jQuery, Paper.js, Processing.js
- Java, Processing, Python, R, SQLite
- BD-J, Quicktime
Moto Development Group helped lead products from conception through design, prototyping, and production. I began at Moto writing embedded software, primarily C++, for MP3 players. Eventually, I worked more on functional prototypes, mostly in Java for clients including Apple, Amazon, Microsoft, and BMW.
Multi-touch displays - Developed particle physics simulations to explore ways of integrating touch and tilt in a responsive interface for very early display prototypes that eventually went into the first iPhone and iPad.
Kindle prototype - Java on a laptop, controlling E Ink display, touchpad, buttons and keyboard for the first functional Kindle prototype.
Zune touchpad - Java on a laptop, controlling an early prototype for the Zune touchpad, tuning response to touch behaviors.
Portal Player - Several CES demos showing Portal Player chips (the SOC in the first iPods) driving MP3 players.- Java, Processing, C++, C#, Max/MSP

When you visit the Museum of the Moving Image, you are invited to record a short video clip of yourself to print out and assemble a flip book souvenir of your visit. I developed a three-workstation exhibit that controls lighting and a camera for recording, then sends the video to a review workstation at the gift shop, with a printer workstation for staff to print purchased flip books.
- video capture - leads visitors through setup (tilt/zoom camera), recording (controls lights and camera), and playback
- video browser - presents the hundreds of clips recorded in a day, letting visitors review their clip and others
- printer - formats video frames as flipbook pages and prints them out

Working in conjunction with the math department at Boston University, I developed a series of applications for students to experiment with dynamic characteristics of fractals. Through BU, I also adapted my Video Streamer software for an exhibit on fractal aggregation in crystal growth at Boston's Museum of Science.

Crystal Graphics
At Crystal Graphics I developed a package for designing page turn effects in the Crystal Graphics 3D animation system. The main trick was developing a real-time wireframe preview so that designers could refine the effect they wanted before they let their IBM 280, or 360 if they were lucky, go animate the full-res version overnight. Page turns were common transition effects in the late 80s, first made practical with the Quantel Mirage real-time digital video effects device, which I worked with in video post production houses in San Francisco and Mexico City in my years prior to Crystal Graphics.
