A field study of API learning obstacles
Large APIs can be hard to learn, and this can lead to decreased programmer productivity. But what makes APIs hard to learn? We conducted a mixed approach, multi-phased study of the obstacles faced by Microsoft developers learning a wide variety of new APIs. The study involved a combination of survey...
Saved in:
Published in | Empirical software engineering : an international journal Vol. 16; no. 6; pp. 703 - 732 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | English |
Published |
Boston
Springer US
01.12.2011
Springer Nature B.V |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | Large APIs can be hard to learn, and this can lead to decreased programmer productivity. But what makes APIs hard to learn? We conducted a mixed approach, multi-phased study of the obstacles faced by Microsoft developers learning a wide variety of new APIs. The study involved a combination of surveys and in-person interviews, and collected the opinions and experiences of over 440 professional developers. We found that some of the most severe obstacles faced by developers learning new APIs pertained to the documentation and other learning resources. We report on the obstacles developers face when learning new APIs, with a special focus on obstacles related to API documentation. Our qualitative analysis elicited five important factors to consider when designing API documentation: documentation of intent; code examples; matching APIs with scenarios; penetrability of the API; and format and presentation. We analyzed how these factors can be interpreted to prioritize API documentation development efforts |
---|---|
AbstractList | Large APIs can be hard to learn, and this can lead to decreased programmer productivity. But what makes APIs hard to learn? We conducted a mixed approach, multi-phased study of the obstacles faced by Microsoft developers learning a wide variety of new APIs. The study involved a combination of surveys and in-person interviews, and collected the opinions and experiences of over 440 professional developers. We found that some of the most severe obstacles faced by developers learning new APIs pertained to the documentation and other learning resources. We report on the obstacles developers face when learning new APIs, with a special focus on obstacles related to API documentation. Our qualitative analysis elicited five important factors to consider when designing API documentation: documentation of intent; code examples; matching APIs with scenarios; penetrability of the API; and format and presentation. We analyzed how these factors can be interpreted to prioritize API documentation development efforts Large APIs can be hard to learn, and this can lead to decreased programmer productivity. But what makes APIs hard to learn? We conducted a mixed approach, multi-phased study of the obstacles faced by Microsoft developers learning a wide variety of new APIs. The study involved a combination of surveys and in-person interviews, and collected the opinions and experiences of over 440 professional developers. We found that some of the most severe obstacles faced by developers learning new APIs pertained to the documentation and other learning resources. We report on the obstacles developers face when learning new APIs, with a special focus on obstacles related to API documentation. Our qualitative analysis elicited five important factors to consider when designing API documentation: documentation of intent; code examples; matching APIs with scenarios; penetrability of the API; and format and presentation. We analyzed how these factors can be interpreted to prioritize API documentation development efforts[PUBLICATION ABSTRACT] |
Author | DeLine, Robert Robillard, Martin P. |
Author_xml | – sequence: 1 givenname: Martin P. surname: Robillard fullname: Robillard, Martin P. email: martin@cs.mcgill.ca organization: School of Computer Science, McGill University – sequence: 2 givenname: Robert surname: DeLine fullname: DeLine, Robert organization: Microsoft Research, One Microsoft Way |
BookMark | eNp9kM1LwzAYh4NMcJv-Ad6Kl52ibz6aNMcx_IKBHvQc0iQdHV06k_aw_96WCsJAT8nheV5-PAs0C23wCN0SuCcA8iEREIJjIIAVyQEXF2hOcsmwFETMhj8rKGY0F1dokdIeAJTk-Ryt1llV-8ZlqevdKWurbP3-mjXexFCHXdaWqTO28ekaXVamSf7m512iz6fHj80L3r49v27WW2wZlx3mZem4k4oNYyBXREoDEpiy1HlpiSi5UYY4z1gORBDLnANnKaOGO2OsZEu0mu4eY_vV-9TpQ52sbxoTfNsnraigihEykndn5L7tYxjG6aIoKKdCFgMkJ8jGNqXoK23rznR1G7po6kYT0GM-PeXTQz495tOjSc7MY6wPJp7-dejkpIENOx9_J_0tfQP04YDo |
CitedBy_id | crossref_primary_10_1109_TSE_2020_3047088 crossref_primary_10_1016_j_cola_2022_101189 crossref_primary_10_1109_TSE_2018_2876006 crossref_primary_10_1145_3687299 crossref_primary_10_1007_s10664_025_10618_0 crossref_primary_10_1145_2544173_2509523 crossref_primary_10_1002_widm_1369 crossref_primary_10_1109_TSE_2021_3067156 crossref_primary_10_1007_s11390_021_0235_1 crossref_primary_10_1016_j_csi_2022_103657 crossref_primary_10_1007_s10515_021_00294_x crossref_primary_10_1002_smr_1660 crossref_primary_10_1109_ACCESS_2023_3238813 crossref_primary_10_1007_s11219_024_09686_0 crossref_primary_10_1109_TSE_2014_2387172 crossref_primary_10_1016_j_cosrev_2019_05_001 crossref_primary_10_1186_s40411_018_0050_8 crossref_primary_10_1016_j_jss_2019_07_101 crossref_primary_10_1002_spe_2215 crossref_primary_10_1109_TSE_2020_3023664 crossref_primary_10_1007_s11390_020_0042_0 crossref_primary_10_1002_pra2_2018_14505501171 crossref_primary_10_1145_3392859 crossref_primary_10_1109_MIC_2018_032501515 crossref_primary_10_1109_TSC_2018_2812729 crossref_primary_10_1007_s10664_023_10304_z crossref_primary_10_1145_3439769 crossref_primary_10_1109_ACCESS_2017_2777845 crossref_primary_10_3390_philosophies1010087 crossref_primary_10_1016_j_infsof_2019_03_009 crossref_primary_10_1007_s10664_022_10156_z crossref_primary_10_1007_s11771_019_4185_5 crossref_primary_10_1145_3444945 crossref_primary_10_1007_s10664_023_10345_4 crossref_primary_10_1016_j_jss_2016_12_036 crossref_primary_10_3390_mti8040035 crossref_primary_10_1002_smr_1841 crossref_primary_10_1109_TSE_2019_2903039 crossref_primary_10_1016_j_jss_2018_04_034 crossref_primary_10_1145_2896587 crossref_primary_10_1016_j_jss_2024_111974 crossref_primary_10_1134_S0361768820080241 crossref_primary_10_1007_s10664_020_09857_0 crossref_primary_10_1007_s10664_014_9323_y crossref_primary_10_1016_j_jss_2014_10_014 crossref_primary_10_1007_s10664_015_9411_7 crossref_primary_10_1145_3695988 crossref_primary_10_1109_TSE_2021_3120203 crossref_primary_10_1145_3561383 crossref_primary_10_1007_s10664_022_10235_1 crossref_primary_10_1145_3545995 crossref_primary_10_1109_TSE_2017_2782280 crossref_primary_10_1002_spe_2906 crossref_primary_10_1145_3571850 crossref_primary_10_1142_S0218194021500406 crossref_primary_10_1007_s10664_019_09743_4 crossref_primary_10_1007_s10664_016_9444_6 crossref_primary_10_1007_s10664_015_9421_5 crossref_primary_10_1145_3702976 crossref_primary_10_1016_j_jss_2016_06_063 crossref_primary_10_1016_j_jss_2021_110971 crossref_primary_10_1016_j_jss_2021_111146 crossref_primary_10_1109_TSE_2020_3040935 crossref_primary_10_1007_s10515_023_00401_0 crossref_primary_10_1145_3715007 crossref_primary_10_1016_j_jss_2020_110728 crossref_primary_10_1145_3622851 crossref_primary_10_3389_frai_2020_00013 crossref_primary_10_1145_3470133 crossref_primary_10_1007_s10664_021_09962_8 crossref_primary_10_1109_TSE_2013_12 crossref_primary_10_1016_j_ins_2018_03_014 crossref_primary_10_1109_TE_2013_2238543 crossref_primary_10_1109_TSE_2020_2988396 crossref_primary_10_1016_j_cosrev_2025_100732 crossref_primary_10_1186_s13173_016_0049_0 crossref_primary_10_1002_asi_24067 crossref_primary_10_1109_MS_2014_80 crossref_primary_10_1007_s11432_019_2745_5 crossref_primary_10_1145_3358931_3358937 crossref_primary_10_1016_j_cola_2023_101201 crossref_primary_10_1007_s10664_018_9614_9 crossref_primary_10_1007_s10515_024_00442_z crossref_primary_10_1007_s10664_023_10318_7 crossref_primary_10_1007_s10664_022_10241_3 crossref_primary_10_1145_3565799 crossref_primary_10_1007_s00766_023_00401_2 crossref_primary_10_1007_s10664_014_9343_7 crossref_primary_10_1145_2990497 crossref_primary_10_1145_2622669 crossref_primary_10_1007_s11219_024_09668_2 crossref_primary_10_1016_j_jss_2020_110724 crossref_primary_10_1145_3691627 crossref_primary_10_1016_j_infsof_2016_04_004 crossref_primary_10_1177_2053951719827619 crossref_primary_10_1016_j_infsof_2021_106686 crossref_primary_10_1016_j_jvlc_2016_07_005 crossref_primary_10_1109_TSE_2012_63 crossref_primary_10_1109_TSE_2020_2996975 crossref_primary_10_1016_j_jss_2024_112296 crossref_primary_10_1109_TSE_2014_2367027 crossref_primary_10_1109_TSE_2023_3332568 crossref_primary_10_1142_S0218194022500437 crossref_primary_10_1049_sfw2_12023 crossref_primary_10_1145_3453478 crossref_primary_10_1007_s00766_020_00342_0 crossref_primary_10_1109_TSE_2020_2981898 crossref_primary_10_1177_0047281617721853 |
Cites_doi | 10.1109/52.922731 10.1145/361598.361623 10.1109/ICSE.2007.92 10.1145/584955.584976 10.1109/VLHCC.2007.44 10.1109/ICSM.2002.1167761 10.1109/ICPC.2008.12 10.1109/VLHCC.2008.4639083 10.1109/ICCE.2005.1429764 10.1145/1176617.1176622 10.1145/1518701.1518944 10.1109/52.676963 10.1109/VLHCC.2008.4639084 10.1145/1453101.1453117 10.1016/j.infsof.2007.02.013 10.1109/MS.2009.193 10.1109/TSE.2006.117 10.1016/S0164-1212(02)00136-X 10.1109/ICSE.2007.85 10.4135/9781452230153 10.4324/9780080481913 10.1109/52.991326 10.1109/TSE.2008.26 10.1007/978-3-642-00427-8_6 10.1109/32.881720 10.1145/234526.234530 |
ContentType | Journal Article |
Copyright | Springer Science+Business Media, LLC 2010 Springer Science+Business Media, LLC 2011 |
Copyright_xml | – notice: Springer Science+Business Media, LLC 2010 – notice: Springer Science+Business Media, LLC 2011 |
DBID | AAYXX CITATION 7SC 8FD 8FE 8FG ABJCF AFKRA ARAPS BENPR BGLVJ CCPQU DWQXO HCIFZ JQ2 L6V L7M L~C L~D M7S P5Z P62 PHGZM PHGZT PKEHL PQEST PQGLB PQQKQ PQUKI PRINS PTHSS S0W |
DOI | 10.1007/s10664-010-9150-8 |
DatabaseName | CrossRef Computer and Information Systems Abstracts Technology Research Database ProQuest SciTech Collection ProQuest Technology Collection Materials Science & Engineering Collection ProQuest Central UK/Ireland Advanced Technologies & Aerospace Collection ProQuest Central Technology Collection ProQuest One ProQuest Central Korea SciTech Premium Collection ProQuest Computer Science Collection ProQuest Engineering Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional Engineering Database Advanced Technologies & Aerospace Database ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Premium ProQuest One Academic ProQuest One Academic Middle East (New) ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Applied & Life Sciences ProQuest One Academic ProQuest One Academic UKI Edition ProQuest Central China Engineering Collection DELNET Engineering & Technology Collection |
DatabaseTitle | CrossRef Technology Collection Technology Research Database Computer and Information Systems Abstracts – Academic ProQuest One Academic Middle East (New) ProQuest Advanced Technologies & Aerospace Collection ProQuest Computer Science Collection Computer and Information Systems Abstracts SciTech Premium Collection ProQuest One Community College ProQuest Central China ProQuest Central ProQuest One Applied & Life Sciences ProQuest Engineering Collection ProQuest Central Korea ProQuest Central (New) Advanced Technologies Database with Aerospace Engineering Collection Advanced Technologies & Aerospace Collection Engineering Database ProQuest One Academic Eastern Edition ProQuest Technology Collection ProQuest SciTech Collection Computer and Information Systems Abstracts Professional Advanced Technologies & Aerospace Database ProQuest One Academic UKI Edition ProQuest DELNET Engineering and Technology Collection Materials Science & Engineering Collection ProQuest One Academic ProQuest One Academic (New) |
DatabaseTitleList | Computer and Information Systems Abstracts Technology Collection |
Database_xml | – sequence: 1 dbid: 8FG name: ProQuest Technology Collection url: https://search.proquest.com/technologycollection1 sourceTypes: Aggregation Database |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 1573-7616 |
EndPage | 732 |
ExternalDocumentID | 2447467901 10_1007_s10664_010_9150_8 |
Genre | Feature |
GroupedDBID | -4Z -59 -5G -BR -EM -Y2 -~C .86 .DC .VR 06D 0R~ 0VY 199 1N0 1SB 2.D 203 28- 29G 2J2 2JN 2JY 2KG 2LR 2P1 2VQ 2~H 30V 4.4 406 408 409 40D 40E 5GY 5QI 5VS 67Z 6NX 78A 8FE 8FG 8TC 8UJ 95- 95. 95~ 96X AABHQ AACDK AAHNG AAIAL AAJBT AAJKR AANZL AAOBN AARHV AARTL AASML AATNV AATVU AAUYE AAWCG AAYIU AAYOK AAYQN AAYTO AAYZH ABAKF ABBBX ABBXA ABDZT ABECU ABFTD ABFTV ABHLI ABHQN ABJCF ABJNI ABJOX ABKCH ABKTR ABMNI ABMQK ABNWP ABQBU ABQSL ABSXP ABTEG ABTHY ABTKH ABTMW ABULA ABWNU ABXPI ACAOD ACBXY ACDTI ACGFS ACHSB ACHXU ACIWK ACKNC ACMDZ ACMLO ACOKC ACOMO ACPIV ACSNA ACZOJ ADHHG ADHIR ADIMF ADINQ ADKNI ADKPE ADRFC ADTPH ADURQ ADYFF ADZKW AEBTG AEFIE AEFQL AEGAL AEGNC AEJHL AEJRE AEKMD AEMSY AENEX AEOHA AEPYU AESKC AETLH AEVLU AEXYK AFBBN AFEXP AFGCZ AFKRA AFLOW AFQWF AFWTZ AFZKB AGAYW AGDGC AGGDS AGJBK AGMZJ AGQEE AGQMX AGRTI AGWIL AGWZB AGYKE AHAVH AHBYD AHKAY AHSBF AHYZX AIAKS AIGIU AIIXL AILAN AITGF AJBLW AJRNO AJZVZ ALMA_UNASSIGNED_HOLDINGS ALWAN AMKLP AMXSW AMYLF AMYQR AOCGG ARAPS ARMRJ ASPBG AVWKF AXYYD AYJHY AZFZN B-. BA0 BBWZM BDATZ BENPR BGLVJ BGNMA BSONS CAG CCPQU COF CS3 CSCUP DDRTE DL5 DNIVK DPUIP DU5 EBLON EBS EIOEI EJD ESBYG FEDTE FERAY FFXSO FIGPU FINBP FNLPD FRRFC FSGXE FWDCC GGCAI GGRSB GJIRD GNWQR GQ6 GQ7 GQ8 GXS H13 HCIFZ HF~ HG5 HG6 HMJXF HQYDN HRMNR HVGLF HZ~ I09 IHE IJ- IKXTQ ITM IWAJR IXC IZIGR IZQ I~X I~Z J-C J0Z JBSCW JCJTX JZLTJ KDC KOV KOW L6V LAK LLZTM M4Y M7S MA- N2Q NB0 NDZJH NPVJJ NQJWS NU0 O9- O93 O9G O9I O9J OAM P19 P62 P9O PF0 PT4 PT5 PTHSS Q2X QOK QOS R4E R89 R9I RHV RNI RNS ROL RPX RSV RZC RZE RZK S0W S16 S1Z S26 S27 S28 S3B SAP SCJ SCLPG SCO SDH SDM SHX SISQX SJYHP SNE SNPRN SNX SOHCF SOJ SPISZ SRMVM SSLCW STPWE SZN T13 T16 TSG TSK TSV TUC U2A UG4 UOJIU UTJUX UZXMN VC2 VFIZW W23 W48 WK8 YLTOR Z45 Z7R Z7S Z7V Z7X Z7Z Z81 Z83 Z86 Z88 Z8M Z8N Z8P Z8R Z8T Z8U Z8W Z92 ZMTXR ~EX AAPKM AAYXX ABBRH ABDBE ABFSG ACSTC ADHKG AEZWR AFDZB AFHIU AFOHR AGQPQ AHPBZ AHWEU AIXLP ATHPR AYFIA CITATION PHGZM PHGZT 7SC 8FD ABRTQ DWQXO JQ2 L7M L~C L~D PKEHL PQEST PQGLB PQQKQ PQUKI PRINS PUEGO |
ID | FETCH-LOGICAL-c347t-4bbd4d793664059177a07039c2de7c16b4a9a1de3350161c3dd0dc232a4daac73 |
IEDL.DBID | BENPR |
ISSN | 1382-3256 |
IngestDate | Sun Aug 24 03:03:09 EDT 2025 Fri Jul 25 11:14:56 EDT 2025 Tue Jul 01 03:32:15 EDT 2025 Thu Apr 24 23:06:06 EDT 2025 Fri Feb 21 02:35:46 EST 2025 |
IsPeerReviewed | true |
IsScholarly | true |
Issue | 6 |
Keywords | Programming Software libraries Documentation Application programming interfaces |
Language | English |
License | http://www.springer.com/tdm |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-c347t-4bbd4d793664059177a07039c2de7c16b4a9a1de3350161c3dd0dc232a4daac73 |
Notes | SourceType-Scholarly Journals-1 ObjectType-Feature-1 content type line 14 ObjectType-Article-2 content type line 23 |
PQID | 888242678 |
PQPubID | 326341 |
PageCount | 30 |
ParticipantIDs | proquest_miscellaneous_926293117 proquest_journals_888242678 crossref_citationtrail_10_1007_s10664_010_9150_8 crossref_primary_10_1007_s10664_010_9150_8 springer_journals_10_1007_s10664_010_9150_8 |
ProviderPackageCode | CITATION AAYXX |
PublicationCentury | 2000 |
PublicationDate | 20111200 2011-12-00 20111201 |
PublicationDateYYYYMMDD | 2011-12-01 |
PublicationDate_xml | – month: 12 year: 2011 text: 20111200 |
PublicationDecade | 2010 |
PublicationPlace | Boston |
PublicationPlace_xml | – name: Boston – name: Dordrecht |
PublicationSubtitle | An International Journal |
PublicationTitle | Empirical software engineering : an international journal |
PublicationTitleAbbrev | Empir Software Eng |
PublicationYear | 2011 |
Publisher | Springer US Springer Nature B.V |
Publisher_xml | – name: Springer US – name: Springer Nature B.V |
References | Bore C, Bore S (2005) Profiling software API usability for consumer electronics. In: Digest of int’l conf. on consumer electronics, pp 155–156 Feilkas M, Ratiu D (2008) Ensuring well-behaved usage of APIs through syntactic constraints. In: Proc. 16th int’l conf. on program comprehension, pp 248–253 Robillard MP (2009) What makes APIs hard to learn? The answers of developers. IEEE Softw (November/December):27–34 McLellanSGRoeslerAWTempestJTSpinuzziCIBuilding more usable APIsIEEE Softw1998153788610.1109/52.676963 Cwalina K, Abrams B (2009) Framework design guidelines: conventions, idioms, and patterns for reusable .NET Libraries, 2nd edn. Addison-Wesley Stylos J, Myers BA (2008) Implications of method placement on api learnability. In: Proc. 16th ACM SIGSOFT int’l symp. on the foundations of software engineering, pp 105–112 des Rivières J (2004) Eclipse APIs: lines in the sand. EclipseCon Technical Talk. http://www.eclipse.org/eclipse/development/apis/Eclipse-APIs-Lines-in-the-Sand.pdf FowlerMPublic versus published interfacesIEEE Softw2002192181910.1109/52.991326 LarmanCProtected variation: the importance of being closedIEEE Softw2001183899110.1109/52.922731 Corbin J, Strauss A (2007) Basics of qualitative research: techniques and procedures for developing grounded theory. Sage Publications HolmesRWalkerRJMurphyGCApproximate structural context matching: an approach to recommend relevant examplesIEEE Trans Softw Eng2006321295297010.1109/TSE.2006.117 Stylos J, Myers BA (2007) Mapping the space of API design decisions. In: Proc. symp. on visual languages and human-centric computing, pp 50–60 Stylos J, Graf B, Busse DK, Ziegler C, Karstens REJ (2008) A case study of API redesign for improved usability. In: Proc. symp. on visual languages and human-centric computing, pp 189–192 WestfallPHTobiasRDRomDWolfingerRDHochbergYMultiple comparisons and multiple tests using the SAS system1999Cary, NCSAS Institute Inc Beaton J, Jeong SY, Xie Y, Stylos J, Myers BA (2008) Usability challenges for enterprise service-oriented architecture APIs. In: Proc. IEEE symp. visual languages and human-centric computing, pp 193–196 BerglundEDesigning electronic reference documentation for software component librariesJ Syst Softw20036816575197328010.1016/S0164-1212(02)00136-X LuttersWGSeamanCBRevealing actual documentation usage in software maintenance through war storiesInf Softw Technol20074957658710.1016/j.infsof.2007.02.013 Seaman CB (2002) The information gathering strategies of software maintainers. In: Proc. int’l conf. on software maintenance, pp 141–149 Hou D (2008) Investigating the effects of framework design knowledge in example-based framework learning. In: Proc. 24th int’l conf. on software maintenance, pp 37–46 Ellis B, Stylos J, Myers B (2007) The factory pattern in API design: a usability evaluation. In: Proc. 29th int’l conf. on software engineering, pp 302–312. doi:10.1109/ICSE.2007.85 Knowles MS, Holton III EF, Swanson RA (2005) The adult learner, 6th edn. Butterworth-Heinemann Olson M, Hergenhahn B (2008) Introduction to the theories of learning, 8th edn. Prentice Hall RossonMBCarrollJMThe reuse of uses in Smalltalk programmingACM Trans Comput-Hum Interact19963321925310.1145/234526.234530 Weiss RS (1994) Learning from strangers: the art and method of qualitative interview studies. The Free Press Ko AJ, Myers BA, Aung HH (2004) Six learning barriers in end-user programming systems. In: Proc. symp. on visual languages and human centric computing, pp 199–206 ParnasDLOn the criteria to be used in decomposing systems into modulesCommun ACM197215121053105810.1145/361598.361623 Stylos J, Clarke S (2007) Usability implications of requiring parameters in objects’ constructors. In: Proc. 29th int’l conf. on software engineering, pp 529–539 Tulach J (2008) Practical API Design: confessions of a Java framework architect. APress Ko AJ, DeLine R, Venolia G (2007) Information needs in collocated software development teams. In: Proc. 29th int’l conf. on software engineering, pp 344–353 ShullFLanubileFBasiliVRInvestigating reading techniques for object-oriented framework learningIEEE Trans Softw Eng200026111101111810.1109/32.881720 SillitoJMurphyGCVolderKDAsking and answering questions during a programming change taskIEEE Trans Softw Eng200834443445110.1109/TSE.2008.26 Bloch J (2006) How to design a good API and why it matters. In: Companion to the 21st ACM SIGPLAN symposium on object-oriented programming systems, languages, and applications, pp 505–506 Jeong SY, Xie Y, Beaton J, Myers BA, Stylos J, Ehret R, Karstens J, Efeoglu A, Busse DK (2009) Improving documentation for eSOA APIs through user studies. In: Proc. 2nd int’l symp. on end-user development. LNCS, vol 5435. Springer, pp 86–105 Clarke S (2004) Measuring API usability. Dr Dobb’s Journal Special Windows/NET Supplement Brandt J, Guo PJ, Lewenstein J, Dontcheva M, Klemmer SR (2009) Two studies of opportunistic programming: interleaving web foraging, learning, and writing code. In: Proc. 27th int’l conf. on human factors in computing systems, pp 1589–1598 Creswell JW (2007) Qualitative inquiry and research design: choosing among five approaches. Sage Publications Hou D, Wong K, Hoover JH (2005) What can programmer questions tell us about frameworks? In: Proc. 13th int’l workshop on program comprehension, pp 87–96 Nykaza J, Messinger R, Boehme F, Norman CL, Mace M, Gordon M (2002) What programmers really want: results of a needs assessment for SDK documentation. In: Proc. 20th annual ACM SIGDOC int’l conf. on computer documentation, pp 133–141 9150_CR29 9150_CR27 MB Rosson (9150_CR28) 1996; 3 WG Lutters (9150_CR21) 2007; 49 SG McLellan (9150_CR22) 1998; 15 M Fowler (9150_CR12) 2002; 19 9150_CR11 9150_CR33 E Berglund (9150_CR2) 2003; 68 9150_CR10 9150_CR32 DL Parnas (9150_CR25) 1972; 15 R Holmes (9150_CR13) 2006; 32 9150_CR15 9150_CR37 9150_CR14 9150_CR36 9150_CR35 9150_CR34 9150_CR19 9150_CR18 9150_CR17 F Shull (9150_CR30) 2000; 26 9150_CR1 9150_CR16 C Larman (9150_CR20) 2001; 18 9150_CR8 9150_CR7 9150_CR9 9150_CR4 9150_CR3 9150_CR6 9150_CR5 PH Westfall (9150_CR38) 1999 J Sillito (9150_CR31) 2008; 34 9150_CR26 9150_CR24 9150_CR23 |
References_xml | – reference: Bore C, Bore S (2005) Profiling software API usability for consumer electronics. In: Digest of int’l conf. on consumer electronics, pp 155–156 – reference: Brandt J, Guo PJ, Lewenstein J, Dontcheva M, Klemmer SR (2009) Two studies of opportunistic programming: interleaving web foraging, learning, and writing code. In: Proc. 27th int’l conf. on human factors in computing systems, pp 1589–1598 – reference: Knowles MS, Holton III EF, Swanson RA (2005) The adult learner, 6th edn. Butterworth-Heinemann – reference: des Rivières J (2004) Eclipse APIs: lines in the sand. EclipseCon Technical Talk. http://www.eclipse.org/eclipse/development/apis/Eclipse-APIs-Lines-in-the-Sand.pdf – reference: Clarke S (2004) Measuring API usability. Dr Dobb’s Journal Special Windows/NET Supplement – reference: RossonMBCarrollJMThe reuse of uses in Smalltalk programmingACM Trans Comput-Hum Interact19963321925310.1145/234526.234530 – reference: WestfallPHTobiasRDRomDWolfingerRDHochbergYMultiple comparisons and multiple tests using the SAS system1999Cary, NCSAS Institute Inc – reference: FowlerMPublic versus published interfacesIEEE Softw2002192181910.1109/52.991326 – reference: ParnasDLOn the criteria to be used in decomposing systems into modulesCommun ACM197215121053105810.1145/361598.361623 – reference: Stylos J, Graf B, Busse DK, Ziegler C, Karstens REJ (2008) A case study of API redesign for improved usability. In: Proc. symp. on visual languages and human-centric computing, pp 189–192 – reference: Jeong SY, Xie Y, Beaton J, Myers BA, Stylos J, Ehret R, Karstens J, Efeoglu A, Busse DK (2009) Improving documentation for eSOA APIs through user studies. In: Proc. 2nd int’l symp. on end-user development. LNCS, vol 5435. Springer, pp 86–105 – reference: Stylos J, Myers BA (2007) Mapping the space of API design decisions. In: Proc. symp. on visual languages and human-centric computing, pp 50–60 – reference: Tulach J (2008) Practical API Design: confessions of a Java framework architect. APress – reference: Feilkas M, Ratiu D (2008) Ensuring well-behaved usage of APIs through syntactic constraints. In: Proc. 16th int’l conf. on program comprehension, pp 248–253 – reference: Bloch J (2006) How to design a good API and why it matters. In: Companion to the 21st ACM SIGPLAN symposium on object-oriented programming systems, languages, and applications, pp 505–506 – reference: Hou D (2008) Investigating the effects of framework design knowledge in example-based framework learning. In: Proc. 24th int’l conf. on software maintenance, pp 37–46 – reference: Beaton J, Jeong SY, Xie Y, Stylos J, Myers BA (2008) Usability challenges for enterprise service-oriented architecture APIs. In: Proc. IEEE symp. visual languages and human-centric computing, pp 193–196 – reference: SillitoJMurphyGCVolderKDAsking and answering questions during a programming change taskIEEE Trans Softw Eng200834443445110.1109/TSE.2008.26 – reference: HolmesRWalkerRJMurphyGCApproximate structural context matching: an approach to recommend relevant examplesIEEE Trans Softw Eng2006321295297010.1109/TSE.2006.117 – reference: Olson M, Hergenhahn B (2008) Introduction to the theories of learning, 8th edn. Prentice Hall – reference: ShullFLanubileFBasiliVRInvestigating reading techniques for object-oriented framework learningIEEE Trans Softw Eng200026111101111810.1109/32.881720 – reference: Stylos J, Myers BA (2008) Implications of method placement on api learnability. In: Proc. 16th ACM SIGSOFT int’l symp. on the foundations of software engineering, pp 105–112 – reference: Ko AJ, Myers BA, Aung HH (2004) Six learning barriers in end-user programming systems. In: Proc. symp. on visual languages and human centric computing, pp 199–206 – reference: Nykaza J, Messinger R, Boehme F, Norman CL, Mace M, Gordon M (2002) What programmers really want: results of a needs assessment for SDK documentation. In: Proc. 20th annual ACM SIGDOC int’l conf. on computer documentation, pp 133–141 – reference: Cwalina K, Abrams B (2009) Framework design guidelines: conventions, idioms, and patterns for reusable .NET Libraries, 2nd edn. Addison-Wesley – reference: Stylos J, Clarke S (2007) Usability implications of requiring parameters in objects’ constructors. In: Proc. 29th int’l conf. on software engineering, pp 529–539 – reference: Creswell JW (2007) Qualitative inquiry and research design: choosing among five approaches. Sage Publications – reference: Hou D, Wong K, Hoover JH (2005) What can programmer questions tell us about frameworks? In: Proc. 13th int’l workshop on program comprehension, pp 87–96 – reference: Corbin J, Strauss A (2007) Basics of qualitative research: techniques and procedures for developing grounded theory. Sage Publications – reference: Ellis B, Stylos J, Myers B (2007) The factory pattern in API design: a usability evaluation. In: Proc. 29th int’l conf. on software engineering, pp 302–312. doi:10.1109/ICSE.2007.85 – reference: BerglundEDesigning electronic reference documentation for software component librariesJ Syst Softw20036816575197328010.1016/S0164-1212(02)00136-X – reference: LarmanCProtected variation: the importance of being closedIEEE Softw2001183899110.1109/52.922731 – reference: Weiss RS (1994) Learning from strangers: the art and method of qualitative interview studies. The Free Press – reference: McLellanSGRoeslerAWTempestJTSpinuzziCIBuilding more usable APIsIEEE Softw1998153788610.1109/52.676963 – reference: Ko AJ, DeLine R, Venolia G (2007) Information needs in collocated software development teams. In: Proc. 29th int’l conf. on software engineering, pp 344–353 – reference: Robillard MP (2009) What makes APIs hard to learn? The answers of developers. IEEE Softw (November/December):27–34 – reference: Seaman CB (2002) The information gathering strategies of software maintainers. In: Proc. int’l conf. on software maintenance, pp 141–149 – reference: LuttersWGSeamanCBRevealing actual documentation usage in software maintenance through war storiesInf Softw Technol20074957658710.1016/j.infsof.2007.02.013 – volume: 18 start-page: 89 issue: 3 year: 2001 ident: 9150_CR20 publication-title: IEEE Softw doi: 10.1109/52.922731 – volume: 15 start-page: 1053 issue: 12 year: 1972 ident: 9150_CR25 publication-title: Commun ACM doi: 10.1145/361598.361623 – ident: 9150_CR32 doi: 10.1109/ICSE.2007.92 – ident: 9150_CR9 – ident: 9150_CR23 doi: 10.1145/584955.584976 – ident: 9150_CR33 doi: 10.1109/VLHCC.2007.44 – ident: 9150_CR29 doi: 10.1109/ICSM.2002.1167761 – ident: 9150_CR11 doi: 10.1109/ICPC.2008.12 – ident: 9150_CR35 doi: 10.1109/VLHCC.2008.4639083 – ident: 9150_CR4 doi: 10.1109/ICCE.2005.1429764 – ident: 9150_CR3 doi: 10.1145/1176617.1176622 – ident: 9150_CR5 doi: 10.1145/1518701.1518944 – ident: 9150_CR15 – volume: 15 start-page: 78 issue: 3 year: 1998 ident: 9150_CR22 publication-title: IEEE Softw doi: 10.1109/52.676963 – ident: 9150_CR1 doi: 10.1109/VLHCC.2008.4639084 – ident: 9150_CR34 doi: 10.1145/1453101.1453117 – ident: 9150_CR19 – ident: 9150_CR36 – ident: 9150_CR24 – volume: 49 start-page: 576 year: 2007 ident: 9150_CR21 publication-title: Inf Softw Technol doi: 10.1016/j.infsof.2007.02.013 – ident: 9150_CR27 doi: 10.1109/MS.2009.193 – volume: 32 start-page: 952 issue: 12 year: 2006 ident: 9150_CR13 publication-title: IEEE Trans Softw Eng doi: 10.1109/TSE.2006.117 – volume: 68 start-page: 65 issue: 1 year: 2003 ident: 9150_CR2 publication-title: J Syst Softw doi: 10.1016/S0164-1212(02)00136-X – ident: 9150_CR26 – volume-title: Multiple comparisons and multiple tests using the SAS system year: 1999 ident: 9150_CR38 – ident: 9150_CR10 doi: 10.1109/ICSE.2007.85 – ident: 9150_CR7 doi: 10.4135/9781452230153 – ident: 9150_CR17 doi: 10.4324/9780080481913 – volume: 19 start-page: 18 issue: 2 year: 2002 ident: 9150_CR12 publication-title: IEEE Softw doi: 10.1109/52.991326 – volume: 34 start-page: 434 issue: 4 year: 2008 ident: 9150_CR31 publication-title: IEEE Trans Softw Eng doi: 10.1109/TSE.2008.26 – ident: 9150_CR8 – ident: 9150_CR6 – ident: 9150_CR14 – ident: 9150_CR16 doi: 10.1007/978-3-642-00427-8_6 – volume: 26 start-page: 1101 issue: 11 year: 2000 ident: 9150_CR30 publication-title: IEEE Trans Softw Eng doi: 10.1109/32.881720 – ident: 9150_CR18 – volume: 3 start-page: 219 issue: 3 year: 1996 ident: 9150_CR28 publication-title: ACM Trans Comput-Hum Interact doi: 10.1145/234526.234530 – ident: 9150_CR37 |
SSID | ssj0009745 |
Score | 2.409737 |
Snippet | Large APIs can be hard to learn, and this can lead to decreased programmer productivity. But what makes APIs hard to learn? We conducted a mixed approach,... |
SourceID | proquest crossref springer |
SourceType | Aggregation Database Enrichment Source Index Database Publisher |
StartPage | 703 |
SubjectTerms | API Compilers Computer Science Developers Documentation Interpreters Learning Obstacles Productivity Programmers Programming Languages Software Engineering/Programming and Operating Systems Vulnerability |
SummonAdditionalLinks | – databaseName: SpringerLink Journals (ICM) dbid: U2A link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LS8QwEA66Xrz4FtdVyUEQlEDTvJpjEWUVFA8u7C3kVS_Sirv7_02y7VZFBc95tEwymW8yk28AOM9ZlRFWWeSlYIhKJ5HmVY6MlMwGB8JIHe8hHx75eELvp2zavuOeddnuXUgyndSfHrtxHjMmsqCgLEPFOthgwXWPeVyTvOyZdkWqTBy59RAJBr0LZf40xVdj1CPMb0HRZGtud8BWCxJhuVzVXbDm6z2w3RVggK0-7oOLEqYMNJhIYmFTwfLpDraFIF5gYwL0i1lvB2Bye_N8PUZt5QNkCRVzRI1x1AXVCb8b8A8WQkfVlDZ3XljMDdVSY-dJDAtybIlzmbMBHGnqtLaCHIJB3dT-CMBKUlxUuPIsNGLppfSYa058XoSxxg9B1olA2ZYWPFaneFU9oXGUmgpSU1FqqhiCy9WQtyUnxl-dR51cVaseMxXc7ggNRGiFq9awr2OwQte-WcxU5DGUBGMxBFfdavQT_Pq543_1HoHNdEec0lNOwGD-vvCnAWTMzVnaVB-ENsTI priority: 102 providerName: Springer Nature |
Title | A field study of API learning obstacles |
URI | https://link.springer.com/article/10.1007/s10664-010-9150-8 https://www.proquest.com/docview/888242678 https://www.proquest.com/docview/926293117 |
Volume | 16 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV3dS8MwED90e_HFb7FORx4EQQk2_UrzJFX2oeIY4mA-lTRJfZF2uu3_N-nSFQX32jRNueRyl7vL7wdw6YW564e5wIrREAdMMsyj3MMZY6HQB4iMcROHfBlFw0nwNA2ntjZnbssq6z2x2qhlKUyM_Faf1Iw1ofHd7Asb0iiTXLUMGtvQ1jtwHLegfd8bjV8b1F1asRQbnD3sa-NepzVXd-eiyBRguFrfQxfHvw1T423-SZBWdqe_D7vWYUTJaoYPYEsVh7BXkzEgq5tHcJWgqhoNVYCxqMxRMn5ElhTiA5WZdgNNBdwxTPq9t4chtiwIWPgBXeAgy2QgtRrp39W-EKGUGzVlwpOKChJlAWecSOWbFGFEhC-lK4V2lHggORfUP4FWURbqFFDOAhLnJFehbiRMMaZIxCNfebHumykH3FoEqbAQ4Yap4jNtwI2N1FIttdRILY0duF53ma3wMTa93KnlmlpVmafriXUArVv1GjeJC16ocjlPDaYh8wmhDtzUs9F84N_hzjYO14GdKj5claacQ2vxvVQX2sFYZF3YjvuDLrSTwftzr2sXlX468ZIfBibMxA |
linkProvider | ProQuest |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1LTxsxEB4FeoBLS3mI8KoPrSoVWcRr78MHhCJomhBAPYDEzXhtL5cqCyQI9Uf1P3Zms5sIJLhx9ksajz3feMbfAHyN4qIj48LxoNOYK-01t0kR8Vzr2KEDkWtL75DnF0n_Sp1ex9ct-Nf8haG0yuZOrC5qXzp6Iz9AT42sSZod3d1zKhpFwdWmgsZUK4bh7xN6bOPDwQlu77co6v28PO7zuqgAd1KlE67y3CuPWpkkiFXQWUktab12kQ-pE0murLbCB0kRt0Q46X3HO8QdVnlrXSpx3gX4oCQacvqY3vs15_hNq5rIxOrHJUKJJog6_amH63GKPGuEYDx7bgbn2PZFOLaycr0V-FjDU9ad6tNnaIXRKnxqSj-w-iZYg-9dVuW-sYqelpUF6_4esLoExS0rcwSdlG-3DlfvIp4NWByVo7AJrNBKZIUoQoyNQgetg0hsIkOU4dg8tKHTiMC4mpCc6mL8MXMqZZKaQakZkprJ2vBjNuRuysbxVuftRq6mPphjM1OjNrBZK54oCpPYUSgfx4YYFLUUIm3DfrMb8wleXW7rzeW-wFL_8vzMnA0uhtuwXL1MV0kxO7A4eXgMuwhtJvlepVAMbt5bg_8DFuYEfA |
linkToPdf | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1LbxMxEB6VREJc2vJSt6HgAwgJZDXel9eHqgq0UUMhihCRejNe28sFZdsmUdWf1n_HzD4SgURuOXvXlsaf7W88428A3oZJ0Y-SwnKvZMJj5RQ3aRHyXKnEogORK0P3kN_G6cU0_nKVXO3AQ_sWhtIq2z2x2qhdaemO_Bg9NTpNZHZcNFkRk7Ph6fUNpwJSFGhtq2nUCLn093fovc1PRmc41e_CcHj-4_MFbwoMcBvFcsHjPHexQ4SmKfIWdFykoRWgbOi8tCLNY6OMcD6i6FsqbORc31nkICZ2xlgZYb-PoCvJKepA99P5ePJ9rfgrqwrJpPHHIyQWbUi1freHI3KKQyskZDz7-1BcM91_grPVmTfch92GrLJBja6nsONnz2CvLQTBmn3hObwfsCoTjlVitaws2GAyYk1Bil-szJGCUvbdC5huxUAvoTMrZ_4AWKFikRWi8Ak2CuWV8iI1aeTDDP_NfQD91gTaNvLkVCXjt14LK5PVNFpNk9V0FsCH1S_XtTbHpo97rV11s0znegWqANiqFdcXBU3MzJfLuSY9RRUJIQP42M7GuoP_Dne4cbg38BjRq7-Oxpc9eFJdU1cZMq-gs7hd-iPkOYv8dYMoBj-3DeI_13MKDg |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+field+study+of+API+learning+obstacles&rft.jtitle=Empirical+software+engineering+%3A+an+international+journal&rft.au=Robillard%2C+Martin+P&rft.au=DeLine%2C+Robert&rft.date=2011-12-01&rft.issn=1382-3256&rft.eissn=1573-7616&rft.volume=16&rft.issue=6&rft.spage=703&rft.epage=732&rft_id=info:doi/10.1007%2Fs10664-010-9150-8&rft.externalDBID=NO_FULL_TEXT |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1382-3256&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1382-3256&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1382-3256&client=summon |