John Daughtry
John has been at Google since 2012 and is based in Zürich, Switzerland. His research interests lie at the intersection of software engineering and human-computer interaction. Prior to Google, he was a Research Engineer at Penn State University.
Authored Publications
Sort By
Discovering API Usability Problems at Scale
Emerson Murphy-Hill
Caitlin Sadowski
Andrew Head
International Workshop on API Usage and Evolution (WAPI) (2018)
Preview abstract
Software developers’ productivity can be negatively impacted by using APIs incorrectly. In this paper, we describe an analysis technique we designed to find API usability problems by comparing successive file-level changes made by individual software developers. We applied our tool, StopMotion, to the file histories of real developers doing real tasks at Google. The results reveal several API usability challenges including simple typos, conceptual API misalignments, and conflation of similar APIs.
View details
The Uses of Interactive Explorers for Web APIs
Luke Church
8th Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU'2017) at SPLASH 2017, ACM
Preview abstract
Interactive method invocation has become a common interaction pattern in the documentation of web application programming interfaces (APIs). One of the earliest examples of this pattern being applied at scale is the Google APIs Explorer. In this paper, we describe eight ways developers use such tools in software development, grounded on empirical analyses of the Google APIs Explorer. We then explain the utility of these tools by tying the use cases back to extant literature on programming.
View details
API Usability at Scale
Luke Church
Craig Citro
Proceedings of the 26th annual workshop of the Psychology of Programming Interest Group (2016)
Preview abstract
Designing and maintaining useful and usable APIs remains challenging. At Google we manage hundreds of APIs. In this article we report on the experience of doing so and describe six on-going challenges: resource allocation, empirically-grounded guidelines, communicating issues, supporting API evolution over time, usable auth, and usable client libraries at scale.
View details
API Design Reviews at Scale
Martin Maly
CHI EA '16 Proceedings of the 2016 CHI Conference Extended Abstracts on Human Factors in Computing Systems, ACM New York, NY, USA, pp. 849-858
Preview abstract
The number of APIs produced by Google's various business units grew at an astounding rate over the last decade, the result of which was a user experience containing wild inconsistencies and usability problems. There was no single issue that dominated the usability problems; rather, users suffered a death from a thousand papercuts. A lightweight, scalable, distributed design review process was put into place that has improved our APIs and the efficacy of our many API designers. Challenges remain, but the API design reviews at scale program has started successfully.
View details