ABSTRACT
We report on an exploratory study, which aims at understanding how development tutorials are structured, what types of tutorials exist, and how official tutorials differ from tutorials written by development communities. We analyzed over 1.200 tutorials for mobile application development provided by six different sources for the three major platforms: Android, Apple iOS, and Windows Phone. We found that a typical tutorial contains around 2700 words distributed over 4 pages and including a list of instructions with 18 items. Overall, 70% of the tutorials contain source code examples and a similar fraction contain images. On average, one tutorial has 6 images. When analyzing the images, we found that the studied iOS community posted the largest number of images, 14 images per tutorial, on average, from which 74% are plain images, i.e., mainly screenshots without stencils, diagrams, or highlights. In contrast, 36% of the images included in the official tutorials by Apple were diagrams or images with stencils. Community sites seem to follow a similar structure to the official sites but include items and images which are rather underrepresented in the official tutorials. From the analysis of the tutorials content by means of natural language processing combined with manual content analysis, we derived four categories for mobile development tutorials: infrastructure and design, application and services, distribution and maintenance, and development platform. Our categorization can help tutorial writers to better organize and evaluate the content of their tutorials and identify missing tutorials.
- L. Bergman, V. Castelli, T. Lau, and D. Oblinger. Docwizards: a system for authoring follow-me documentation wizards. In In Proc. ACM UIST, pages 191–200. ACM Press, 2005. Google ScholarDigital Library
- C. Bird, A. Gourley, P. Devanbu, M. Gertz, and A. Swaminathan. Mining email social networks. In MSR’06, MSR ’06, pages 137–143, New York, NY, USA, 2006. ACM. Google ScholarDigital Library
- D. M. Blei, A. Y. Ng, and M. I. Jordan. Latent dirichlet allocation. J. Mach. Learn. Res., 3:993–1022, Mar. 2003. Google ScholarCross Ref
- J. M. Carroll and M. B. Rosson. Paradox of the active user. In J. M. Carroll, editor, Interfacing thought: cognitive aspects of human-computer interaction, chapter Paradox of the active user, pages 80–111. MIT Press, Cambridge, MA, USA, 1987. Google ScholarDigital Library
- B. Dagenais and M. P. Robillard. Creating and evolving developer documentation: Understanding the decisions of open source contributors. In SIGSOFT’10, pages 127–136, November 2010. Google ScholarDigital Library
- S. M. Harrison. A comparison of still, animated, or nonillustrated on-line help with written or spoken instructions in a graphical user interface. In SIGCHI ’95, CHI ’95, pages 82–89, New York, NY, USA, 1995. ACM Press/Addison-Wesley Publishing Co. Google ScholarDigital Library
- J. D. Herbsleb and E. Kuwana. Preserving knowledge in design projects: what designers need to know. In Proceedings of the Joint INTERACT ’93 and CHI ’93 Conferences on Human Factors in Computing Systems, pages 7–14, 1993. Google ScholarDigital Library
- S. Y. Jeong, Y. Xie, J. Beaton, B. A. Myers, J. Stylos, R. Ehret, J. Karstens, A. Efeoglu, and D. K. Busse. Improving documentation for eSOA APIs through user studies. In Proc. 2nd Int’l Symp. on End-User Development, volume 5435 of LNCS, pages 86–105. Springer, 2009. Google ScholarDigital Library
- C. Kelleher and R. Pausch. Stencils-based tutorials: design and evaluation. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’05, pages 541–550, New York, NY, USA, 2005. ACM. Google ScholarDigital Library
- D. E. Knuth. Literate programming. Comput. J., 27(2):97–111, 1984. Google ScholarDigital Library
- A. J. Ko, R. DeLine, and G. Venolia. Information needs in collocated software development teams. In ICSE ’07. IEEE Computer Society, 2007. Google ScholarDigital Library
- W. Maalej and H.-J. Happel. Can development work describe itself? In MSR ’10. IEEE, 2010.Google Scholar
- W. Maalej and M. P. Robillard. Patterns of knowledge in api reference documentation. IEEE Transactions on Software Engineering, 39(9):1264–1282, 2013. Google ScholarDigital Library
- J. Mylopoulos, A. Borgida, and E. Yu. Representing software engineering knowledge. Automated Software Engineering, 4(3):291–317, 1997. Google ScholarDigital Library
- K. Nørmark. Elucidative programming. Nordic J. of Computing, 7(2):87–105, June 2000. Google ScholarDigital Library
- J. Nykaza, R. Messinger, F. Boehme, C. L. Norman, M. Mace, and M. Gordon. What programmers really want: Results of a needs assessment for SDK documentation. In Proceedings of the 20th Annual ACM SIGDOC International Conference on Computer Documentation, pages 133–141, 2002. Google ScholarDigital Library
- D. Pagano and W. Maalej. How do open source communities blog? Empirical Software Engineering, pages 1–35, 2012. Google ScholarDigital Library
- D. Pagano and W. Maalej. User feedback in the appstore: An empirical study. In RE, pages 125–134, 2013.Google Scholar
- S. Palmiter and J. Elkerton. An evaluation of animated demonstrations of learning computer-based tasks. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’91, pages 257–263, New York, NY, USA, 1991. ACM. Google ScholarDigital Library
- M. F. Porter. Readings in information retrieval. chapter An Algorithm for Suffix Stripping, pages 313–316. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1997. Google ScholarDigital Library
- M. P. Robillard. What makes APIs hard to learn? Answers from developers. IEEE Software, 26(6):26–34, 2009. Google ScholarDigital Library
- M. P. Robillard and R. DeLine. A field study of api learning obstacles. Empirical Software Engineering, 16(6):703–732, 2011. Google ScholarCross Ref
- J. Singer, T. Lethbridge, N. Vinson, and N. Anquetil. An examination of software engineering work practices. In CASCON’97, page 21. IBM Press, 1997. Google ScholarDigital Library
- T. Vestdam. Generating Consistent Program Tutorials, pages 55–70. 2002.Google Scholar
- R. Wallace, E. Soloway, J. Krajcik, N. Bos, J. Hoffman, H. E. Hunter, D. Kiskis, E. Klann, G. Peters, D. Richardson, and O. Ronen. Artemis: learner-centered design of an information seeking environment for k-12 education. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’98, pages 195–202, New York, NY, USA, 1998. ACM Press/Addison-Wesley Publishing Co. Google ScholarDigital Library
- S. Wasserman and K. Faust. Social network analysis: Methods and applications, volume 8. Cambridge university press, 1994.Google Scholar
Index Terms
- How does a typical tutorial for mobile development look like?
Comments