skip to main content
10.1145/3167106acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Kanto: a multi-participant screen-sharing system for Etoys, Snap!, and GP

Published: 22 October 2017 Publication History

Abstract

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 Squeak Etoys, Snap! and GP with little modification 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 influenced 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 simplifies 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.

References

[1]
Brian Broll, Akos Lédeczi, Peter Volgyesi, Janos Sallai, Miklos Maroti, Alexia Carrillo, Stephanie L. Weeden-Wright, Chris Vanags, Joshua D. Swartz, and Melvin Lu. 2017. A Visual Programming Environment for Learning Distributed Programming. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE '17). ACM, New York, NY, USA, 81-86.
[2]
Douglas C. Engelbart and William K. English. 1968. A Research Center for Augmenting Human Intellect. In Proceedings of the December 9-11, 1968, Fall Joint Computer Conference, Part I (AFIPS '68 (Fall, part I)). ACM, New York, NY, USA, 395-410.
[3]
Jens Mönig et al. 2017. Snap! (2017). Retrieved Aug 1, 2017 from http://snap.berkeley.edu.
[4]
Lex Spoon et al. 1999. Nebraska. (1999). http://wiki.squeak.org/squeak/1356.
[5]
Neil Fraser. 2009. Differential Synchronization. In Proceedings of the 9th ACM Symposium on Document Engineering (DocEng '09). ACM, New York, NY, USA, 13-20.
[6]
Bert Freudenberg, Dan H.H. Ingalls, Tim Felgentreff, Tobias Pape, and Robert Hirschfeld. 2014. SqueakJS: A Modern and Practical Smalltalk That Runs in Any Browser. SIGPLAN Not.50, 2 (Oct. 2014), 57-66.
[7]
Daniel Ingalls, Tim Felgentreff, Robert Hirschfeld, Robert Krahn, Jens Lincke, Marko Röder, Antero Taivalsaari, and Tommi Mikkonen. 2016. A World of Active Objects for Work and Play: The First Ten Years of Lively. In Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2016). ACM, New York, NY, USA, 238-249.
[8]
Dan Ingalls, Krzysztof Palacz, Stephen Uhler, Antero Taivalsaari, and Tommi Mikkonen. [n. d.]. The Lively Kernel - A Self-Supporting System on a Web Page. In Proceedings of the Workshop on Self-Sfustaining Systems (LNCS 5146). Springer, 31-50.
[9]
Alan Kay, Kim Rose, Dan Ingalls, Ted Kaehler, John Maloney, and Scott Wallace. 1997. Etoys & SimStories. (February 1997). ImagiLearning Internal Document.
[10]
John Maloney, Jens Mönig, and Yoshiki Ohshima. 2017. GP: A generalpurpose blocks programming language. (2017). Retrieved Aug 1, 2017 from http://gpblocks.org.
[11]
The WebRTC Project. [n. d.]. Real time communication with WebRTC. ([n. d.]). Retrieved Aug 1, 2017 from https://codelabs.developers.google.com/codelabs/webrtc-web/.
[12]
Tristan Richardson, Quentin Stafford-Fraser, Kenneth R. Wood, and Andy Hopper. 1998. Virtual Network Computing. IEEE Internet Computing 2, 1 (Jan. 1998), 33-38.
[13]
J. Rosenberg. 2010. Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols. RFC 5245. RFC Editor. http://www.rfc-editor.org/rfc/rfc5245.txt http://www.rfc-editor.org/rfc/rfc5245.txt.
[14]
David A. Smith, Alan Kay, Andreas Raab, and David P. Reed. 2003. Croquet - A Collaboration System Architecture. Creating, Connecting and Collaborating through Computing, International Conference on (2003), 2-9.
[15]
Randall B. Smith, Mario Wolczko, and David Ungar. 1997. From Kansas to Oz: Collaborative Debugging when a Shared World Breaks. Commun. ACM 40, 4 (April 1997), 72-78.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PX/17.2: Proceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience
October 2017
45 pages
ISBN:9781450355223
DOI:10.1145/3176645
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 October 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Blocks-based languages
  2. Collaboration

Qualifiers

  • Research-article

Conference

SPLASH '17
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 121
    Total Downloads
  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media