Abstract
The 27th annual International Conference on Human Factors in Computing (CHI) convened in Boston, MA (USA) from April 4-9, 2009. Included in this year's technical program was a special interest group (SIG) meeting on API usability. This report summarizes the SIG, emphasizing the primary takeaways, which include a greater understanding of the types of APIs, case studies, and a place to share our multi-disciplinary results.
- ]]Beaton, J., Jeong, S.Y., Xie, Y., Stylos, J., and Myers, B.A. "Usability Challenges for Enterprise Service-Oriented Architecture APIs". Proc. VL/HCC 2008, IEEE Press, pp. 193--196. Google ScholarDigital Library
- ]]Bloch, J., Effective Java: Programming Language Guide, Addison-Wesley, 2001. Google ScholarDigital Library
- ]]Bloch, J., "How to Write a Good API and Why it Matters", Keynote Address for LCSD workshop at OOPSLA, 2005. Introduction and slides available at http://lcsd05.cs.tamu.edu/#keynote. Google ScholarDigital Library
- ]]Brown, C.A. "Usability Analysis of the Channel Application Programming Interface". Unpublished Master's Thesis. Naval Postgraduate School. Monterey, CA, 2003.Google Scholar
- ]]Carnegie Mellon Software Engineering Institute Software Technology Roadmap: Application Programming Interface. 2008. Web archive available at: http://www.sei.cmu.edu/str/str.pdf.Google Scholar
- ]]Cherubini, M., Venolia, G., DeLine, R. and Ko. A. J. (2007). "Let's Go to the Whiteboard: How and Why Software Developers Draw Code", Proc. CHI, 557--566. Google ScholarDigital Library
- ]]Clarke, S., API Usability and the Cognitive Dimensions Framework. 2003. Available at http://blogs.msdn.com/stevencl/archive/2003/10/08/57040.aspx.Google Scholar
- ]]Clarke, S., "Measuring API Usability". Dr. Dobbs Journal, May 2004, S6-S9.Google Scholar
- ]]Cwalina, K., Abrams, B., Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET libraries, Addison-Wesley, 2005. Google ScholarDigital Library
- ]]Daughtry, J.M. "Enabling Use: The Effects of Scenarios and Claims on the Self-Efficacy of Using Application Program Interfaces". Unpublished master's thesis, The Pennsylvania State University, University Park, 2006.Google Scholar
- ]]Daughtry, J.M., Farooq, U., Stylos, J., Myers, B. "API usability: CHI'2009 special interest group meeting", Proc. CHI 2009 (extended abstracts), ACM Press, 2771--2774. Google ScholarDigital Library
- ]]de Souza, C.R.B., Redmiles, D., Cheng, L., Millen, D., and Patterson, J. "Sometimes You Need to See Through Walls -- A Field Study of Application Programming Interfaces", Proc. CSCW, 2004, 63--71. Google ScholarDigital Library
- ]]Ellis, B., Stylos, J., and Myers, B.A. "The Factory Pattern in API Design: A Usability Evaluation", Proc. ICSE 2007, ACM Press, pp. 302--312. Google ScholarDigital Library
- ]]Green, T. R. G. "Cognitive dimensions of notations. People and Computers" V.A. Sutcliffe and L. Macaulay, eds. Cambridge: Cambridge University Press. 1989. Google ScholarDigital Library
- ]]Kannampallil, T.G., and Daughtry, J.M. "Handling Objects: A Scenario Based Approach", Proc. SIGDOC 2006, ACM Press, 92--98. Google ScholarDigital Library
- ]]Norcio, A.F., "Indentation, Documentation, and Programmer Comprehension", Proc. CHI, 1982, 118--120. Google ScholarDigital Library
- ]]McLellan, S.G., Roesler, A.W., Tempest, J.T., and Spinuzzi, C.I., "Building More Usable APIs", IEEE Software, 15(3), 1998, p. 78--86. Google ScholarDigital Library
- ]]Myers, B.A, Bernett, M.M., Rosson, M.B, Ko, A.J., and Blackwell, A, "End User Software Engineering: CHI'2008 Special Interest Group Meeting, CHI 2008 Extended Abstracts, 2008, 2371--2374. Google ScholarDigital Library
- ]]Patel, K, Fogarty, J., Landay, J.A., and Harrison, B., "Investigating Statistical Machine Learning as a Tool for Software Development". Proc. CHI, 2008, Florence, Italy, pp. 667--676. Google ScholarDigital Library
- ]]Pemberton, S., "Programmers are Humans Too, 2" SIGCHI Bulletin, 29(3), 1997, p. 64. Google ScholarDigital Library
- ]]Pugh, T. "Interface Oriented Design". Pragmatic Bookshelf. 2006. Google ScholarDigital Library
- ]]Rosson, M.B., and Carroll, J.M., "The Reuse of Uses in Smalltalk Programming", ACM Transactions on Computer-Human Interaction, 3(3), pp. 219--253. Google ScholarDigital Library
- ]]Shneiderman, B., Software Psychology: Human Factors in Computer and Information Systems. 1980, Cambridge, MA: Winthrop Publishers. Google ScholarDigital Library
- ]]Soloway, E., Ehrlich, K., and Bonar, J., "Tapping into tacit programming knowledge", Proc. CHI, 1982, 52--57. Google ScholarDigital Library
- ]]Stylos, J. and Myers, B.A. "Mapping the Space of API Design Decisions", Proc. VL/HCC 2007, IEEE Press, 50--57. Google ScholarDigital Library
- ]]Stylos, J. and Clarke, S., "Usability Implications of Requiring Parameters in Objects' Constructors", Proc. ICSE 2007, ACM Press, pp. 529--539. Google ScholarDigital Library
- ]]Stylos, J., Clarke, S., and Myers, B.A. "Comparing API Design Choices with Usability Studies: A Case Study and Future Directions", Proc. PPIG 2006, pp. 131--139.Google Scholar
- ]]Stylos J., Myers B., and Yang Z. "Jadeite: improving API documentation using usage information", Proc. CHI 2009 (extended abstracts), ACM Press, pp. 4429--4434. Google ScholarDigital Library
- ]]Tuloch, J. Practical API Design: Confessions of a Java Framework Architect. Apress. 2008. Google ScholarDigital Library
Index Terms
- API usability: report on special interest group at CHI
Recommendations
API usability: CHI'2009 special interest group meeting
CHI EA '09: CHI '09 Extended Abstracts on Human Factors in Computing SystemsProgrammers of all types from novice end-user developers to professional software engineers make use of application programming interfaces (API) within their various designs. And, while the use of these interfaces is ubiquitous, there is little research ...
End user software engineering: CHI 2007 special interest group meeting
CHI EA '07: CHI '07 Extended Abstracts on Human Factors in Computing SystemsRecently, researchers have been working to bring the benefits of rigorous software engineering methodologies to end users who find themselves in programming situations, to try to make their software more reliable. End users create software whenever they ...
End user software engineering: chi'2008 special interest group meeting
CHI EA '08: CHI '08 Extended Abstracts on Human Factors in Computing SystemsEnd users create software whenever they write, for instance, educational simulations, spreadsheets, or dynamic e-business web applications. Researchers are working to bring the benefits of rigorous software engineering methodologies to these end users ...
Comments