home · mobile · calendar · colloquia · 2009-2010 · 

Colloquium - Brandt

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

The Web is fundamentally changing programming. First, the Web has greatly increased the amount of information available to programmers, changing how they write code. Second, the Web has democratized access and distribution, expanding the space of who writes code. Third, the Internet's capability to connect disparate computational devices has changed the nature of what programmers want to build. 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 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 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. I will detail our preliminary work on building these tools, and use this as a springboard to discuss future research directions.

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.

Hosted by Clayton Lewis.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)