Non-Linear Editing of Text-Based Screencasts (UIST '18)
https://dl.acm.org/citation.cfm?id=3242654
A prototype impelementation of non-linear editor for text-based screencasts. The tool allows users to edit any arbitrary part of a text-based screencast while preserving the overall consistency of the screencast.
If you use this code for academic purposes, please cite it as:
@inproceedings{park2018nonlinear,
title={Non-Linear Editing of Text-Based Screencasts},
author={Park, Jungkook and Park, Yeong Hoon and Oh, Alice},
booktitle={The 31st Annual ACM Symposium on User Interface Software and Technology},
pages={403--410},
year={2018},
organization={ACM}
}
Unlike non-linear editing of video, editing a part of the screencast without properly handling all of its subsequent OTs will result in unexpected screencast content. This is because each text editing operation of a text-based screencast is dependent on all of its prior operations.
With the devised algorithm in our research, our tool resolve the amgituity by showing users all possible resolutions and explicitly let them decide a resolution of intended.
The user first select a time range from the screencast where they wish to crop out and replace with a new recording.
In this step, the user records a new recording for the sliced time range that they selected in the previous step.
If there is any ambiguity occurred from the edit, the user goes through an ambiguity resolution process where they manually choose the resolution as they intended with the 'Ambiguity Resolver' interface.
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# run unit tests
npm run unit
Currently, this project requires a backend server to run. We will soon make the code for backend server available, and support 'local' run mode so the editor can be run as standalone without the need of a backend server.