VT-Revolution: interactive programming video tutorial authoring and watching system

Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo

Research output: Contribution to journalArticleResearchpeer-review

12 Citations (Scopus)


Procedural knowledge describes actions and manipulations that are carried out to complete programming tasks. An effective way to document procedural knowledge is programming video tutorials. Existing solutions to adding interactive workflow and elements to programming videos have a dilemma between the level of desired interaction and the efforts required for authoring tutorials. In this work, we tackle this dilemma by designing and building a programming video tutorial authoring system that leverages operating system level instrumentation to log workflow history while tutorial authors are creating programming videos, and the corresponding tutorial watching system that enhances the learning experience of video tutorials by providing programming-specific workflow history and timeline-based browsing interactions. Our tutorial authoring system does not incur any additional burden on tutorial authors to make programming videos interactive. Given a programming video accompanied by synchronously-logged workflow history, our tutorial watching system allows tutorial watchers to freely explore the captured workflows and interact with files, code and program output in the tutorial. We conduct a user study of 135 developers to evaluate the design and effectiveness of our system in helping developers learn programming knowledge in video tutorials

Original languageEnglish
Pages (from-to)823-838
Number of pages16
JournalIEEE Transactions on Software Engineering
Issue number8
Publication statusPublished - Aug 2019


  • History
  • Human-Computer Interaction
  • Program Comprehension
  • Programming
  • Software
  • Streaming media
  • Task analysis
  • Tools
  • Tutorials
  • Workflow

Cite this