d.mix: Programming by a Sample


Project Overview

Source-code examples of APIs enable developers to quickly gain a gestalt understanding of a library's functionality, and they support organically creating applications by incrementally modifying a functional starting point. As an increasing number of web sites provide APIs, significant latent value lies in connecting the complementary representations between site and service---in essence, enabling sites themselves to be the example corpus. We introduce d.mix, a tool for creating web mashups that leverages this site-to-service correspondence. With d.mix, users browse annotated web sites and select elements to sample. d.mix's sampling mechanism generates the underlying service calls that yield those elements. This code can be edited, executed, and shared in d.mix's wiki-based hosting environment. This sampling approach leverages pre-existing web sites as example sets and supports fluid composition and modification of examples. An initial study with eight participants found d.mix to enable rapid experimentation, and suggested avenues for improving its annotation mechanism.

Prior to our work on d.mix, we conducted fieldwork to characterize mash-up practices in different communities, specifically, hardware hackers, web2.0 programmers, and ubicomp designers. We have also actively built "ubicomp mash-ups" that opportunistically combine bits and atoms ourselves. See Ex-A-Sketch, Color Field Camera.


"Programming by a Sample: Rapidly Creating Web Applications with d.mix"
(08/2007, WMV format, 720p, 4min, 32MB)


Hartmann, Björn, Leslie Wu, Kevin Collins, Scott R. Klemmer,
"Programming by a Sample: Rapidly Prototyping Web Applications with d.mix"
(UIST 2007 Full paper)

Hartmann, Björn, Scott Doorley, and Scott R. Klemmer,
"Hacking, Mashing, Gluing: Understanding Opportunistic Design"
(IEEE Pervasive Computing, July-Sept 2008)



A compendium of technologies and techniques used for creating ubicomp mash-ups.



10/10/2007 - UIST 2007 Presentation of d.mix: PPTX | PDF

08/09/2006 - "Adventures in Mash-Up Land" talk at the Stanford HCI Lunch

08/27/2006 - "Ubicomp Mash-ups" talk at BarCamp Stanford

10/07/2006 - "Taking Mash-Ups beyond the Browser" talk at Silicon Valley Code Camp


Björn Hartmann
Leslie Wu
Scott Doorley
Kevin Collins
Scott Klemmer