Advertisement

Usability Evaluation of Configuration-Based API Design Concepts

  • Thomas Scheller
  • Eva Kühn
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7946)

Abstract

Usability is an important quality attribute for designing APIs, but usability-related decision factors are often unknown. This is also the case when looking at APIs for configuration tasks, like for dependency injection or object-relational mapping. In these areas three different API design concepts can be found, which are annotations, fluent interfaces, and XML. There exists no research concerning usability-related characteristics and differences between these concepts.

In this paper, we present a usability study that identifies such characteristics and differences between the three concepts, by comparing three different variants of an API for dependency injection. From the study results we evaluate advantages and disadvantages in different use cases, and show how to build more usable configuration-based APIs.

Keywords

API Usability API Design Fluent Interfaces Annotations XML 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Fowler, M.: Domain-Specific Languages. In: The Addison-Wesley Signature Series. Addison-Wesley (2010)Google Scholar
  2. 2.
    Ellis, B., Stylos, J., Myers, B.: The factory pattern in API design: A usability evaluation. In: Proc. of the 29th International Conference on Software Engineering, ICSE 2007, pp. 302–312. IEEE Computer Society, Washington, DC (2007)Google Scholar
  3. 3.
    Scheller, T., Kühn, E.: Influencing factors on the usability of api classes and methods. In: 19th Annual IEEE International Conference and Workshops on the Engineering of Computer Based Systems, ECBS 2012, Novi Sad, Serbia, pp. 232–241. IEEE Computer Society (2012)Google Scholar
  4. 4.
    Stylos, J., Clarke, S.: Usability implications of requiring parameters in objects’ constructors. In: Proc. of the 29th International Conference on Software Engineering, ICSE 2007, pp. 529–539. IEEE Computer Society, Washington, DC (2007)Google Scholar
  5. 5.
    Stylos, J., Myers, B.A.: The implications of method placement on API learnability. In: Proc. of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, SIGSOFT 2008/FSE-16, pp. 105–112. ACM, New York (2008)CrossRefGoogle Scholar
  6. 6.
    Graaumans, J.: A qualitative study to the usability of three xml query languages. In: Proc. of the Conference on Dutch Directions in HCI, Dutch HCI 2004, pp. 6–9. ACM, New York (2004)CrossRefGoogle Scholar
  7. 7.
    Sapienza, F.: Usability, structured content, and single sourcing with xml. Technical Communication 51(3), 399–408 (2004)Google Scholar
  8. 8.
    Cwalina, K., Abrams, B.: Framework design guidelines: conventions, idioms, and patterns for reusable. net libraries, 1st edn. Addison-Wesley Prof. (2005)Google Scholar
  9. 9.
    Tulach, J.: Practical API Design: Confessions of a Java Framework Architect, 1st edn. Apress, Berkely (2008)Google Scholar
  10. 10.
    Clarke, S.: Measuring API usability. Dr. Dobb’s Journal 29, S6–S9 (2004)Google Scholar
  11. 11.
    Henning, M.: API design matters. Queue 5, 24–36 (2007)CrossRefGoogle Scholar
  12. 12.
    Robillard, M.P.: What makes APIs hard to learn? answers from developers. IEEE Software 26, 27–34 (2009)CrossRefGoogle Scholar
  13. 13.
    Fowler, M.: Inversion of Control Containers and the Dependency Injection pattern (January 2004), http://martinfowler.com/articles/injection.html
  14. 14.
    Nielsen, J.: Usability Engineering. Morgan Kaufmann, San Francisco (1994)Google Scholar
  15. 15.
    Scheller, T., Kühn, E.: Measurable concepts for the usability of software components. In: Proc. of the 37th EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 2011, pp. 129–133. IEEE Computer Society, Oulu (2011)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Thomas Scheller
    • 1
  • Eva Kühn
    • 1
  1. 1.Institute of Computer LanguagesVienna University of TechnologyWienAustria

Personalised recommendations