7
IEEE DISTRIBUTED SYSTEMS ONLINE 1541-4922 © 2006 Published by the IEEE Computer Society Vol. 7, No. 4; April 2006 From the Editors: Collaborative Computing Community--Leveraging Single-User Applications for Multiuser Distributed Collaboration Haifeng Shen, Nanyang Technological University, Singapore Chengzheng Sun, Nanyang Technological University, Singapore Single-user interactive computer applications are pervasive in our work and daily lives. Commonly used single-user interactive applications include text editors such as Notepad and Emacs, word processors such as Office Word and OpenOffice Writer, spreadsheet tools such as Office Excel and OpenOffice Calculator, slide authoring and presentation tools such as Office PowerPoint and OpenOffice Impress, Web authoring tools such as FrontPage and Dreamweaver, CAD systems such as AutoCAD and Catia, and media creation tools such as Maya and 3D Studio Max. The choices for real-time collaborative applications, however, are limited. Most advanced real-time collaborative applications are research prototypes with limited functionalities and usability. The vast majority of existing commercial applications were 1 IEEE Distributed Systems Online April 2006

From the editors: collaborative computing community - leveraging single-user applications for multiuser distributed collaboration

  • Upload
    c

  • View
    216

  • Download
    2

Embed Size (px)

Citation preview

Page 1: From the editors: collaborative computing community - leveraging single-user applications for multiuser distributed collaboration

IEEE DISTRIBUTED SYSTEMS ONLINE 1541-4922 © 2006 Published by the IEEE Computer Society Vol. 7, No. 4; April 2006

From the Editors: Collaborative Computing Community--Leveraging Single-User Applications for Multiuser Distributed Collaboration

Haifeng Shen, Nanyang Technological University, Singapore Chengzheng Sun, Nanyang Technological University, Singapore

Single-user interactive computer applications are pervasive in our work and daily lives. Commonly used single-user interactive applications include

text editors such as Notepad and Emacs,

word processors such as Office Word and OpenOffice Writer,

spreadsheet tools such as Office Excel and OpenOffice Calculator,

slide authoring and presentation tools such as Office PowerPoint and OpenOffice Impress,

Web authoring tools such as FrontPage and Dreamweaver,

CAD systems such as AutoCAD and Catia, and

media creation tools such as Maya and 3D Studio Max.

The choices for real-time collaborative applications, however, are limited. Most advanced real-time collaborative applications are research prototypes with limited functionalities and usability. The vast majority of existing commercial applications were

1IEEE Distributed Systems Online April 2006

Page 2: From the editors: collaborative computing community - leveraging single-user applications for multiuser distributed collaboration

designed for single users, and future applications' design is expected to continue to be single-user-centric.

For many years, people have wanted to use existing single-user applications for real-time collaboration. Many computer-supported cooperative work researchers and developers have been working to invent technologies that can transparently convert single-user applications into multiuser collaborative applications that is, without changing the application's source code. With such technologies, we could repurpose the myriad of single-user applications as collaborative systems, significantly increasing the availability and improving the usability of collaborative applications. If such technologies were available, not only would end users be able to collaborate, they would be able to collaborate using applications they're familiar with. For software vendors, this would add value to existing single-user products and create new multiuser collaborative products for existing and new customers.

Early work

Representative early systems in this direction include NLS, MMConf, SharedX, XTV, NetMeeting, Lotus Sametime, and SunForum. These systems provide generic application-sharing environments in which multiple users can transparently share existing single-user applications for real-time collaborative work. All generic application-sharing systems support a multiuser interface abstraction characterized as strict WYSIWIS (What You See Is What I See) and a sequential interaction paradigm in which only the user who has the floor can interact with the application at any given time. Users requiring concurrent, free interactions, however, have found strict WYSIWIS and sequential interaction too inflexible.

Most generic application-sharing systems are based on a centralized architecture, where only one instance of the shared application exists. The centralized architecture suffers from poor responsiveness and inefficient network usage and therefore doesn't scale to high-latency network environments such as the Internet. Some generic application-sharing systems adopt a replicated architecture, which creates multiple instances of the shared application. However, maintaining consistency of the shared application's state and view, managing external resources (such as files, clocks, and network connections), and supporting spontaneous interactions (for example, accommodating latecomers) are still challenges.

2IEEE Distributed Systems Online April 2006

Page 3: From the editors: collaborative computing community - leveraging single-user applications for multiuser distributed collaboration

Flexible JAMM1 represents a shift from seeking generic solutions at the operating system level to exploring solutions at the application interface library level. It adopts a replicated architecture for achieving fast local response, efficient network usage, and relaxed WYSIWIS view sharing. Its most distinctive characteristic is its component-replacement approach to application sharing: it automatically replaces selected single-user interface components of the shared application with multiuser equivalents at runtime. Multiuser replacement components can use application semantic information to maintain consistency in the presence of concurrent work. To support spontaneous interactions and component replacement, Flexible JAMM requires the underlying execution platform to support process migration, runtime component replacement, dynamic binding, and interception and replay of user input events. However, most single-user applications and execution platforms (including most commercial off-the-shelf single-user applications) don't meet these requirements.

In contrast to prior application-sharing systems that assume all users use the same application, Intelligent Collaboration Transparency2 attempts to support transparent sharing of different applications running in the same or different operating systems. ICT mainly focuses on the heterogeneity and interoperability issues that arise from sharing different applications in the same session. In addition, ICT has a goal of achieving fast local response, concurrent work, and relaxed WYSIWIS view sharing in a heterogeneous application-sharing environment. For the ICT approach to work, the system developer must formalize in advance the metaknowledge for understanding a specific application's semantics. Because of the tremendous difficulty of knowledge formalization and other technical challenges, the ICT prototype had limited functionality: editing operations exchanged among different editors are limited to plain text insertion and deletion.

Transparent Adaptation

An alternative approach, called Transparent Adaptation,3 can transparently convert individual single-user applications into collaborative ones. TA relaxes generic application-sharing constraints, making it possible to introduce application-specific treatment to the target application and to resolve (or avoid altogether) some problems associated with generic application-sharing environments. TA provides a bridge between state-of-the-art collaborative technologies and off-the-shelf mainstream single-user applications. It comprises three major components (see figure 1). The single-user application (SA) provides conventional functionalities. The SA can be any existing or new application such as Office, CAD, or Web-authoring applications. The generic collaborative engine (GCE) provides advanced collaborative capabilities such as

3IEEE Distributed Systems Online April 2006

Page 4: From the editors: collaborative computing community - leveraging single-user applications for multiuser distributed collaboration

concurrent work, collaborative undo, and workspace awareness. The GCE component can be reused in adapting different single-user applications. The collaboration adaptor (CA) bridges the data and operation gaps between the SA and the GCE. The CA uses the SA's application programming interface to intercept and replay the user's operations, requiring no access or change to the SA's source code, thus achieving transparency.

Figure 1. The transparent adaptation approach.

4IEEE Distributed Systems Online April 2006

Page 5: From the editors: collaborative computing community - leveraging single-user applications for multiuser distributed collaboration

Collaborative applications based on the TA approach not only retain existing single-user applications' "look and feel" and functionalities but can also achieve advanced collaborative features such as fast local response, concurrent work, relaxed WYSIWIS view sharing, and detailed workspace awareness. We have used TA technology to convert two popular commercial single-user office applications Microsoft Office Word and PowerPoint into real-time Collaborative Word and Collaborative PowerPoint. CoWord and CoPowerPoint not only retain their single-user counterparts' conventional functionalities, but also let multiple users edit shared documents concurrently and consistently over the Internet.

Conclusion

On the basis of the CoWord and CoPowerPoint work, we conjecture that the TA approach and related technologies are applicable to a wide range of existing or new editor-like applications, including word processors, spreadsheet tools, graphic drawing and digital media-editing tools, Web authoring and publishing tools, and CAD/CASE tools. Still, many interesting and important TA-related questions remain unanswered. For example, what are the general conditions that a single-user application must meet to be convertible by the TA approach? How far could the TA approach take us in the direction of making collaborative applications commonplace? The best way to test our conjecture and to address TA-related issues is to apply the TA approach and technologies to more single-user applications in different application domains, by different vendors, and on different computing platforms.

References

1. J. Begole , M.B. Rosson and C.A. Shaffer , "Flexible Collaboration Transparency: Supporting Worker Independence in Replicated Application-Sharing Systems,"ACM Trans. Computer-Human Interaction, vol. 6, no. 2, 1999, pp. 95-132.

2. D. Li and R. Li , "Transparent Sharing and Interoperation of Heterogeneous Single-User Applications,"Proc. 2002 ACM Conf. Computer Supported Cooperative Work (CSCW 02), ACM Press, 2002,pp. 246-255.

3. C. Sun , S. Xia , D. Sun , D. Chen , H.F. Shen and W. Cai , "Transparent Adaptation of Single-User Applications for Multi-User Real-Time Collaboration," to appear in ACM Trans. Computer-Human Interaction,2006.

5IEEE Distributed Systems Online April 2006

Page 6: From the editors: collaborative computing community - leveraging single-user applications for multiuser distributed collaboration

Haifeng Shen is an assistant professor in the School of Computer Engineering at Nanyang Technological University, Singapore. Contact him at [email protected].

Chengzheng Sun is a professor in the School of Computer Engineering at Nanyang Technological University, Singapore. Contact him at [email protected].

Related Links

DS Online's Collaborative Computing Community, cms:/dsonline/topics/collaborative/index.xml

"Experimental Findings on Collaborative Interactions in a Co-Located Environment", http://doi.ieeecomputersociety.org/10.1109/ICITA.2005.136

"Collaborative Web Computing Environment: An Infrastructure for Scientific Computation", http://doi.ieeecomputersociety.org/10.1109/4236.832943

"A Framework for Concurrency Control in Real-Time Distributed Collaboration for Mobile Systems", http://doi.ieeecomputersociety.org/10.1109/ICDCSW.2003.1203600

6IEEE Distributed Systems Online April 2006

Page 7: From the editors: collaborative computing community - leveraging single-user applications for multiuser distributed collaboration

Cite this article: Haifeng Shen and Chengzheng Sun, "Leveraging Single-User Applications for Multiuser Distributed Collaboration," IEEE Distributed Systems Online, vol. 7, no. 4, 2006, art. no. 0406-o4002.

7IEEE Distributed Systems Online April 2006