skip to main content
10.1145/3334480.3383008acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
abstract

API as Curriculum: Designing High-Level API Affordances as Instructional Scaffolds

Published: 25 April 2020 Publication History

Abstract

APIs have been recognized in the CHI community and beyond as designed objects worthy of usability analysis. Some work in this vein has investigated the learnability of APIs in particular. Drawing on activity theory, we argue that APIs can also potentially have broader learning consequences for their users. By mediating interactions with code, APIs can shape their users' understanding of computing problems. We thus suggest that, by envisioning high-level API affordances as scaffolds, API designers can not only enhance users' productivity, but they can also help drive adoption of software components attempting to radically innovate on their past inheritance. We propose scaffold design recommendations that can augment existing API usability frameworks.

References

[1]
John R. Anderson. 1996. A simple theory of complex cognition. American Psychologist April (1996), 355--365.
[2]
Steven Clarke. 2005. Describing and measuring API usability with the cognitive dimensions. In Cognitive Dimensions of Notations 10th Anniversary Workshop. IEEE Computer Society, Dallas, Texas. http://scholar.google.com/scholar?hl=en
[3]
Steven Clarke and Curtis Becker. 2003. Using the Cognitive Dimensions Framework to evaluate the usability of a class library. Proceedings of the First Joint Conference of EASE and PPIG April (2003), 359--366. http://www.ppig.org/papers/15th-clarke.pdf
[4]
Michael Cole and Yrjö Engeström. 1993. A cultural-historical approach to distributed cognition. In Distributed cognitions: Psychological and educational considerations, Gavriel Salomon (Ed.). Cambridge University Press, Cambridge, United Kingdom, Chapter 1, 1--46.
[5]
Allan Collins, J. S. Brown, and S. E. Newman. 1989. Cognitive apprenticeship: Teaching the crafts of reading, writing, and mathematics. In Knowing, learning, and instruction: Essays in honor of Robert Glaser. Vol. 18. Lawrence Erlbaum Associates, Hillsdale, New Jersey, 453--494.
[6]
Brian Ellis, Jeffrey Stylos, and Brad A. Myers. 2007. The factory pattern in API design: A usability evaluation. In Proceedings - International Conference on Software Engineering. IEEE Computer Society, Minneapolis, Minnesota, 302--311.
[7]
Yrjö Engeström. 1987. Learning by expanding: An activity-theoretical approach to developmental research. Orienta-Konsultit Oy, Helsinki.
[8]
Richard Fabian. 2018. Data-oriented design: Software engineering for limited resources and short schedules. Richard Fabian, Stockport, United Kingdom. http://www.dataorienteddesign.com/dodbook/
[9]
T. R.G. Green and M. Petre. 1996. Usability analysis of visual programming environments: A 'cognitive dimensions' framework. Journal of Visual Languages and Computing 7, 2 (1996), 131--174.
[10]
Koji Inoue, Vasily G. Moshnyaga, and Kazuaki Murakami. 2002. Trends in high-performance, low-power cache memory architectures. IEICE Transactions on Electronics E85-C, 2 (2002), 304--314.
[11]
Victor Kaptelinin. 1996. Activity theory: Implications for human-computer interaction. In Context and consciousness: Activity theory and human-computer interaction, Bonnie A. Nardi (Ed.). Number 1. MIT Press, Cambridge, Massachusetts, Chapter 5, 53--59.
[12]
Andrew J. Ko, Robin Abraham, Laura Beckwith, Alan Blackwell, Margaret Burnett, Martin Erwig, Chris Scafdi, Joseph Lawrance, Henry Lieberman, Brad Myers, Mary Beth Rosson, Gregg Rothermel, Mary Shaw, and Susan Wiedenbeck. 2011. The state of the art in end-user software engineering. Comput. Surveys 43, 3 (2011).
[13]
Andrew J Ko, Brad A Myers, and Htet Htet Aung. 2004. Six learning barriers in end-user programming systems. Proceedings - 2004 IEEE Symposium on Visual Languages and Human Centric Computing (2004), 199--206.
[14]
Casey Muratori. 2004. Designing reusable code. In Game Tech Conference. San Francisco, California. https://caseymuratori.com/blog
[15]
Brad A. Myers and Jeffrey Stylos. 2016. Improving API usability. Commun. ACM 59, 6 (2016), 62--69.
[16]
Bonnie A. Nardi. 1996. Activity theory and human-computer interaction. In Context and consciousness: Activity theory and human-computer interaction, Bonnie A. Nardi (Ed.). MIT Press, Cambridge, Massachusetts, Chapter 1, 4--8.
[17]
Marco Piccioni, Carlo A. Furia, and Bertrand Meyer. 2013. An empirical study of API usability. In International Symposium on Empirical Software Engineering and Measurement. IEEE Computer Society, Baltimore, Maryland, 5--14.
[18]
Girish Maskeri Rama and Avinash Kak. 2015. Some structural measures of API usability. Software Practice and Experience 45, 1 (2015), 75--100.
[19]
Martin P. Robillard and Robert Deline. 2011. A field study of API learning obstacles. Empirical Software Engineering 16, 6 (2011), 703--732.
[20]
Jeffrey Stylos, Steven Clarke, and Brad Myers. 2006. Comparing API design choices with usability studies: A case study and future directions. In Proceedings of the 18th Workshop of the Psychology of Programming Interest Group. PPIG, Brighton, United Kingdom, 131 -- 139. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.102.8525
[21]
Jeffrey Stylos, Benjamin Graf, Daniela K. Busse, Carsten Ziegler, Ralf Ehret, and Jan Karstens. 2008. A case study of API redesign for improved usability. In Proceedings - 2008 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2008. IEEE Computer Society, Herrsching am Ammersee, Germany, 189--192.
[22]
Jeffrey Stylos and Brad A. Myers. 2008. The implications of method placement on API learnability. Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering (2008), 105--112.
[23]
Unity. 2020. Performance by default. (2020). https://unity.com/dots
[24]
Jeroen J.G. Van Merriënboer and Fred G.W.C. Paas. 1990. Automation and schema acquisition in learning elementary computer programming: Implications for the design of practice. Computers in Human Behavior 6, 3 (1990), 273--289.
[25]
Liev S. Vygotsky. 1978. Mind in society: The development of higher psychological processes. Harvard University Press, Cambridge, Massachusetts.
[26]
David Wood, Jerome S. Bruner, and Gail Ross. 1976. The role of tutoring in problem solving. Journal of Child Psychology and Psychiatry 17, 2 (1976), 89--100.
[27]
Minhaz Fahim Zibran. 2008. What makes APIs difficult to use? International Journal of Computer Science and Network Security 8, 4 (2008), 255--261. http://paper.ijcsns.org/07
[28]
Minhaz F. Zibran, Farjana Z. Eishita, and Chanchal K. Roy. 2011. Useful, but usable? Factors affecting the usability of APIs. In Proceedings - Working Conference on Reverse Engineering, WCRE. IEEE, 151--155.

Cited By

View all
  • (2021)Exploring Design and Governance Challenges in the Development of Privacy-Preserving ComputationProceedings of the 2021 CHI Conference on Human Factors in Computing Systems10.1145/3411764.3445677(1-13)Online publication date: 6-May-2021

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CHI EA '20: Extended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems
April 2020
4474 pages
ISBN:9781450368193
DOI:10.1145/3334480
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 April 2020

Check for updates

Author Tags

  1. API usability
  2. application programming interface
  3. computing education
  4. data-oriented design

Qualifiers

  • Abstract

Conference

CHI '20
Sponsor:

Upcoming Conference

CHI 2025
ACM CHI Conference on Human Factors in Computing Systems
April 26 - May 1, 2025
Yokohama , Japan

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)2
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Exploring Design and Governance Challenges in the Development of Privacy-Preserving ComputationProceedings of the 2021 CHI Conference on Human Factors in Computing Systems10.1145/3411764.3445677(1-13)Online publication date: 6-May-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media