Example-Centric Programming: Integrating Web Search into the Development Environment

Presents the design and evaluation of a system that helps programmers locate example code. Findings suggest that task-specific search interfaces can significantly change how and when people search the Web.
CHI: ACM Conference on Human Factors in Computing Systems
What Would Other Programmers Do? Suggesting Solutions to Error Messages

Introduces HelpMeOut, a social recommender system that aids the debugging of error messages during programming by suggesting solutions that peers have applied in the past.
CHI: ACM Conference on Human Factors in Computing Systems



Some Software Systems

In 1999, SUEDE became the first visual prototyping environment for speech user interfaces (video). Our open-source software been downloaded tens of thousands of times and used by companies, researchers, and classrooms around the world. While unmaintained since Java 1.4 in the early 2000s, here is the code for posterity and the brave. I still regularly get email asking to use SUEDE. I recommend Sayspring (inspired by SUEDE).

SUEDE uses a "Wizard of Oz" strategy for quickly trying designs with potential users before writing code. This short video introduces WOz prototyping.