  Video-based programming tutorials are a popular form of tutorial used by
authors to guide learners to code. Still, the interactivity of these videos is
limited primarily to control video flow. There are existing works with
increased interactivity that are shown to improve the learning experience.
Still, these solutions require setting up a custom recording environment and
are not well-integrated with the playback environment. This paper describes our
integrated ITSS environment and evaluates the ease of authoring and playback of
our interactive programming tutorials. Our environment is designed to run
within the browser sandbox and is less intrusive to record interactivity
actions. We develop a recording approach that tracks the author's interactivity
actions (e.g., typing code, highlighting words, scrolling panels) on the
browser and stored in text and audio formats. We replay these actions using the
recorded artefacts for learners to have a more interactive, integrated and
realistic playback of the author's actions instead of watching video frames.
Our design goals are 1) efficient recording and playback, 2) extensible
interactivity features to help students learn better, and 3) a scalable
web-based environment. Our first user study of 20 participants who carry out
the author tasks agree that it is efficient and easy to author interactive
videos in our environment with no additional software needed. Our second user
study of 84 students using the environment agrees that the increased
interactivity can help them learn better over a video-based tutorial. Our
performance test shows that the environment can scale to support up to 500
concurrent users. We hope our open-source environment enable more educators to
create interactive programming tutorials.
