Empirical Software Engineering

, Volume 22, Issue 3, pp 1478–1507 | Cite as

Documenting and sharing software knowledge using screencasts

  • Laura MacLeodEmail author
  • Andreas Bergen
  • Margaret-Anne Storey


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.


Software engineering Screencasting Social media 



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.


  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–674Google Scholar
  2. Adolph S, Hall W, Kruchten P (2011) Using Grounded Theory to Study the Experience of Software Development. Empir Softw Eng 16(4):487–513CrossRefGoogle Scholar
  3. Azer SA (2012) Can youtube help students in learning surface anatomy? Surg Radiol Anat 34(5):465–468CrossRefGoogle 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–498Google Scholar
  5. Brooks R (1983) Towards a theory of the comprehension of computer programs. Int J Man Mach Stud 18(6):543–554CrossRefGoogle Scholar
  6. Capiluppi A, Serebrenik A, Singer L. (2013) Assessing technical candidates on the social web. Software, IEEE 30(1):45–51CrossRefGoogle Scholar
  7. Charmaz K (2006) Constructing grounded theory a practical guide through qualitative analysis pine forge pressGoogle Scholar
  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–1286Google Scholar
  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–136Google Scholar
  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–182Google Scholar
  11. Duncan I, Yarwood-Ross L, Haigh C (2013) Youtube as a source of clinical skills education. Nurse Educ Today 33(12):1576–1580CrossRefGoogle Scholar
  12. Ellison NB (2007) Social network sites Definition, history, and scholarship. Journal of Computer-Mediated Communication 13(1):210–230MathSciNetCrossRefGoogle Scholar
  13. Gubrium JF (2012) The Sage handbook of interview research: The complexity of the craft SageGoogle Scholar
  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–50Google Scholar
  15. Krippendorff K (2012) Content Analysis An Introduction to its Methodology SageGoogle Scholar
  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–21Google 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–80Google Scholar
  18. Lethbridge TC, Singer J, Forward A (2003) How software engineers use documentation the state of the practice. Software, IEEE 20(6):35–39CrossRefGoogle Scholar
  19. Levy M (2009) Web 2.0 implications on knowledge management. J Knowl Manag 13(1):120–134CrossRefGoogle Scholar
  20. Lindvall M, Rus I (2002) Knowledge management in software engineering. IEEE Softw 19(3):0026–38CrossRefGoogle Scholar
  21. MacLeod L (2015) Code, camera, action!: How software developers document and share program knowledge using youtube. University of Victoria, Master’s thesisGoogle 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–114Google Scholar
  23. MacQueen KM, McLellan E, Kay K, Milstein B (1998) Codebook development for team-based qualitative analysis. Cult Anthropol Methods 10(2):31–36Google 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–2866Google Scholar
  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–1298Google Scholar
  26. Oud J (2009) Guidelines for effective online instruction using multimedia screencasts. Ref Serv Rev 37(2):164–177CrossRefGoogle 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–188CrossRefGoogle 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–1102Google 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. RepGoogle Scholar
  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–272Google Scholar
  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–95CrossRefGoogle 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):217zbMATHGoogle Scholar
  33. Richardson WWH (2010) Blogs, wikis, podcasts, and other powerful web tools for classrooms, Corwin PressGoogle Scholar
  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–116Google Scholar
  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–221Google Scholar
  36. Snelson C (2011) Youtube across the Disciplines : A Review of the Literature. J Online Learn Teach 7(1):159–169Google 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–116Google Scholar
  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–364Google Scholar
  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–20Google Scholar
  40. Swart J, Kinnie N (2003) Sharing knowledge in knowledge-intensive firms. Hum Resour Manag J 13(2):60–75CrossRefGoogle 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–807Google Scholar
  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–3Google Scholar
  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–101Google Scholar
  44. Udell J (2004) Name that genre: screencastGoogle Scholar
  45. Von Mayrhauser A, Vans AM (1995) Program comprehension during software maintenance and evolution. Computer 28(8):44–55CrossRefGoogle Scholar
  46. Wenger E (2000) Communities of practice and social learning systems. Organization 7(2):225–246MathSciNetCrossRefGoogle Scholar
  47. YouTube (2016) Youtube watch time optimization tipsGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.University of VictoriaVictoriaCanada

Personalised recommendations