Kanto: A multi-participant screen-sharing system for Etoys, Snap! and GP
This paper demonstrates an implementation strategy for a general real-time remote collaboration framework called Kanto. Kanto is a web-based library that provides screen sharing, voice chat and bi-directional user interaction among participants over the Internet. The generality of Kanto’s design makes it straightforward to add its facilities to the programming systems Etoys, Snap! and GP with little modi cation to those systems. Because Kanto is web-based, no additional software installation is required on the computers that use it.
Kanto takes advantage of the WebRTC framework, which supports peer-to-peer video, voice and other data transmission. One insight is that if an application uses a single HTML canvas to render all graphics, we can simply stream the contents of the canvas to other hosts to do screen sharing. Luckily, the above-mentioned blocks-based programming languages follow this single-canvas implementation strategy, which is in uenced by Smalltalk.
Kanto embodies a particular set of choices within the vast design space of collaboration systems. For example, Kanto maintains its application state by designating one node as the state holder, and streaming just that node’s display contents to the other nodes. This simpli es the implementation, but for a remote user introduces a delay between an action and its corresponding display update. In our experience the speed of response is acceptable even at intercontinental distances, but below we discuss alternative designs that would avoid this issue.
The system can be tested by visiting https://tinlizzie.org:8080/ snap/learner.html in one Google Chrome tab, then https://tinlizzie.org:8080/snap/teacher.html in another.
Sun 22 OctDisplayed time zone: Tijuana, Baja California change
13:30 - 15:00 | |||
13:30 45mTalk | Kanto: A multi-participant screen-sharing system for Etoys, Snap! and GP PX/17.2 Yoshiki Ohshima HARC / Y Combinator Research, Bert Freudenberg , Dan Amelang Viewpoints Research Institute Pre-print | ||
14:15 45mTalk | Living in your Programming Environment: Enabling Exploratory Programming for Productivity Tools PX/17.2 Patrick Rein Hasso Plattner Institute, Jens Lincke Hasso Plattner Institute, Stefan Ramson Hasso Plattner Institute, Potsdam, Toni Mattis Hasso Plattner Institute, Robert Hirschfeld HPI Pre-print |