skip to main content
article
Free Access

Building real-time groupware with GroupKit, a groupware toolkit

Published:01 March 1996Publication History
Skip Abstract Section

Abstract

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 slightly harder than building functionally similar single-user systems. We have been able to significantly reduce the implementation complexity of groupware through the key features that comprise GroupKit. A runtime infrastructure automatically manages the creation, interconnection, and communications of the distributed processes that comprise conference sessions. A set of groupware programming abstractions allows developers to control the behavior of distributed processes, to take action on state changes, and to share relevant data. Groupware widgets let interface features of value to conference participants to be easily added to groupware applications. Session managers—interfaces that let people create and manage their meetings—are decoupled from groupware applications and are built by developers to accommodate the group's working style. Example GroupKit applications in a variety of domains have been implemented with only modest effort.

References

  1. BAECKER, R., NASTOS, D., POSNER, I., AND MAWBY, K. 1993. The user-centered iterative design of collaborative writing software. In Proceedings ofACM InterCHI'93 Conference on Human Factors in Computing Systems (Amsterdam, The Netherlands, Apr. 24-29). ACM Press, New York, 399-405.]] Google ScholarGoogle Scholar
  2. BEAUDOUIN-LAFoN, M. AND KARSENTY, A. 1992. Transparency and awareness in a real-time groupware system. In Proceedings of U1ST~92 Symposium on User Interface Software and Technology (Monterey, Calif., Nov. 15-18). ACM Press, New York, 71-80.]] Google ScholarGoogle Scholar
  3. BONFIGLIO, A., MALATESTA, G., ANn TXSATO, F. 1989. Conference toolkit: A framework for real-time conferencing. In Proceedings of the EC-CSCW'89 First European Conference on Computer Supported Cooperative Work (Gatwick, London, UK, Sept. 13-15), 303-316.]]Google ScholarGoogle Scholar
  4. COCKBURN, A. AND GREENBERG, S. 1993. Making contact: Getting the group communicating with groupware. In Proceedings of the ACM C00CS'93 Conference on Organizational Computing Systems (Milpitas, Calif., Nov. 1-4). ACM Press, New York.]] Google ScholarGoogle Scholar
  5. COCKBURN, A. AND GREENBERG, S. 1995a. The design and evolution of TurboTurtle, a collaborative micreworld for exploring Newtonian physics. Res. Rep. 95/551/03, Dept. of Computer Science, Univ. of Calgary, Alberta, Canada.]]Google ScholarGoogle Scholar
  6. COCKBURN, A. AND GREENBERG, S. 1995b. TurboTurtle, a collaborative microworld for exploring Newtonian physics. In Proceedings of the ACM Conference on Computer Supported Collaborative Learning (Nov.). ACM, New York, 62-66.]] Google ScholarGoogle Scholar
  7. DEWAN, P. 1991. Flexible user interface coupling in collaborative systems. In Proceedings of the ACId CHI'91 Conference on Human Factors in Computing Systems (New Orleans, La., Apr. 28-May 2). ACM Press, New York, 41-48.]] Google ScholarGoogle Scholar
  8. DOURISH, P. AND BELLOTTI, V. 1992. Awareness and coordination in shared workspaces. In Proceedings of the ACM CSCW Conference on Computer-Supported Cooperative Work (Toronto, Ontario). ACM Press, New York, 107-114.]] Google ScholarGoogle Scholar
  9. EDWARDS, W.K. 1994. Session management for collaborative applications. In Proceedings of the ACM CSCW'94 Conference on Computer Supported Cooperative Work (Chapel Hill, N. Carol., Oct. 22-26). ACM Press, New York, 323-330.]] Google ScholarGoogle Scholar
  10. GRAHAM, T. C. N. AND URNES T. 1992. Relational views as a model for automatic distributed implementation of multi-user applications. In Proceedings of the ACM CSCW'92 Conference on Computer Supported Cooperative Work (Toronto, Canada, Oct. 31-Nov. 4). ACM Press, New York.]] Google ScholarGoogle Scholar
  11. GREENBERG, S. 1990. Sharing views and interactions with single-user applications. In Proceedings of the COIS'90 Conference on Office Information Systems (Cambridge, Mass., Apr. 25-27). ACM Press, New York, 227-237.]] Google ScholarGoogle Scholar
  12. GREENBERO, S. 1991. Personalizable groupware: Accommodating individual roles and group differences. In Proceedings of the ECSCW'91 European Conference on Computer Supported Cooperative Work (Amsterdam, The Netherlands). Kluwer Academic Press, 17-32.]] Google ScholarGoogle Scholar
  13. GREENSERG, S. AND BOHNET, R. 1991. GroupSketch: A multi-user sketchpad for geographically-distributed small groups. In Proceedings of Graphics Interface (Calgary, Alberta, June 5-7). Morgan Kaufman Press, San Mateo, Calif., 207-215.]]Google ScholarGoogle Scholar
  14. GREENBERG, S. AND MARWOOD, D. 1994. Real time groupware as a distributed system: Concurrency control and its effect on the interface. In Proceedings of the ACM CSCW'94 Conference on Computer Supported Cooperative Work (Chapel Hill, N. Carol., Oct. 22-26). ACM Press, New York, 207-217.]] Google ScholarGoogle Scholar
  15. GREENBERG, S. AND ROSEMAN, M. 1994. GroupKit. In ACM SIGGRAPH Video Review. Issue 108, ACM Press, New York. Videotape.]]Google ScholarGoogle Scholar
  16. GREENBERG, S., ROS~.MAN, M., WEBSTER, D., AND BO~ET, R. 1992. Human and technical factors of distributed group drawing tools. Interacting Comput. 4, 3, 364-392.]] Google ScholarGoogle Scholar
  17. GUTWIN, C. AND GREENBERG, S. 1995. Support for group awareness in real-time desktop conferencing. In Proceedings of the 2nd New Zealand Computer Science Research Student's Conference (University of Waikato, Hamilton, New Zealand, Apr. 18-21).]]Google ScholarGoogle Scholar
  18. GUTWIN, C., STARK, G., AND GREENBERG, S. 1995. Support for workspace awareness in educational groupware. In Proceedings of the ACM Conference on Computer Supported Collaborative Learning (Nov.). ACM, New York, 147-156.]] Google ScholarGoogle Scholar
  19. HAYNE, S., PENDERGAST, M., AND GREENBERG, S, 1994. Implementing gesturing with cursors in group support systems. J. Manage. Inf. Syst. 10, 3, 43-61.]] Google ScholarGoogle Scholar
  20. HILL, R. D., BRINCK, T., ROHALL, S. L., PATTERSON, J. F., AND WILNER, W. 1994. The Rendezvous architecture and language for constructing multi-user applications. ACM Trans. Comput. Hum. Interact. 1, 2 (June), 81-125.]] Google ScholarGoogle Scholar
  21. ISHII, H. 1990. TeamWorkStation: Towards a seamless shared workspace. In Proceedings of ACM CSCW'90 Conference on Computer-Supported Cooperative Work (Los Angeles, Calif., Oct. 7-10). ACM Press, New York, 13-26.]] Google ScholarGoogle Scholar
  22. ISHII, H. AND KOBAYASHI, M. 1992. ClearBoard: A seamless medium for shared drawing and conversation with eye contact. In CHl'92: Human Factors in Computing Systems (Monterey, Calif. ). ACM/SIGCHI, New York, 525-532.]] Google ScholarGoogle Scholar
  23. JAHN, P. 1995. Getting started with Share-Kit. Tutorial manual distributed with Share-Kit 2.0.0. Communications and Operating Systems Research Group, Dept. of Computer Science, Techniscbe Universit~t, Berlin, Germany. Available via anonymous ftp from ftp.inf, fu-ber}in.de in the directory/pub/misc/share-kit.]]Google ScholarGoogle Scholar
  24. KAPLAN, S. M., TOLONE, W. J., BOGIA, D. P., AND BIGNOLI, C. 1992. Flexible, active support for collaborative work with Conversation Builder. In Proceedings of the ACM CSCW'92 Conference on Computer Supported Cooperative Work (Toronto, Canada, Oct. 31-Nov. 4). ACM Press, New York, 378-385.]] Google ScholarGoogle Scholar
  25. KNISTER, M. J. AND PRAKASH, A. 1990. DistEdit: A distributed toolkit for supporting multiple group editors. In Proceedings of ACM CSCW'90 Conference on Computer-Supported Cooperative Work (Los Angeles, Calif., Oct. 7-10). ACM Press, New York, 343-355.]] Google ScholarGoogle Scholar
  26. KRASNER, G. E. AND POPE, S.T. 1988. A cookbook for using the model-view-controller user interface paradigm in Smalltalk-80. J. Object-Oriented Program. 1, 3 (Aug./Sept.).]] Google ScholarGoogle Scholar
  27. LINTON, M.A., VLISSIDES, Z. M., AND CALDER, P.R. 1989. Composing user interfaces with InterViews. IEEE Comput. 22, 2.]] Google ScholarGoogle Scholar
  28. MALONE, V. W., LAI, K. Y., AND FRY, C. 1992. Experiments with Oval: A radically tailorable tool for cooperative work. In Proceedings of the ACM CSCW'92 Conference on Computer Supported Cooperative Work (Toronto, Canada, Oct. 31-Nov. 4). ACM Press, New York, 289 -297.]] Google ScholarGoogle Scholar
  29. O'GRADY, T. AND GREENBERG, S. 1994. A groupware environment for complete meetings. In Companion Proceedings of the ACM SIGCHI'94 Conference on Human Factors in Computing Systems (Boston, Mass.). ACM Press, New York, 307-308.]] Google ScholarGoogle Scholar
  30. OUSTERHOUT, J. 1994. Tcl and the Tk Toolkit. Addison-Wesley, Reading, Mass.]] Google ScholarGoogle Scholar
  31. PATTERSON, J.r. 1991. Comparing the programming demands of single-user and multi-user applications. In Proceedings of the UIST'92 Symposium on User Interface Software and Technology (Hilton Head, S. CaroL, Nov. 11-13). ACM Press, New York, 87-94.]] Google ScholarGoogle Scholar
  32. PRAKASH, A. AND SHIM, H.S. 1994. DistView: Support for building efficient collaborative applications using replicated objects. In Proceedings of the ACM CSCW'94 Conference on Computer-Supported Cooperative Work (Chapel Hill, N. Carol., Oct. 22-26). ACM Press, New York, 153-164.]] Google ScholarGoogle Scholar
  33. ROSEMAN, M. 1995. When is an object not an object? In Proceedings of the Usenix Tcl/Tk Workshop (Toronto July 6-8).]] Google ScholarGoogle Scholar
  34. ROSEMAN, M. AND GREENBERG, S. 1992. GroupKit: A groupware toolkit for building real-time conferencing applications. In Proceedings of the ACM CSCW'92 Conference on Computer Supported Cooperative Work (Toronto, Canada, Oct. 31-Nov. 41. ACM Press, New York, 43-50.]] Google ScholarGoogle Scholar
  35. ROSEMAN, M. AND GREENBERG, S. 1993. Building flexible groupware through open protocols. In Proceedings of the ACM C00CS'93 Conference on Organizational Computing Systems (Milpitas, Calif., Nov. 1-4). ACM Press, New York, 279-288.]] Google ScholarGoogle Scholar
  36. ROSEMAN, M. AND GREENSERC,, S. 1994. Registration for real time groupware. Res. Rep. 94/533/02, Dept. of Computer Science, Univ. of Calgary, Alberta, Canada.]]Google ScholarGoogle Scholar
  37. SHEN, H. AND DEWAN, P. 1992. Access control for collaborative environments. In Proceedings of the ACM CSCW'92 Conference on Computer Supported Cooperative Work (Toronto, Canada, Oct. 31-Nov. 4). ACM Press, New York, 51-58.]] Google ScholarGoogle Scholar
  38. SHEPHERD, A., MAYER, N., AND KUCHINSKY, A. 1990. Strudel--an extensible electronic conversation toolkit. In Proceedings of ACM CSCW'90 Conference on Computer-Supported Cooperative Work (Los Angeles, Calif., Oct. 7-10). ACM Press, New York, 93-104.]] Google ScholarGoogle Scholar
  39. SMITH, G. AND ROOOEN, T. 1993. Using an access model to configure multi-user interfaces. In Proceedings of the ACM C00CS'93 Conference on Organizational Computing System (Milpitas, Calif., Nov. 1-4). ACM Press, New York, 289-298.]] Google ScholarGoogle Scholar
  40. SMITH, B. C., ROWE, L. A., AND YEN, S.C. 1993. Tcl distributed programming. In Proceedings of the Tcl / Tk Workshop, (Berkeley, Calif.).]]Google ScholarGoogle Scholar
  41. STEFIK, M., BOBROW, D. G., FOSTER, G., LA~NING, S., AND TATAR, D. 1987. WYSIWIS revised: Early experiences with multi-user interfaces. ACM Trans. Office Inf. Syst. 5, 2, 147-167.]] Google ScholarGoogle Scholar
  42. TANG, J.C. 1991. Findings from observational studies of collaborative work. Int. J. Man Mach. Stud. 34, 2, 143-160.]] Google ScholarGoogle Scholar
  43. TANG, J.C. AND MINNEMAN, S.L. 1990. VideoDraw: A video interface for collaborative drawing. In Proceedings of the ACM SIGCHI'90 Conference on Human Factors in Computing Systems (Seattle, Wash., Apr. 1-5). ACM Press, New York, 313-320.]] Google ScholarGoogle Scholar
  44. TAYLOR, R. N., NIES, K. A., BOLCER, G. A., MAcFARLANE, C. A., JOHNSON, G. F., AND ANDERSON, K.M. 1994. Supporting separations of concerns and concurrency in the Chiron-1 user interface system. UCI Tech. Rep. 94-12, Dept. of Computer Science, Univ. of California, Irvine, Calif. Mar.]]Google ScholarGoogle Scholar
  45. Tou, I., BERSON, S., ESTRIN, G., ETEROVIC, Y., AND WU, E. 1994. Prototyping synchronous group applications. IEEE Comput. 27, 5 (May), 48-56.]] Google ScholarGoogle Scholar
  46. TREVOR, J., RODDEN, T., AND MARIANI, J. 1994. The use of adaptors to support cooperative sharing. In Proceedings of the ACM CSCW'94 Conference on Computer Supported Cooperative Work (Chapel Hill, N. Carol., Oct. 22-26). ACM Press, New York, 219-230.]] Google ScholarGoogle Scholar
  47. URNES, T. ~NO NEJARL R. 1994. Tools for implementing groupware: A survey and evaluation. Tech. Rep. CS-94-03, Dept. of Computer Science, York Univ., Toronto, Canada.]]Google ScholarGoogle Scholar

Index Terms

  1. Building real-time groupware with GroupKit, a groupware toolkit

              Recommendations

              Reviews

              Len Bass

              Groupware systems are essentially following the development path of single-user systems a decade ago: from underlying substructure, to public-domain toolkits, to commercial and standard toolkits, and finally to public-domain user interface management systems. Right now, groupware systems are at the public-domain toolkit stage. Since there does not seem to be the same commercial interest in groupware tool kits as there was in single-user toolkits, the public-domain toolkit phase will likely last longer and be more influential to groupware users. As was the case with single-user systems, there are both conceptual issues and platform issues in developing a groupware toolkit that will be widely used. This excellent paper about GroupKit is a welcome addition to the conceptual foundations. Functionally, GroupKit provides tools for session management (allowing participants to join sessions already in progress, and managing multiple sessions), runtime infra structure for application support, and widgets for user interface activities. It appears from the authors' examples that the user interface for session management is included with the session management support. (If I am correct, this is an unfortunate coupling, but separating issues is an essential portion of defining a toolkit, and the authors have gone far in this direction.) On the platform side, this is an X-based toolkit. It would be interesting to see how the GroupKit ideas play in a WWW/Java world, with the looser coupling and stateless protocols involved. This is an important paper, and I recommend it to both practitioners and researchers interested in groupware.

              Access critical reviews of Computing literature here

              Become a reviewer for Computing Reviews.

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader