April 2007 (vol. 8, no. 4), art. no. 0704-o4003 1541-4922 © 2007 IEEE Published by the IEEE Computer Society
From the Editors: Collaborative Computing Community
Collaborative Web Computing: From Desktops to Webtops Haifeng Shen, Zhonghua Yang, and Chengzheng Sun • Nanyang Technological University, Singapore The Web began as a resource-centric, one-to-many medium in which authors essentially published static documents for the benefit of unseen audiences. Over the past few years, however, it has grown into a platform for people-centric one-to-one and many-to-many communication and collaboration. The Web is advancing toward essentially a social network that transforms the Internet into a locus for all things social—data and applications. The Web is becoming a platform where people work, interact, share, and collaborate beyond the reach of office and desktop applications. This trend demands innovative technologies and applications that support people to work and collaborate seamlessly in both single-user desktop and multiuser Web environments. Such technologies make desktop applications Web-aware in that they can talk to Web servers using standard Web protocols. The goal is for such technologies and applications to improve • • •
communications between people via Web-based social networking, communications between divergent software applications via open Web standards for describing and accessing data, and Web interfaces so that they mimic desktop applications' real-time responsiveness.
However, the Web's simplicity fails to capture its social complexity. Web-based tools and applications must fundamentally change from being a place where information is stored and displayed to one where information is created, manipulated, exchanged, interpreted, and processed to help people work, interact, and collaborate online.
First steps and stumbling blocks Google and Yahoo have been advocating gradually replacing desktop applications with brand new Web-based (essentially Web-browser-based) applications. Although this approach has its niche and some successful applications (such as Web-based email, bookmarks, and discussion boards), using today's Web technologies to reinvent those sophisticated, heavy-duty desktop applications is rather difficult. Newly developed Web-based office applications using Ajax technologies have significant limitations. Most of these applications are essentially superfluous, appearing novel but lacking substance. They can be fun, exciting, entertaining, and even convenient for some but are far from being as effective, efficient, flexible, and productive as desktop applications with well-established user bases. Google Docs and Spreadsheets (http://docs.google.com) are the Web-based counterparts of Microsoft Word and Excel. However, their functionalities, features, and performance aren't comparable to the desktop Word and Excel applications. Google and Sun Microsystems are collaborating to put OpenOffice onto the Web to compete with Microsoft Office. However, how they will achieve that remains unknown. Web-based counterparts of most mainstream desktop applications, such as CAD, CASE (computer-aided software engineering), and engineering modeling and computation applications, are still virtually nonexistent. In general, Web-based applications' availability and functionalities are limited and not comparable to those of their desktop counterparts.
IEEE Distributed Systems Online (vol. 8, no. 4), art. no. 0704-o4003
1
Webification: From desktops to Webtops On the other hand, Web-based applications offer many advantages—sharing, platform agnosticism, low risk of data loss, wide accessibility, and, most important, collaboration—that are too attractive to ignore. To exploit the Web platform's merits, we propose the "Webification" approach to leveraging existing desktop applications into collaborative "Webtop" applications—Web-aware desktop applications. Collaborative Webtops combine desktops' rich functionality and responsiveness with the Web's platform agnosticism and collaborative accessibility to provide their users with revolutionary experiences. This would not only make such applications more available and usable but also preserve existing desktop applications' vast user base and their rich usage skills and experiences. This approach exploits the best features of desktop applications and the Web. Existing desktop applications can take full advantage of the Web platform while retaining their original look-and-feel, features, and functionalities. Figure 1 shows the Webification framework. An off-the-shelf single-user desktop application can be converted in three directions: • • •
vertically to the collaborative multiuser desktop through a Collaboration Engine, horizontally to the single-user Webtop through a Webification Engine, and diagonally to the collaborative multiuser Webtop through the orchestration of the CE and WE.
Figure 1. The Webification framework transforms single-user desktop applications into single- or multiuser Webtop applications. Users have complete freedom in determining how a desktop application should work. If neither the CE nor WE were enabled, the single-user desktop application would work conventionally. If the CE alone were enabled, the single-user desktop application would be converted to a collaborative multiuser desktop application, letting multiple users jointly modify the same shared data source in real time. (Our past research has focused in this direction, which is all about collaboration and has nothing to do with Webification.1) If the WE alone were enabled, the single-user desktop application would be converted to a single-user Webtop application, which can use Web protocols to directly modify data stored on data repositories through Web servers. If both the CE and WE were enabled, the single-user desktop application would be converted to a collaborative multiuser Webtop application, with which multiple users can jointly modify the same shared data source stored on data repositories through Web servers. Simply putting together the CE from the vertical direction and the WE from the horizontal direction can't make the diagonal direction work. The CE and WE must adapt to each other to work harmoniously to convert a single-user desktop application to its collaborative Webtop version.
IEEE Distributed Systems Online (vol. 8, no. 4), art. no. 0704-o4003
2
Related approaches WebDAV (Distributed Web Authoring and Versioning) is an extension to the Web HTTP protocol for supporting distributed Web authoring and versioning with existing desktop applications.2 Today's major Web servers, such as Apache, WebSphere, IIS (Internet Information Services), and Tomcat, all support WebDAV. Some mainstream desktop applications, such as Microsoft Office and Adobe Photoshop, Acrobat, and Dreamweaver, have been extended to support the WebDAV protocol. These WebDAV clients can communicate directly with the WebDAV server to download a copy of the data source, automatically place a lock on the data source for exclusive modification, update the data source on the WebDAV server with the modified version, and release the lock on the data source. WebDAV is an alternative to Webifying off-the-shelf desktop applications by extending both the Web server and the desktop application. Webification has two significant advantages over WebDAV. First, WebDAV requires intimate changes to existing software products. This upgrading requires modifying the original desktop applications, whose source code isn't publicly available. Most mainstream desktop applications—such as MATLAB for engineering modeling and computation, AutoCAD for computeraided design, and Maya for digital-media design—aren't WebDAV clients, and it's unclear when the vendors plan to upgrade them to support WebDAV. In contrast, Webification doesn't require modifying desktop applications. Moreover, the WE and CE are supposed to be generic, reusable components for converting a wide range of off-the-shelf desktop applications. Second, WebDAV's support for collaboration is limited. Only one user at a time can modify a shared data source owing to the use of exclusive locks, and WebDAV doesn't let multiple users work concurrently, let alone in real time. Webification supports the transparent integration of advanced collaboration techniques and features, such as real-time collaboration, unconstrained interaction, and detailed group awareness, into off-the-shelf desktop applications. Another relevant approach, as exemplified by Microsoft Excel 2007, relies on the Web as a centralized repository for people to share. Using Excel 2007, spreadsheet authors will be able to save their spreadsheets to a SharePoint (http://www.microsoft.com/sharepoint/default.mspx) document library and give other users Web-based access to the server-calculated version of that spreadsheet. Nevertheless, other than this convenient sharing capability, the Office applications' basic functionality isn't available over the Web. We expect that by using Webification, existing desktop applications will be instrumented to become Web-aware applications capable of delivering access to anyone, authorized anytime, anywhere, on any desktop in conventional or collaborative ways. Webtops are unique applications that can fully exploit the power of the Web and Internet and take the best features of both desktop and the Web. Collaborative Webtop applications will blur the distinctions between the desktop and the Web and between single-user applications and multiuser collaborative applications, enabling users to work in both desktop and Web environments and to work individually and collaboratively in a seamless way. We believe that collaborative Webtop applications will be a natural evolution of desktop applications with connectivity and bandwidth, and the Webification approach will make it a reality. References 1. 2.
C. Sun et al., "Transparent Adaptation of Single-User Applications for Multi-User Real-Time Collaboration," ACM Trans. Computer-Human Interaction, vol. 13, no. 4, 2006, pp. 1–52. J.E.J. Whitehead and Y. Goland, "WebDAV: A Network Protocol for Remote Collaborative Authoring on the Web," Proc. 6th European Conf. Computer Supported Cooperative Work, Springer, 1999, pp. 291–310.
IEEE Distributed Systems Online (vol. 8, no. 4), art. no. 0704-o4003
3
Haifeng Shen is an assistant professor in Nanyang Technological University's School of Computer Engineering. Contact him at
[email protected]@ntu.edu.sg.
Zhonghua Yang is an associate professor in Nanyang Technological University's School of Electrical and Electronic Engineering. Contact him at
[email protected]@ntu.edu.sg.
Chengzheng Sun is a professor in Nanyang Technological University's School of Computer Engineering. Contact him at
[email protected]@ntu.edu.sg.
Related Links • • •
DS Online's Collaborative Computing Community (http://dsonline.computer.org/portal/site/ dsonline/index.jsp?pageID=dso_level1&path=dsonline/topics/collaborative&file=index.xml&xsl =article.xsl) "A Multilayer Peer-to-Peer Framework for Distributed Synchronous Collaboration," IEEE Internet Computing (http://doi.ieeecomputersociety.org/10.1109/MIC.2006.115) "Experimental Findings on Collaborative Interactions in a Co-Located Environment," Proc. 3rd ICITA 05 (http://doi.ieeecomputersociety.org/10.1109/ICITA.2005.136)
Cite this article: Haifeng Shen, Zhonghua Yang, and Chengzheng Sun, "Collaborative Web Computing: From Desktops to Webtops," IEEE Distributed Systems Online, vol. 8, no. 4, 2007, art. no. 0704-o4003.
IEEE Distributed Systems Online (vol. 8, no. 4), art. no. 0704-o4003
4