Abstract
Most past research efforts in co-editing focused on homogeneous co-editing, which allows multiple users to use the same editor to edit shared documents in the same session, and nearly all real-world co-editors, such as Google Docs, are homogeneous co-editors. In this work, we explore issues and solutions in building heterogeneous co-editing systems, which allow multiple users to use different editors to edit shared documents in the same session. To drive our exploration, we built a prototype heterogeneous co-editing system, named CoVim+CoEmacs, which allows multiple users to use full functionalities and UI features of two comprehensive and rivalry text editors, Vim and Emacs, in the same co-editing session. In this paper, we focus on technical issues in designing and implementing heterogeneous co-editors in general and CoVim+CoEmacs in particular. We have motivated this work by potential usage benefits of heterogeneous co-editing systems and used working scenarios under the CoVim+CoEmacs prototype to illustrate some novel usages and inner workings of such systems, but left systematic user studies on heterogeneous co-editing to future work. We hope the insights and experiences drawn from this work can not only contribute to advancing state-of-the-art collaborative system design and implementation, but also provide inspiration to future heterogeneous collaborative application system designers.
- Agustina, and Sun, C. Dependency-Conflict Detection in Real-time Collaborative 3D Design Systems. ACM CSCW (2013), pp.715--728.Google ScholarDigital Library
- Agustina, and Sun, C. XPointer: an X-Ray Telepointer for Relaxed-Space-Time WYSIWIS and Unconstrained Collaborative 3D Design Systems. ACM CSCW (2013), pp.729--740.Google ScholarDigital Library
- Agustina, Liu, F., Xia, S., Shen, H., and Sun, C. CoMaya: Incorporating Advanced Collaboration Capabilities into 3D Digital Media Design Tools. ACM CSCW (2008), pp. 5--8.Google ScholarDigital Library
- Begole, J., Rosson, M., and Shaffer, C. Flexible Collaboration Transparency: Supporting Worker Independence in Replicated Application Sharing System. ACM TOCHI, Vol. 6, No. 2, (1991), pp. 95--132.Google Scholar
- Cho, B., Agustina, and Sun, C. CoVim: Incorporating Real-Time Collaboration Capabilities into Comprehensive Text Editors. IEEE CSCWD (2017), pp. 192--197.Google ScholarCross Ref
- Cho, B. and Sun, C. RTS-Diff: A Real-Time Smart Differentiation Solution for Deriving User-Editing Operations in Heterogeneous Collaborative Editing Systems. (In preparation).Google Scholar
- Cho, B. and Sun, C. Supporting Workspace Awareness in Heterogeneous Collaborative Editing Systems. (In preparation).Google Scholar
- Baecker, R., Nastos, D., Posner, I., and Mawby, K. The User-Centered Iterative Design of Collaborative Writing Software. ACM INTERCHI (1993), pp. 399--405.Google Scholar
- Beaudouin-Lafon, M., and Karsenty, A. Transparency and Awareness in a Real-Time Groupware System. ACM UIST (1992), pp. 171--180.Google ScholarDigital Library
- Dewan, P., and Sharma, A. An Experiment in Interoperating Heterogeneous Collaborative Systems. ECSCW, (1999), pp. 371--407.Google ScholarCross Ref
- Ellis, C. A., and Gibbs, S. J. Concurrency Control in Groupware Systems. ACM SIGMOD (1989), pp. 399--407.Google Scholar
- Ellis, C. A., Gibbs, S. J., and Rein, G. Groupware: Some Issues and Experiences. Comm. ACM, Vol. 34, No. 1 (1991). pp. 399--407.Google Scholar
- Fan, H., Sun, C., Shen, H. ATCoPE: Any-Time Collaborative Programming Environment for Seamless Integration of Real-Time and Non-Real-Time Teamwork in Software Development. ACM GROUP (2012), pp. 107--116.Google Scholar
- Fraser, J. Command-line Application Roundup. Linux Journal, Vol. 2010, No. 198 (2010).Google Scholar
- Fraser, N. Differential Synchronization. ACM DocEng (2009), pp. 13--20.Google Scholar
- Greenberg, S. Personalizable Groupware: Accommodating Individual Roles and Group Differences. ECSCW, (1991), pp. 17--31.Google Scholar
- Greenberg, S., Gutwin, C., and Roseman, M. Semantic Telepointers for Groupware. IEEE OZCHI (1996), pp. 54--61.Google Scholar
- Grudin, J. Groupware and Social Dynamics: Eight Challenges for Developers. Comm. ACM, Vol. 37, No. 1, (1994), pp. 92--105Google ScholarDigital Library
- Gutwin, C., and Greenberg, S. A Descriptive Framework of Workspace Awareness for Real-Time Groupware. Journal of CSCW, Vol. 11, No. 3--4 (2002), pp. 411--446.Google Scholar
- Gutwin, C., Greenberg, S., and Roseman. M. Workspace Awareness in Real-Time Distributed Groupware: Framework, Widgets, and Evaluation. HCI People and Computer XI, (1996), pp. 281--298.Google Scholar
- Gutwin, C., Roseman, M., and Greenberg, S. A Usability Study of Awareness Widgets in a Shared Workspace Groupware System. ACM CSCW (1996), pp. 258--267.Google ScholarDigital Library
- Hirshberg, D. Algorithms for the Longest Common Subsequence Problem. Journal of ACM, Vol. 24, No. 4, (1977), pp. 664--675.Google ScholarDigital Library
- Karsenty, A., Tronche, C., and Beaudouin-Lafon, M. GroupDesign: Sharing Editing in a Heterogeneous Environment. Usenix Journal of Computing Systems, Vol. 6, No. 2, (1993), pp. 167--195.Google Scholar
- Knister, M., and Prakash, A. Issues in the Design of a Toolkit for Supporting Multiple Group Editors. Usenix Journal of Computing Systems, Vol. 6, No. 2, (1993), pp. 135--166.Google Scholar
- Knister, M., and Prakash, A. DistEdit: A Distributed Toolkit for Supporting Multiple Group Editors. ACM CSCW, (1990), pp. 343--355.Google ScholarDigital Library
- Lauwers, J., Joseph, T.A., Lantz, K., and Andramanow, A.L. Replicated architectures for shared window systems: A critique. ACM SIGOIS, (1990). pp. 249--260.Google ScholarDigital Library
- Lauwers, J., and Lantz, K. Collaboration Awareness in Support of Collaboration Transparency: Requirements for the Next Generation of Shared Window Systems. ACM SIGCHI, (1990), pp. 303--311.Google ScholarDigital Library
- Li, D., and Lu, J. A Lightweight Approach to Transparent Sharing of Familiar Single-User Editors. ACM CSCW, (2006), pp. 139--148.Google ScholarDigital Library
- Li, D., and Li, R. Transparent Sharing and Interoperation of Heterogeneous Single-User Applications. ACM CSCW, (2002), pp. 246--255.Google ScholarDigital Library
- Li, R., Li, D., and Sun, C. A Time Interval Based Consistency Control Algorithm for Interactive Groupware Applications. IEEE ICPADS, (2004), pp. 429--436.Google Scholar
- Myers, E. W.. An O(ND) Difference Algorithms and Its Variation. Algorithmica I, (1986), pp. 251--266.Google ScholarCross Ref
- Neuwirth, C., Chandhok, R., Kaufer, D., Erion, P., Morries, J., and Miller, D. Flexible Diff-ing in a Collaborative Writing System. ACM CSCW, (1992), pp. 147--154.Google ScholarDigital Library
- Poller, M., Garter, S. A Comparative Study of Moded and Modeless Text Editing by Experienced Editor Users. ACM SIGCHI, (1983), pp. 166--170.cGoogle ScholarDigital Library
- Shao, B., Li, D., and Gu, N. An Optimized String Transformation Algorithm for Real-Time Group Editors. IEEE ICPADS, (2009), pp. 376--383.Google ScholarDigital Library
- Stefik, M., Bobrow, D., Foster, G., Lanning, S., and Tatar, D. WYSIWIS Revised: Early Experiences with Multiuser Interfaces. ACM TOIS, Vol. 5, No. 2, (1987), pp. 147--167.Google ScholarDigital Library
- Sun, C., and Ellis, C. Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements. ACM CSCW, (1998), pp. 59--68.Google ScholarDigital Library
- Sun, C., Xu, Y., and Agustina. Exhaustive Search and Resolution of Puzzles in OT Systems Supporting String-Wise Operations. ACM CSCW, (2017), pp. 2504--2517.Google ScholarDigital Library
- Sun, C., Wen, H., and Fan, H. Operational Transformation for Orthogonal Conflict Resolution in Collaborative Two-Dimensional Document Editing Systems. ACM CSCW, (2012), pp. 1391--1400.Google ScholarDigital Library
- Sun, C., Sun, D., Agustina, Cai, W., and Cho, B. Real Differences between OT and CRDT under a General Transformation Framework for Consistency Maintenance in Co-Editors. PACMHCI, Vol. 3, No. GROUP, Article 1021 (December 2019).Google Scholar
- Sun, C., Jia, X., Zhang, Y., Yang, Y., and Chen, D. Achieving Convergence, Causality Preservation, and Intention Preservation in Real-Time Cooperative Editing Systems. ACM TOCHI, Vol. 5, No. 1, (1998), pp. 63--108.Google Scholar
- Sun, C., Xia, S., Sun, D., Chen, D., Shen. H., and Cai, W.T. Transparent Adaptation of Single-User Applications for Multi-User Real-Time Collaboration. ACM TOCHI, Vol. 13, No. 4, (2006), pp. 531--582.Google Scholar
- Sun, D., and Sun, C. Operation Context and Context-Based Operational Transformation. ACM CSCW, (2016), pp. 279--288.Google Scholar
- Sun, D., Sun, C., Agustina, Cai, W. Real Differences between OT and CRDT in Building Co-Editing Systems and Real World Applications. arXiv:1905.01517. 2nd May 2019.Google Scholar
- Sun, D., Sun, C., Agustina, Cai, W. Real Differences between OT and CRDT in Correctness and Complexity for Consistency Maintenance in Co-Editors. arXiv:1905.01302. 2nd May 2019.Google Scholar
- Unicode Consortium. The Unicode Standard Version 10.0. Mountain View, CA, USA. ISBN 978--1--936213--16-0. (2017).Google Scholar
- Whiteside, J., Archer, N., Wixon, D., and Good, M. How Do People Really Use Text Editors?. ACM SIGOA, (1982), pp. 29--40.Google ScholarDigital Library
- Xia, S., Sun, D., Sun, C, and Chen, D. Object-Associated Telepointer for Real-Time Collaborative Document Editing Systems. IEEE CollaborateCOM, (2005).Google ScholarCross Ref
Index Terms
- Issues and Experiences in Building Heterogeneous Co-Editing Systems
Recommendations
Transparent adaptation of single-user applications for multi-user real-time collaboration
Single-user interactive computer applications are pervasive in our daily lives and work. Leveraging single-user applications for supporting multi-user collaboration has the potential to significantly increase the availability and improve the usability ...
Building real-time groupware with GroupKit, a groupware toolkit
This article presents an overview of GroupKit, a groupware toolkit that lets developers build applications for synchronous and distributed computer-based conferencing. GroupKit was constructed from our belief that programming groupware should be only ...
Coordination challenges in a computer-supported meeting environment
Special issue: Organizational impact of group support systems, expert systems, and executive information systemsIn this study we observed the coordination activities of groups collaboratively writing in a low-structure computer-supported meeting room. We used video analyses of the sessions to identify well-coordinated and poorly coordinated groups. Through user ...
Comments