ABSTRACT
We present Apatite, a new tool that aids users in learning and understanding a complex API by visualizing the common associations between its various components. Current object-oriented API documentation is usually navigated in a fixed tree structure, starting with a package and then filtering by a specific class. For large APIs, this scheme is overly restrictive, because it prevents users from locating a particular action without first knowing which class it belongs to. Apatite's design instead enables users to search across any level of an API's hierarchy. This is made possible by the introduction of a novel interaction technique that presents popular items from multiple categories simultaneously, determining their relevance by approximating the strength of their association using search engine data. The design of Apatite was refined through iterative usability testing, and it has been released publicly as a web application.
Supplemental Material
- Beaton, J., Jeong, S.Y., Xie, Y., Stylos, J. and Myers, B.A. "Usability Challenges for Enterprise Service-Oriented Architecture APIs," VL/HCC'08. Sept, 2008, Herrsching am Ammersee, Germany. pp. 193--196. Google ScholarDigital Library
- Chau, D.H. and Myers, B. "What to Do When Search Fails: Finding Information by Association", Proceedings CHI'08. Florence, Italy, April, 2008. pp. 999--1008. Google ScholarDigital Library
- Holmes, R. and Walker, R.J. "A Newbie's Guide to Eclipse APIs", International Working Conference on Mining Software Repositories. pp. 149--152. Google ScholarDigital Library
- Jeong, S.Y., Xie, Y., Beaton, J., Myers, B.A., Stylos, J., Ehret, R., Karstens, J., Efeoglu, A., and Busse, D.K. "Improving Documentation for eSOA APIs Through User Studies", Second International Symposium on End User Development (IS--EUD'09), March, 2009. Siegen, Germany. Springer-Verlag, LNCS 5435, pp. 86--105. Google ScholarCross Ref
- Stylos, J. "Making APIs More Usable with Improved API Designs, Documentation and Tools." Ph.D. thesis, Carnegie Mellon University, May 2009. Google ScholarDigital Library
- Stylos, J. and Myers, B.A. "Mica: A Programming Web-Search Aid", VL/HCC'06. Sept, 2006, Brighton, UK. pp. 195--202. Google ScholarDigital Library
- Stylos, J., Faulring, A., Yang, Z., and Myers, B.A. "Improving API Documentation Using API Usage Information", VL/HCC'09, Sept, 2009. Corvallis, Oregon. pp. 119--126. Google ScholarDigital Library
Index Terms
- Apatite: a new interface for exploring APIs
Recommendations
Using Association Metrics to Help Users Navigate API Documentation
VLHCC '10: Proceedings of the 2010 IEEE Symposium on Visual Languages and Human-Centric ComputingIn the past decade there has been spectacular growth in the number and size of third-party libraries, frameworks, toolkits and other Application Programming Interfaces (APIs) available to modern software developers. However, the time-saving advantages of ...
An Empirical Comparison Between Tutorials and Crowd Documentation of Application Programming Interface
AbstractAPI (application programming interface) documentation is critical for developers to learn APIs. However, it is unclear whether API documentation indeed improves the API learnability for developers. In this paper, we focus on two types of API ...
Tool support for crosscutting concerns of API documentation
AOSD '10: Proceedings of the 9th International Conference on Aspect-Oriented Software DevelopmentWriting detailed API (Application Programming Interface) documentation is a significant task for developing a good class library or framework. However, existing documentation tools such as Javadoc provide only limited support and thus the description ...
Comments