Skip to main content
Log in

Documenting and sharing software knowledge using screencasts

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

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 via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

Notes

  1. See http://railscasts.com

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

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

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

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

  6. http://rubyonrails.org/screencasts/

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

References

  • 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

  • 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 

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

    Article  Google Scholar 

  • 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

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

  • 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

  • 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

  • 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

  • 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 

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

    Article  MathSciNet  Google Scholar 

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

  • 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

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

  • 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 

  • 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 

  • 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 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

  • 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

  • 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 

  • 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

  • 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

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

    Article  Google Scholar 

  • 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 

  • 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 

  • 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

  • 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

  • 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 

  • 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 

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

  • 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

  • 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

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

    Google Scholar 

  • 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

  • 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

  • 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 

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

    Article  Google Scholar 

  • 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

  • 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

  • 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

  • Udell J (2004) Name that genre: screencast

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

    Article  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  • 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

Authors and 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

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

MacLeod, L., Bergen, A. & Storey, MA. 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

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-017-9501-9

Keywords

Navigation