GroupKit
a groupware toolkit

GroupKit is a free, easy-to-learn Tel/Tk groupware toolkit from the University of Calgary, With GroupKit, programmers build applications for real-time, distributed computer-based conferencing. Examples include drawing tools, text editors, and special meeting tools that are shared simultaneously among several users. GroupKit has been used for prototyping groupware, investigating multi-user architectures and interfaces, and as a CSCW teaching tool.

GroupKit was constructed from our belief that programming groupware should be only slightly harder than building functionally similar singular-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 behaviour 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 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.

The diagram and the code fully defines a Hello World program written in GroupKit. What makes this a real Hello World program is that when one person presses the hello button, all people in the conference see that person say hello! Of course, there are many complex applications written in GroupKit, and it has been used to develop our many research prototypes.

Primary Investigators

Mark Roseman (Chief Architect)
Saul Greenberg (Supervisor)
And many contributors over the years.

Milestones

  • Full system implemented and freely available for downloading.
  • We are now on GroupKit version 5.1, which was rewritten from the ground up to include support for Unix, Windows and Macintosh platforms, and also a new flexible meta-architecture.
  • Many other researchers outside of GroupLab have used GroupKit.
  • A variety of papers and a videotape were produced.

Current Status

  • GroupKit has moved from research into groupware toolkit construction into a stable tool for developing groupware prototypes.
  • Expect only minor enhancements and bug fixes.