Redesigning the Programming Experience:
Understanding and Supporting Developers in the Age of the Web

Joel Brandt, HCI Group, Stanford University


Seminar on People, Computers, and Design
Stanford University May 28, 2010
, 12:50pm, Gates B01

The Web is fundamentally changing programming. Democratization of access and distribution is expanding the space of who writes code. At the same time, the Web is increasing the amount of information available to programmers, transforming the way they write code. But our development tools haven't yet embraced these changes. How do we leverage the latent opportunity of the Web in the next generation of programming tools?

The first part of this talk will explore the roles that online resources play in creating software. Web resources are a ubiquitous and essential part of programming: in one of our studies, programmers spent 19% of their time consuming relevant online information. Motivated by this, we created Blueprint, a task-specific search engine integrated into the Adobe Flex Builder development environment. A laboratory study and large-scale deployment of Blueprint found that it enables participants to write significantly better code and find example code significantly faster than with a standard Web browser and search engine, and may cause a fundamental shift in how and when programmers search the Web.

The second part of this talk will examine an emerging class of "opportunistic" programmers. Our empirical work suggests a need for tools that help with the understanding and integration of examples, make execution more visible, and encourage exploration in code by reducing the risk of edits.


Joel Brandt is a PhD Candidate in the Stanford Human-Computer Interaction Group, anticipating graduation in Summer 2010. Through a mixture of empirical work and systems building, he studies the task of programming. His thesis work explores the role that information resources play during software development. Tools built as part of this research are now used by thousands of programmers on a daily basis. He received a BS with majors in Computer Science and Mathematics and an MS in Computer Science from Washington University in St. Louis. Joel is currently advised by Professor Scott Klemmer.

The talks are open to the public. They are in the Gates Building, Room B01 in the basement. The nearest public parking is in the structure at Campus Drive and Roth Way.

View this talk on line at CS547 on Stanford OnLine.

Titles and abstracts for previous years are available by year and by speaker.