Can you write code without an Internet connection? The ready availability of online tutorials, forums, and source code examples has fundamentally changed programming practices. Understanding and supporting these emerging practices is vital to building the next generation of development environments.
This talk first presents our empirical work investigating how programmers use the Web. We studied 20 individuals in the lab and over 24,000 individuals through search log analysis. We found that Web usage was widespread, with participants spending an average of 19% of their time on the Web. Moreover, individual sessions varied greatly, lasting anywhere from several seconds to tens of minutes and covering a broad range of goals from just-in-time learning of new paradigms to quick reminders of forgotten syntax. Despite the ubiquity of Web use among programmers, widely deployed Web search and browsing tools remain wholly separate from development environments. The second part of this talk details the design and evaluation of Blueprint, a task-specific search engine integrated into the user’s development environment. A comparative laboratory study found that Blueprint enables participants to write significantly better code and find example code significantly faster than with a standard Web browser. Interviews and log analysis from a three-month field deployment with 2,024 users suggested that task-specific search interfaces may cause a fundamental shift in how and when individuals search the Web.