Issues and Experiences in Designing Real-time Collaborative Editing Systems
Real-time collaborative editing systems allow physically dispersed users to work on shared text/hypertext/graphics/multimedia documents at the same time over the Internet. This class of systems have been known to pose multifaceted research and engineering challenges at the intersection of computer-supported cooperative work, distributed systems and algorithms, and software engineering. In this talk, I will reflect on our experiences on the core issues of algorithms design (Operational Transformation) for consistency maintenance and group undo in a multi-user editing environment, and system development for collaborative text editors, office productivity suites, to digital media design tools, spanning the past 15 years. Drawing on the observation that collaboration and conventional editing features are orthogonal and could (and should) be separately dealt with, I will present a new promising approach to building collaborative editing systems where advanced features for collaboration can be seamlessly integrated with a new or existing single-user application without modifying its source code. This new approach is powered by the GCE-TA technology: the Generic Collaboration Engine (GCE) encapsulates a comprehensive set of generic collaboration techniques and algorithms in a single reusable software package, while the Transparent Adaptation (TA) approach consists of a system architecture and a set of bridging techniques to integrate the GCE with single-user applications. This approach has the advantage of significantly reducing the complexity of collaborative system design and implementation, and at the same time, affords users with mature and familiar interface features directly inherited from single-user applications. I will talk about our on going efforts in using the GCE-TA technology to build desktop and web-based collaborative editing systems and illustrate the viability of this approach by demonstrating two systems - CoWord (a real-time collaborative word processor transparently adapted from MS Word, http://cooffice.ntu.edu.sg) and CoMaya (a real-time collaborative 3D digital media design tool transparently adapted from Autodesk Maya).
Speaker: Chengzheng Sun
Chengzheng Sun is a full Professor at the School of Computer Engineering, Nanyang Technological University, Singapore. Since 1994, Dr Sun has led and acted as the chief designer of a number of well-known collaborative editing projects, including REDUCE, CoOffice, CoOpenOffice, CoMaya etc., which have made important contributions to the theory and practical implementation of collaborative editing systems. Prof Sun obtained a PhD in computer engineering from National University of Defense Technology, China in 1987, and a PhD in computer science from the University of Amsterdam, Netherlands in 1992. From 1988 to 1993, he worked as a researcher and a senior software engineer in Philips Research Labs Eindhoven and the ACE software company in Amsterdam, The Netherlands, participated in a number of distributed system projects. From May 1993 and June 2005, he worked as a professor and Chair of Internet Computing (since 1999) at Griffith University, Australia. His current research lies at the intersections of Computer-Supported Cooperative Work (CSCW), distributed systems and computer communication networks, human-computer interaction, and software engineering. Dr Sun has published extensively and delivered seminars and tutorials on collaborative editing techniques widely at major international conferences, universities, and industrial research institutes/labs.
Google Tech Talks
November 17, 2008