Improving Documentation for eSOA APIs through User Studies

All software today is written using libraries, toolkits, frameworks and other application programming interfaces (APIs). We performed a user study of the online documentation a large and complex API for Enterprise Service-Oriented Architecture (eSOA), which identified many issues and recommendations for making API documentation easier to use. eSOA is an appropriate testbed because the target user groups range from high-level business experts who do not have significant programming expertise (and thus are end-participant developers), to professional programmers. Our study showed that the participants' background influenced how they navigated the documentation. Lack of familiarity with business terminology was a barrier we observed for developers without business application experience. Participants with business software experience had difficulty differentiating similarly named services. Both groups avoided areas of the documentation that had an inconsistent visual design. A new design for the documentation that supports flexible navigation strategies seem to be required to support the wide range of users for eSOA. This paper summarizes our study and provides recommendations for future documentation for developers.

[1]  Jeffrey Stylos,et al.  Usability Implications of Requiring Parameters in Objects' Constructors , 2007, 29th International Conference on Software Engineering (ICSE'07).

[2]  Sae Young Jeong,et al.  Usability challenges for enterprise service-oriented architecture APIs , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[3]  Brad A. Myers,et al.  Six Learning Barriers in End-User Programming Systems , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[4]  Lisa Friendly,et al.  The Design of Distributed Hyperlinked Programming Documentation , 1995, IWHD.

[5]  Brad A. Myers,et al.  Jadeite: improving API documentation using usage information , 2009, CHI Extended Abstracts.

[6]  Jakob Nielsen,et al.  Usability engineering , 1997, The Computer Science and Engineering Handbook.

[7]  Brad A. Myers,et al.  Improving API documentation using API usage information , 2009, 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[8]  Brad A. Myers,et al.  Usability evaluation for enterprise SOA APIs , 2008, SDSOA '08.

[9]  Jeffrey Stylos,et al.  A case study of API redesign for improved usability , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[10]  Joshua J. Bloch Effective Java : programming language guide , 2001 .

[11]  Timothy Lethbridge,et al.  The relevance of software documentation, tools and technologies: a survey , 2002, DocEng '02.

[12]  Daniel Schwabe International Workshop on Hypermedia Design , 1995, LINK.

[13]  Brian Ellis,et al.  The Factory Pattern in API Design: A Usability Evaluation , 2007, 29th International Conference on Software Engineering (ICSE'07).

[14]  Brad A. Myers,et al.  The implications of method placement on API learnability , 2008, SIGSOFT '08/FSE-16.