This section reviews a few of the existing tools, programs, and systems available to support collaboration. Groupware comes in many different forms. In some ways, a simple e-mail system constitutes groupware. For others groupware means Lotus Notes. What all the systems have in common is their attention to help people share and manage data in a collaborative work environment. They encompass applications or services that are basic collaborative work, i.e. interpersonal communication, information sharing, and activities coordination.
The existing tools and systems seem to have a couple different origins. Some grow out of successful personal applications. For example, the power of most email tools have been enhanced to add folders, filters, and scheduling functions. On the other hand, systems such as Lotus Notes provide an umbrella under which a number of technologies are woven with some higher level of control -- most often a database. Reflecting this division, we describe selected products below in three categories.
While tools often exist as off-the-shelf packages, few of the integrated programs and none of what we call "environments" could be considered complete without some ability to customize the application to a given set of user needs. This customization comes at three levels. First, these applications have a scripting or macro language that allows the user to define workflow or application functionality. Second, some of these packages have a publicly defined set of API's (Application Program Interfaces) that allow organizations using the packages to write specialized software that will work with the application -- particularly at the backend. Finally, where there is an API, there are likely to be plug-in modules that may be purchased from third party vendors.
Beyond the packaged software arena, there is an increasing use of toolkits to build all sorts of applications -- groupware being no exception. These toolkits may be very general kinds of class libraries such as Java and Active X or very specialized class libraries built with collaborative software development in mind such as GroupKit and Habanero.