2019 · 10 citations · 6 references
ComputingComputer ScienceInformation TechnologyDocumentationSoftware EngineeringUser Experience DesignApplication Programming InterfacesInterface DesignSoftware DesignSoftware ModelingUsability TestingUser ResearchApi DocumentationApi UsabilityData ProcessingMental Model BuildingMental Model ElicitationMental ModelsSoftware Development MethodologyTask Mental Models
Despite almost all software development involving application programming interfaces (APIs), there is surprisingly little work on how people use APIs and how to evaluate and improve the usability of an API. One possible way of investigating the usability of APIs is through the user's mental model of the API. Through discussions with the developers and UX practitioners at Google along with our own evaluations, a distributed data processing API called Apache Beam has been identified as difficult to use and learn. In our on-going study, we investigate methods for understanding users' mental models of distributed data processing and how this understanding can lead to design insights for Beam and its documentation. We present our novel approach, which combines a background interview with two natural programming elicitation segments: the first designed for participants to express a high level mental model of a data processing API while the second asks questions contextualized to a data processing task to see how participants apply their conceptual understanding to a more specific situation. Our method shows promise as pilot participants expressed a "dataflow" mental model that matched one way that Beam has been described, resulting in a potential design modification.
6
Brad A. Myers, Jeffrey Stylos · Communications of the ACM · 2016 · 272 citations
Todd Kulesza, Simone Stumpf, Margaret Burnett et al. · 2012 · 224 citations
Rethinking SSL development in an appified world
Sascha Fahl, Marian Harbach, Henning Perl et al. · 2013 · 151 citations