Software Engineers are People Too: Applying Human Centered Approaches to Improve Software Development

Speaker

Carnegie Mellon University, Human Computer Interaction Institute

Host

Arvind Satyanarayan
Abstract:
Software engineers might think that human-computer interaction (HCI)
is all about improving the interfaces for their target users through
user studies. However, software engineers are people too, and they use
a wide variety of technologies, from programming languages to search
engines to integrated development environments (IDEs). And the field
of HCI has developed a wide variety of human-centered methods, beyond
lab user studies, which have been proven effective for answering many
different kinds of questions. In this talk, I will use examples from
my own research to show how HCI methods can be successfully used to
improve the technologies used in the software development process. For
example, "Contextual Inquiry" (CI) is a field study method that
identifies actual issues encountered during work, which can guide
research and development of tools that will address real problems. We
have used CIs to identify nearly 100 different questions that
developers report they find difficult to answer, which inspired novel
tools for reverse-engineering unfamiliar code and for debugging. We
used the HCI techniques of Paper Prototyping and Iterative Usability
Evaluations to improve our programming tools. Through the techniques
of Formal User Studies, we have validated our designs, and quantified
the potential improvements. Current work is directed at improving the
usability of APIs, using user-centered methods to create a more secure
Blockchain programming language, addressing the needs of data analysts
who do exploratory programming, helping programmers organize
information found on the web, and helping end-user programmers augment
what intelligent agents can do on smartphones.

BIO:
Brad A. Myers is a Professor in the Human-Computer Interaction
Institute in the School of Computer Science at Carnegie Mellon
University. He was chosen to receive the ACM SIGCHI Lifetime
Achievement Award in Research in 2017, for outstanding fundamental and
influential research contributions to the study of human-computer
interaction. He is an IEEE Fellow, ACM Fellow, member of the CHI
Academy, and winner of 12 Best Paper type awards and 5 Most
Influential Paper Awards. He is the author or editor of over 500
publications, including the books "Creating User Interfaces by
Demonstration" and "Languages for Developing User Interfaces," and he
has been on the editorial board of six journals. He has been a
consultant on user interface design and implementation to over 85
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 interfaces, programming environments,
programming language design, end-user software engineering (EUSE), API
usability, developer experience (DevX or DX), interaction techniques,
programming by example, handheld computers, and visual programming. He
belongs to ACM, SIGCHI, IEEE, and the IEEE Computer Society.

*Snacks will be served