Below, please find my White Paper submission for the Workshop on Research Directions for the Next Generation Internet. Thank you! Cliff Shaffer -- Cliff Shaffer, Associate Professor Phone: (540) 231-4354 Department of Computer Science FAX: (540) 231-6075 Virginia Tech, Blacksburg, VA 24061-0106 Email: shaffer@cs.vt.edu ----------------------------------------------------------------------- White Paper: Workshop on Research Directions for the Next Generation Internet Clifford A. Shaffer Associate Professor Department of Computer Science Virginia Tech Blacksburg, VA 24061 shaffer@cs.vt.edu Phone: 540-231-4354 FAX: 540-231-6075 Sychronous Collaboration in the NGI People interact together in all aspects of life and, as computers have become prevelent, users seek computer support to extend their interactions. As we enter the 21st century, advances in networking technology and software systems will lead to an emphesis on inter-personal computing. In terms of the WWW, we have already moved from passive observation of static data (exemplified by HTML documents and graphics) to the use of interactive programs (exemplified by Java applets). The next stage of development for the WWW is wide-spread use of collaboration. Collaborations range from asynchronous, where the points of interaction are separated by relatively long periods of time, to synchronous, where all participants are involved concurrently. Asychronous collaborations are already widely used, and relatively easy to support with current technology; the only potential bottleneck is bandwidth limitations. Howerver, there is little support today for real-time sychronous collaborations. We can see the pent-up demand for sychronous collaboration in the relative success, first text-based MUDs and MOOs, and recently superceded by graphically- based group interactions such as Alphaworld and the new gaming networks. However, these rather crude examples tend to be unsatisfying, and clearly represent only the bare beginnings of true synchronous collaboration. Today, the most widely used computer application is electronic mail. This is unlikely to change in the forseeable future, but it is reasonable to expect that sychronous collaboration will become the second most widely used class of computer activity as soon as the technology makes this feasible. We are only beginning to scratch the surface in understanding the potential uses for widespread inter-personal computing. What is most needed in the near term is a convenient mechanism for shared applications combined with real-time audio and video communications. One of the most widely dicussed domain areas for shared-application technology is on-line education. Specific opportunities include collaborative peer learning, and on-line lectures with active feedback from the students. The most widely recognized business domain is collaborative editing of documents. A third domain is collaborative scientific visualization. Scientists will not only be able to exchange data over the Internet, but also give guided tours of their data to colleages. These three examples are each important and generally recognized as natural targets for sychronous collaboration. I suggest that once the infrastructure for synchronous collaboration is in place, however, online collaboration will become ubiquitous and take on new forms, applied in ways that have not yet been imagined. Proper support for sychronous collaboration will lead to a qualitatively different use of computers and the Internet by the public, just as the advent of the World Wide Web lead to a qualitatively different use of computers and the Internet. Entirely new forms of entertainment, education, research, and employment are likely. Given the likely importance of sychronous collaboration as a key component of future Internet usage, it is reasonable that a research agenda for the Next Generation Internet explicitly address support for sychronous collaboration. The research agenda for sychronous collaboration should include at least the following: * Network Infrastructure: This may well be the easiest aspect regarding sychronous collaboration. Higher bandwidth will help, and the existing research agenda regarding methods for efficiently handling disparate streams of traffic with varying levels of performance requirements will probably address the needs of online collaborators. * Expanded CSCW Research: We have had several years research in the area of Computer Supported Cooperative Work. However, that research has barely begun answering the questions of how to design, implement, and evaluate the usability of collaborative applications. In part, this is because testbeds for effective sychronous collaboration have been hard to find. Soon, the WWW will provide the ultimate testbed, and collaborative applications will be upon us whether we plan for them or not. We should move quickly to expand the scope of CSCW research so that the emerging commercial providers of collaborative applications will have answers to their pressing questions regarding usability. The alternative will be poorly designed and poorly deployed software. * A Theoretical Basis for Collaboration: We need a thorough understanding of the various forms of collaboration (including a taxonomy of "collaboration features"), the minimum performance requirements for various forms of collaboration, and their appropriate modes of application. * Usability Evaluation: We need formal methods for evaluating the usability and effectiveness of collaborative applications. Under what circumstances do collaborative features help people to work together, and when do they make working together unnecessarily difficult? * Software Infrastructure: Developers of collaborative applications would be well served by good software infrastructure. This infrastructure should include class libraries for building collaboration support into applications, collaborative widgets, persistent object databases united with interprocess communications, and usability guidelines. * Software Reuse (Collaboration Transparancy): While support for designing collaborative applications is important, at least for the near future it is also important to take best advantage of non-collaborative applications. One approach, known as collaboration transparancy, modifies the runtime environment for an application to automatically support sharing of the application among multiple users. Research should be done to explore the limits of collaboration transparancy, in part to take advantage of existing software, and in part to help us understand the nature of collaboration and what features are truely needed for any given mode of collaboration. We may find that, even if not all collaborative applications can be automatically generated from their non-collaborative forms, at least the path from non-collaborative applications to collaborative ones can be made a straightforward one.