20 - 24 September 2009
Oregon State University
Corvallis, Oregon, USA
The Evolution of End User Programming
The popularity of the Web has changed the world of End User Programming. Our research systems can now be built in a web browser that millions of people use every day, and we have massive information available. Our users are more experienced and they can share their work with each other. After twenty-five years of trying to infer the user's intent, Allen will compare early and contemporary end user programming systems to see what progress we have made, and what opportunities we now have for widespread success.
Allen Cypher began building systems to automate repetitive activities in 1984. His Eager system was one of the first intelligent agents. In 1993, he edited "Watch What I Do: Programming by Demonstration", which collected the work of earlier pioneers and of the active researchers at the time. In the 90's, he co-developed a visual language called Stagecast Creator that enabled children to create their own games and simulations and publish them on the Web. His current work with CoScripter is aimed at bringing end user programming to the Web.
Attacking Information Overload in Software Development
The productivity of software developers is under constant attack due to a continual inundation of information: source code is easier and easier to traverse and to find, email inboxes are stuffed to capacity, RSS feeds and tweets provide a continual stream of technology updates, and so on. To enable software developers to work more effectively, tools are often introduced that provide even more information. The effect of more and more tools producing more and more information is placing developers into overload. To combat this overload, we have been building approaches rooted in structure and inspired by human memory models. As an example, the Mylyn project packages and makes available the structure that emerges from how a programmer works in an episodic-memory inspired interface. Programmers working with Mylyn see only the information they need for a task and can recall past task information with a simple click. We have shown in a field study that Mylyn makes programmers more productive; the half a million programmers now using Mylyn seem to agree. In this talk, I will describe the overload faced by programmers today and discuss several approaches we have developed to attack the problem, some of which may also pertain beyond the domain of software development.
Gail Murphy is a Professor in the Department of Computer Science at the University of British Columbia after receiving a B.Sc. from the University of Alberta, an M.S. and Ph.D. from the University of Washington and working for 5 years as a software developer. She works primarily on building simpler and more effective tools to help developers manage software evolution tasks. In 2005, she held a UBC Killam Research Fellowship and also received the AITO Dahl-Nygaard Junior Prize for her work in software evolution. In 2006 she received an NSERC Steacie Fellowship and the CRA-W Anita Borg Early Career Award. In 2007, she helped co-found Tasktop Technologies Inc. In 2008, she served as the program committee chair for the ACM SIGSOFT FSE conference and received the University of Washington College of Engineering Diamond Early Career Award. One of the most rewarding parts of her career has been collaborating with many very talented graduate and undergraduate students.