End-user programming seeks to help people with no formal training in programming take advantage of the power of their computer systems. By one estimate, the number of end-user programmers in the United States is expected to reach 55 million by 2005, compared to only 2.75 million professional programmers. Unfortunately, closed, uncustomizable applications have long been a serious obstacle for end-user programming on the desktop. The recent migration of applications to the Web opens up a new vista of opportunity, in that applications that would have been closed and uncustomizable on the desktop sprout numerous hooks for customization when implemented for the Web. In this project, the PI will seek to advance end-user automation and customization of the Web, by developing new interface designs, representations, algorithms, and tools. The research will include fundamental advances in learning wrappers (patterns that identify components of web pages) from very few examples, so that users can demonstrate web automation by pointing and clicking. Languages and techniques will be developed that allow users to customize web sites without examining their source code. A safe environment for offline testing and debugging of web automation will be implemented, and techniques for integrating multiple web sites together seamlessly, so that pages displayed by one site automatically include context-sensitive information provided by another site, will be devised. These fundamental contributions will form the basis for end-user customizations of web sites to make them more readable, easier to use for frequent tasks, and amenable to operations like sorting and filtering done in the web browser. The capstone application of the proposed research will be a set of tools that support gathering web information to drive personal decisions, such as buying a car, finding a house, or choosing a job. To achieve these goals, the PI will develop new algorithms for inferring patterns and scripts that interact with and extract information from the Web, design and evaluate new ways to customize users' web experiences, and seek to gain a deeper understanding of how people acquire web information to make personal decisions.
Broader Impacts: The outcomes of this project will equip end-users with more control over the accessibility and performance of their browsing experience, giving them more tools for making information-driven decisions about important issues, both personal and public, such as education, health care, public policy, safety, and the environment. The software to be developed by the PI will be released free of charge as open-source tools for public use, and as infrastructure for other researchers in end-user programming. The project will also expose a generation of MIT computer science graduates to HCI principles and techniques, so that as they move on to careers in software industry and academia, they produce more usable software; related course materials will be released for free, open, public use, as part of the MIT OpenCourseWare Initiative.