Wednesday, October 1, 2014 — 11:00 AM EDT
Brad A. Myers
Human Computer Interaction Institute
School of Computer Science
Carnegie Mellon University
11am Wednesday, Oct 1
My Natural Programming Project is working on making programming languages and environments easier to learn, more effective, and less error prone. We are taking a human-centered approach, by first studying how people perform their tasks, and then designing languages and environments that take into account people's natural tendencies. We are designing new programming languages for people who are not professional programmers (sometimes called "end-user programmers") based on how people think about expressing algorithms and tasks. For example, the InterState system uses a visual notation that combines states and constraints to make web behaviors easier to express. We also are working on improving programming environments and libraries for professional programmers. For example, programmers often need to backtrack out of changes while exploring how to achieve their goals, which is poorly supported by today's IDEs, so we developed a selective-undo mechanism that makes them twice as effective. We studied the usability of APIs, such as the Java SDK and the SAP eSOA APIs, and discovered some common patterns that make programmers up to 10 times slower in finding and using the appropriate methods, so we have developed new tools to compensate. This talk will provide an overview of our studies and resulting designs and tools, which benefit from applying both Software Engineering and Human-Computer Interaction approaches.
About Brad A. Myers:
Brad A. Myers is a Professor in the Human-Computer Interaction Institute in the School of Computer Science at Carnegie Mellon University. He is an IEEE Fellow, ACM Fellow, winner of nine best paper type awards and three Most Influential Paper Awards. He is also a member of the CHI Academy, an honor bestowed on the principal leaders of the field. He is the principal investigator for the Natural Programming Project and the Pebbles Handheld Computer Project, and previously led the Amulet and Garnet projects. He is the author or editor of over 425 publications, including the books "Creating User Interfaces by Demonstration" and "Languages for Developing User Interfaces," and he has been on the editorial board of five journals. He has been a consultant on user interface design and implementation to over 75 companies, and regularly teaches courses on user interface design and software. Myers received a PhD in computer science at the University of Toronto where he developed the Peridot user interface tool. He received the MS and BSc degrees from the Massachusetts Institute of Technology during which time he was a research intern at Xerox PARC. From 1980 until 1983, he worked at PERQ Systems Corporation. His research interests include user interface development systems, user interfaces, handheld computers, programming environments, programming language design, programming by example, visual programming, interaction techniques, and window management. He belongs to ACM, SIGCHI, IEEE, and the IEEE Computer Society.
DC - William G. Davis Computer Research Centre
200 University Avenue WestWaterloo, ON N2L 3G1