Developing realtime groupware applications requires great amount of understanding about low level system event-handlers and interprocess communication, and of programming efforts in constructing shared data objects and concurrency controls. The emergence of reusable objects has spwaned a series of efforts to build libraries of objects that might be used for different purposes. In our case, we have an interest in classes designed to support collaboration. CSCW, or groupware, toolkits are designed to allow software developers to build groupware applications (or extend groupware services). A set of groupware primitives, in toolkits, function as source code libraries. The emergence of Java has spawned a series of efforts to build libraries of objects that might be used for different purposes. In our case, we have an interest in classes designed to support collaboration. The toolkits reduce implementation complexity so that building groupware applications is reasonably feasible. The followings are example of groupware toolkits.
GroupKit, developed by Roseman and Greenberg  at the University of Calgary, is based on the Berkeley's Tcl/Tk language. Tcl is an intepreted scripting language, and Tk is an interface toolkit for the X Windows system. GroupKit facilities include s hared data structures, flexible session management, remote procedure calls, concurrency controls and multi-user shared interfaces.
EGRET, Exploratory Group Work Environment , is an groupwork environment that defines both a data and a process model along with supporting analysis techniques for exploratory collaboration, such as software development and document generation. EGRET is an Emac-based toolkit and is specifically designed for hypertext applications. The design, implementation, and evolution of EGRET has been experimented with many issues in multi-user, client-server, hypertext database.
Suite Distributed Object Model  is a Unix/X groupware toolkit that can be used to extend the original system and offers a better support for building new classes of applications in distributed fashion. It has been used to investigate the issues of sharing abstractions, flexible coupling, access control, merging and inheritance. Suite is one example that indicates the benefit of the distributed objects approach.
Commo  is a Java-based toolkit that can be used to develop groupware applets that are used for real-time communication within the web browsers. The prototypes include a shared whiteboard, scheduler, chat, game, and voting tools. The goal of the project is to develop standards for interactive Internet communication.
Habanero  is a Java-based system that offers collaborative-aware facilities. Multiple users, on the Internet (via WWW browsers), can share their Java objects. It aims to build an interface to shared environment and to support links/activity coordination, meeting, conferencing, shared knowledge, and object creation.
The Mushroom project  tries to identify a framework for distributed collaborative working and group interaction across the Internet. The Mushroom system employs a 'rooms'-like workspace metaphor. This framework supports the dynamic creation and management of shared working spaces, so called 'Mrooms', which can be accessed through a web browser. A user can create Mrooms and objects within them for interacting with other users. In other words, a user can create configurable shared workspaces, or applications, for supporting particular collaborative activities. Users are allowed to access Mrooms created by other members. The system offers both traditional (group-unaware) tools and group-aware objects, such as a shared whiteboard, and collaborative editors. Users can also import new types of objects into the Mrooms. Many issues in building group-aware workspaces are being studied, including data representation, dynamic space management, concurrency control, asynchrousity, scalability, openness, and configurability.
The Java Collaborator Toolset  is the toolkit that supports coordination among multiple Java applications running on different machines across the Internet. It is an extention and the replacement of Java Abstract Windows Toolkit (AWT). This toolkit makes standalone Java applications become distributed collaboration software. It also enhances and extends Java to support multimedia conferencing, such as whiteboard.