  A software development screencast is a video that captures the screen of a
developer working on a particular task while explaining its implementation
details. Due to the increased popularity of software development screencasts
(e.g., available on YouTube), we study how and to what extent they can be used
as additional source of knowledge to answer developer's questions about, for
example, the use of a specific API. We first differentiate between development
and other types of screencasts using video frame analysis. By using the Cosine
algorithm, developers can expect ten development screencasts in the top 20 out
of 100 different YouTube videos. We then extracted popular development topics
on which screencasts are reporting on YouTube: database operations, system
set-up, plug-in development, game development, and testing. Besides, we found
six recurring tasks performed in development screencasts, such as object usage
and UI operations. Finally, we conducted a similarity analysis by considering
only the spoken words (i.e., the screencast transcripts but not the text that
might appear in a scene) to link API documents, such as the Javadoc, to the
appropriate screencasts. By using Cosine similarity, we identified 38 relevant
documents in the top 20 out of 9455 API documents.
