Documenting and sharing software knowledge using screencasts

Abstract

Screencasts are used to capture a developer’s screen while they narrate how a piece of software works or how the software can be extended. They have recently become a popular alternative to traditional text-based documentation. This paper describes our investigation into how developers produce and share developer-focused screencasts. In this study, we identified and analyzed a set of development screencasts from YouTube to explore what kinds of software knowledge are shared in video walkthroughs of code and what techniques are used for sharing software knowledge. We also interviewed YouTube screencast producers to understand their motivations for creating screencasts as well as to discover the challenges they face while producing code-focused videos. Finally, we compared YouTube screencasts to videos hosted on the professional RailsCasts website to better understand the differences and practices of this more curated ecosystem with the YouTube platform. Our three-phase study showed that video is a useful medium for communicating program knowledge between developers and that developers build their online persona and reputation by sharing videos through social channels. These findings led to a number of best practices for future screencast creators.

This is a preview of subscription content, log in to check access.

Fig. 1

Notes

  1. 1.

    See http://railscasts.com

  2. 2.

    Click on the URL links in the PDF to navigate to the videos.

  3. 3.

    More in-depth information about our coding methodology can be found in (MacLeod 2015).

  4. 4.

    A copy of our code book can be found at http://lmacleod.com/docs/ICPC2015_Codebook.pdf

  5. 5.

    A copy of our interview questions can be found at http://lmacleod.com/docs/ICPC2015_Interview_questions/

  6. 6.

    http://rubyonrails.org/screencasts/

  7. 7.

    http://www.alexa.com/siteinfo/railscasts.com. Alexa rankings as of October 2015.

References

  1. Adamic LA, Zhang J, Bakshy E, Ackerman MS (2008) Knowledge sharing and yahoo answers: Everyone knows something. In: Proceedings of the 17th International Conference on World Wide Web. ACM, pp 665–674

  2. Adolph S, Hall W, Kruchten P (2011) Using Grounded Theory to Study the Experience of Software Development. Empir Softw Eng 16(4):487–513

    Article  Google Scholar 

  3. Azer SA (2012) Can youtube help students in learning surface anatomy? Surg Radiol Anat 34(5):465–468

    Article  Google Scholar 

  4. Biggerstaff TJ, Mitbander BG, Webster D (1993) The concept assignment problem in program understanding. In: Proceedings of the 15th International Conference on Software Engineering. IEEE Computer Society Press, Los Alamitos, pp 482–498

  5. Brooks R (1983) Towards a theory of the comprehension of computer programs. Int J Man Mach Stud 18(6):543–554

    Article  Google Scholar 

  6. Capiluppi A, Serebrenik A, Singer L. (2013) Assessing technical candidates on the social web. Software, IEEE 30(1):45–51

    Article  Google Scholar 

  7. Charmaz K (2006) Constructing grounded theory a practical guide through qualitative analysis pine forge press

  8. Dabbish L, Stuart C, Tsay J, Herbsleb J (2012) Social coding in github: Transparency and collaboration in an open software repository. In: Proceedings of the ACM 2012 Conference on CSCW. ACM, pp 1277–1286

  9. Dagenais B, Robillard MP (2010) Creating and evolving developer documentation: understanding the decisions of open source contributors. In: Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, pp 127–136

  10. Duffy P (2007) Engaging the youtube google-eyed generation: Strategies for using web 2.0 in teaching and learning. In: European Conference on ELearning, pp 173–182

  11. Duncan I, Yarwood-Ross L, Haigh C (2013) Youtube as a source of clinical skills education. Nurse Educ Today 33(12):1576–1580

    Article  Google Scholar 

  12. Ellison NB (2007) Social network sites Definition, history, and scholarship. Journal of Computer-Mediated Communication 13(1):210–230

    MathSciNet  Article  Google Scholar 

  13. Gubrium JF (2012) The Sage handbook of interview research: The complexity of the craft Sage

  14. Guo PJ, Kim J, Rubin R (2014) How video production affects student engagement: An empirical study of mooc videos. In: Proceedings of the First ACM Conference on Learning @ Scale Conference L@S ’14. ACM, New York, pp 41–50

  15. Krippendorff K (2012) Content Analysis An Introduction to its Methodology Sage

  16. Lankshear C, Knobel M (2010) Diy media A contextual background and some contemporary themes. DIY media: creating, sharing and learning with new technologies. Peter Lang, New York, pp 1–21

    Google Scholar 

  17. Lee M, Pradhan S, Dalgarno B (2008) The effectiveness of screencasts and cognitive tools as scaffolding for novice object-oriented programmers. J Inf Technol Educ: Research 7(1):61–80

    Google Scholar 

  18. Lethbridge TC, Singer J, Forward A (2003) How software engineers use documentation the state of the practice. Software, IEEE 20(6):35–39

    Article  Google Scholar 

  19. Levy M (2009) Web 2.0 implications on knowledge management. J Knowl Manag 13(1):120–134

    Article  Google Scholar 

  20. Lindvall M, Rus I (2002) Knowledge management in software engineering. IEEE Softw 19(3):0026–38

    Article  Google Scholar 

  21. MacLeod L (2015) Code, camera, action!: How software developers document and share program knowledge using youtube. University of Victoria, Master’s thesis

    Google Scholar 

  22. MacLeod L, Storey M-A., Bergen A (2015) Code, camera, action: how software developers document and share program knowledge using youtube. In: Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension. IEEE Press, pp 104–114

  23. MacQueen KM, McLellan E, Kay K, Milstein B (1998) Codebook development for team-based qualitative analysis. Cult Anthropol Methods 10(2):31–36

    Google Scholar 

  24. Mamykina L, Manoim B, Mittal M, Hripcsak G, Hartmann B (2011) Design lessons from the fastest q&a site in the west. In: Proceedings of the SIGCHI Conference on Human factors in Computing Systems. ACM, pp 2857–2866

  25. Mohorovicic S (2012) Creation and use of screencasts in higher education. In: 2012 Proceedings of the 35th International Convention on Information and Communication Technology. Electronics and Miro-electronics. IEEE, pp 1293–1298

  26. Oud J (2009) Guidelines for effective online instruction using multimedia screencasts. Ref Serv Rev 37(2):164–177

    Article  Google Scholar 

  27. Paek H-J, Hove T, Ju Jeong H, Kim M (2011) Peer or expert? the persuasive impact of youtube public service announcement producers. Int J Advert 30(1):161–188

    Article  Google Scholar 

  28. Panahi S, Watson J, Partridge H (2012) Social media and tacit knowledge sharing: Developing a conceptual model. World Acad Sci Eng Technol 64:1095–1102

    Google Scholar 

  29. Parnin C, Treude C, Grammel L, Storey M-A (2012) Crowd documentation Exploring the coverage and the dynamics of api discussions on stack overflow. Georgia Institute of Technology Tech. Rep

  30. Ponzanelli L, Bavota G, Mocci A, Di Penta M, Oliveto R, Hasan M, Russo B, Haiduc S, Lanza M (2016) Too long; didn’t watch!: extracting relevant fragments from software development video tutorials. In: Proceedings of the 38th International Conference on Software Engineering. ACM, pp 261–272

  31. Porter LV, Sweetser Trammell KD, Chung D, Kim E (2007) Blog power Examining the effects of practitioner blog use on power in public relations. Public Relat Rev 33(1):92–95

    Article  Google Scholar 

  32. Räisänen T, Oinas-Kukkonen H (2008) A system architecture for the 7c knowledge environment. Information Modelling and Knowledge Bases XIX(166):217

    MATH  Google Scholar 

  33. Richardson WWH (2010) Blogs, wikis, podcasts, and other powerful web tools for classrooms, Corwin Press

  34. Singer L, Figueira Filho F, Cleary B, Treude C, Storey M-A, Schneider K (2013) Mutual assessment in the social programmer ecosystem: An empirical investigation of developer profile aggregators. In: Proceedings of the 2013 Conference on Computer Supported Collaborative Work. ACM, pp 103–116

  35. Singer L, Figueira Filho FM, Storey M-AD (2014) Software engineering at the speed of light How developers stay current using twitter. In: International Conference on Software Engineering, pp 211–221

  36. Snelson C (2011) Youtube across the Disciplines : A Review of the Literature. J Online Learn Teach 7(1):159–169

    Google Scholar 

  37. Storey M-A, Singer L, Cleary B, Figueira Filho F, Zagalsky A (2014) The revolution of social media in software engineering. In: Proceedings of the on Future of Software Engineering. ACM, pp 100–116

  38. Storey M-A, Treude C, van Deursen A, Cheng L-T (2010) The impact of social media on software engineering practices and tools. In: Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research. ACM, pp 359–364

  39. Sugar W, Brown A, Luterbach K (2010) Examining the anatomy of a screencast Uncovering common elements and instructional strategies. The Intl Review of Research in Open and Distance Learning 11(3):1–20

    Google Scholar 

  40. Swart J, Kinnie N (2003) Sharing knowledge in knowledge-intensive firms. Hum Resour Manag J 13(2):60–75

    Article  Google Scholar 

  41. Treude C, Barzilay O, Storey M-A (2011) How do programmers ask and answer questions on the web?: Nier track. In: 2011 33rd Intl Conference on Software Engineering (ICSE). IEEE, pp 804–807

  42. Treude C, Figueira Filho F, Cleary B, Storey M-A (2012) Programming in a socially networked world: The evolution of the social programmer. The Future of Collaborative Software Development:1–3

  43. Treude C, Storey M-A (2011) Effective communication of software development knowledge through community portals. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering. ACM, pp 91–101

  44. Udell J (2004) Name that genre: screencast

  45. Von Mayrhauser A, Vans AM (1995) Program comprehension during software maintenance and evolution. Computer 28(8):44–55

    Article  Google Scholar 

  46. Wenger E (2000) Communities of practice and social learning systems. Organization 7(2):225–246

    MathSciNet  Article  Google Scholar 

  47. YouTube (2016) Youtube watch time optimization tips

Download references

Acknowledgments

We thank our interview participants for sharing their insights with us, as well as Cassandra Petrachenko, Matthieu Foucault and Alexey Zagalsky for editing support and discussions about our research.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Laura MacLeod.

Additional information

Communicated by: Christian Bird and Rocco Oliveto

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

MacLeod, L., Bergen, A. & Storey, M. Documenting and sharing software knowledge using screencasts. Empir Software Eng 22, 1478–1507 (2017). https://doi.org/10.1007/s10664-017-9501-9

Download citation

Keywords

  • Software engineering
  • Screencasting
  • Social media