Examples of groupware tools include email and listservers, bulletin boards, calendaring and conferencing tools, and document access and editing tools.
Email, which is also known as electronic mail, or electronic messaging, or integrated messaging, or just messaging, is a basic electronic communication application. It enables people to exchange information, workflow and electronic data. It is not bounded by time nor space. The technology is actually relatively old, but nowadays it comes with many new faces within many application packages.
Email's infrastructure consists of a local and global infrastructure. The local infrastructure is the host and the global one is the LAN. Host and LAN are connected by a protocol which requires a gateway for interconnections, such as X.400 or Internet Mail. The whole messaging infrastructure is characterized as a catanet, i.e. concatenated network of diverse components [27]. See figure [27].
The currently existing standard technology domain of the email infrastructure in the marketplace are Internet Mail, X.400, and X.500, each with their own strengths and weaknesses. Internet Mail uses the Internet to send streams of message packages, while X.400 uses message relay technique to handle messaging system.
Internet Mail provides a worldwide interpersonal messaging system using the Internet. It has an architectural concept as shown in Figure [27]. An SMTP messaging node will bring a message from a mailbox (or gateway), then it will be packetisized by a router. These packets of messages will be sent to the recipient's mailbox (or gateway) through the Internet (TCP/IP), a worldwide network of routers and backbones.
Figure: Internet Mail Architecture
Formally, Internet Mail was limited only to carry text messages. To include binary data, it uses MIME (Multipurpose Internet Mail Extensions). MIME is reponsible of structuring messages to carry application-defined information, such as iamge, audio, and video data. Internet Mail uses PEM (Privacy Enhanced Mail) to provide confidentiality, integrity, origin authentication, and repudiation to RFC 822.
Internet Mail follows the standard of the RFC (Request for Comment), which includes:
X.400 MHS is a standard for interconnection messaging system using message relay service. The technique to interconnect messages is by store-and-forward. It is intended to facilitate simple images, voice and complete documents (i.e. including objects such as graphics and multimedia hypertext).
Types of messages being handled are: IPM (InterPersonal Messages) and EDI messages, especially between business applications. X.400 MHS has a structure as followed:
X.500 is a standard for distributed directory system. It supports global access across organizational and geographical boundaries. A standard method of representing and identifying users and resources across multivendor -- heterogeneous system -- is provided. X.500 defines how information stored in the directory can be accessed by a client software.
Accessing email using a web browser is possible with Internet Mail, e.g. MS Exchange application, because it supports SMTP, which is standardized by the IETF (Internet Engineering Task Force), MIME, and POP3 (Post Office Protocol 3) standard. In comparison with proprietary traditional email system such as Microsoft Mail and cc:Mail, which require gateways to facilitate the communication, Internet Mail is more interoperable. In the near future, POP3 will be replaced by IMAP4 which will handle the problem of store-and-forward process overhead [42].
API is provided to aid email systems in the platform environment, that is between mail-enabled applications and enabling User Agent software. The two division of API are:
Major APIs are MAPI (Microsoft's Messaging API), CMC (Common Mail Calls), AOCE (Apple's Open Collaboration Environment), VIM (Vendor Independent messaging API), cc:Mail M&M API, SMF (Simple Message Format), and X.400 application API.
The client-server architecture is a powerful model. The client-server components become the sub-architecture of the local email infrastructure. This modularization crosses client vendor and server vendor. The modularization is facilitated by APIs at both the client's front-end and the service's back-end. API allows job distribution among vendors.
Another example is an internet server called Domino Internet server from Lotus Development Corp. It is a built-in HTTP server supporting HTTP, HTML, CGI, and Secure Sockets Layer, and it supports IIOP (Internet Inter-ORB Protocol), i.e. a new CORBA-compliant API [44]. The standard Internet protocol will support functions of replication, security, full-text search, and indexing.
Feature Description
Most email products in the market are provided with features listed in the preceeding table. Nevertheless, the technique and appearance might vary. More conventional email products will have a text-based interface, while later products put an effort on providing GUI. A list of email features is presented in the Table of Feature Description.
Listserver can be considered as an advanced feature of email. But in this discussion it is discussed separately, because it addresses the creation of a group of users. List server can be considered like a newsgroup with a different architecture. Mail exploders are used to implement mailing lists, i.e. a list of email addresses, which forwards messages to a group of people. Basically, a mail exploder is a part of an email delivery system allowing a message to be delivered to a list of addressees. List servers are the servers responsible for the list-management system. It is similar to a BBS system, but instead of 'logging on' and search through the postings, they just appear as regular email. To be able to receive the email from a particular listserver, user needs to send a request email the list server.
Listserver maintains the list of addresses automatically using a system called Majordomo. Once a list is setup, all operations will be performed remotely by sending commands to Majordomo via an electronic mail.
Bulletin board can be as simple as a newsgroup or as complex as we want it to be. It can be applied to basic store-and-forward function, or used as tool to support collaboration. One example of BBS application which is used is a newsgroup. Any BBS can create newsgroup and add other features. Newsgroup is one application of BBS, where it does not provide login/access privileges. In essence, newsgroup is an anonymous BBS. The newsgroup tool allows groups to set up the bulletin board and discussion forums. Users can compose a message into a forum. Announcements and requests are examples of messages to be posted on a bulletin board. Participants can begin new discussion by composing new messages or continue the existing threads contributed by other group members. Discussion forums allow new problems, thoughts, ideas to be shared to the group. This approach uses individual messages to build up the shared memory, or a common database of group knowledge. In other words, it approaches organizational memory as a series of built-up discussions. Novice group members can save time by reviewing the forums and become knowledgeable. This is useful for groups that work on long term projects and new group members are anticipated. The newsgroup tool provides a single access point to all shared information. Unlike mail tools, there is only a single copy of each message in a forum. This provides economical usage of storage on the system, compared to multiple copies of the same email message that reside in all group member's mailbox spaces.
BBS is a store-and-forward email which is shared by a group participants. The technique is developed from combining document database and email application [27]. Some newsgroups or BBS also employ content-based dissemination across the Internet environment.
News servers communicate via NNTP (Network News Transfer Protocol) which is defined in RFC 977. The news item is treated similar to an email message. Its header is used to build an index on NNTP. It also includes the sender, subject, synopsis and keywords for indexing.
Scheduling tasks are common in group working environment. Group members can find an appropriate meeting time by collecting information about available time of all participants and coordinating the different individual schedules. This process is traditionally done by phone calls, email, and voice mail. Interpersonal communication increases exponentially as the number of target people engaged in the scheduling process increases.. Studies have repeatedly shown that cost of schedule coordination is high.
By using tools, the coordination task become easier and less costly. A calendaring tool keeps all public and private schedules of individual group members. It also provides a more convenient way to access and make changes those information. A group manager can see all public schedules of group members within a single access. An electronic calendar may also offer features related to viewing multiple schedules, events filtering and prioritizing. Scheduling tasks may become complex tasks when high degree of inter-schedule conflicts. A scheduling tool complementarily works with an electronic calendar by offering multi-calendar free-time search, best time picking, time conflicts resolution, and automatic reminder features. More intelligent schedulers may use expert system architecture. Most multi-user calendar and scheduling tools are used in conjunction with email tools. The scheduling time and notification can be dispatched to team members via email. There have been ongoing attempts to set up open standards for Internet calendaring and scheduling that allow heterogenous systems to exchange data.
Perry [35] identifies the architures of the scheduling and calendaring system into three different categories, based on how the system is implemented.
Computer reminders and alerts are used to prevent people from forgetting. It would be conceivable to consider this kind of software as variants of calendaring tools. Silverman [7] suggests a framework to look at computer reminders and alerts. This framework is based on the metaphors used in the reminders: desktop (location), time-stream, and mental-image-sharpening metaphors. For example, different email folders employ a location metaphor, an alarm sound is a time-strem metaphor, and a colorful icon on a web page can be used to remind the location visited. In addition, the different reminders can differ by thier internal architectures, such as transaction database, GUI (Graphical User Interface) for direct manipulation, knowledge-based database, and agent-based architecture. These reflect what system funtionalities are and how adative a reminder is. Development of group-oriented reminders would benefit from understanding the underlying cognitive framework and system architectures.
The most popular traditional conferencing tool today is telephone. Basically, computational conferencing tools imitate telephone technolgy by allowing a group of geographically distributed users to communicate in real-time fashion as if they were physically next to each other. The simplest tool, the talk command, lets two users to 'talk' to each other by exchanging strings of words via two computer terminals. Multimedia conferencing tools provide richer communication in which non-textual information is permited, such as graphics, sound, images and video. There are increasing demands in groupware application for multimedia conferencing tools. When multiple users are engaged in conferencing, it requires that a tool must provide not only communication channels but also coordination for them. An electronic meeting system can be considered as a more sophicicated conferencing tool.
Electronic conferencing was using point-to-point technology like the one used by the telephone companies. With Internet, conferencing is now done using multicast transmission, therefore giving an economic way of having a multi-way multimedia conference between a large number of participants. The multicasting is implemented through the multicast backbone, also called MBone. It is a worldwide IP multicast system running on top of the Internet. Mbone is used to develop protocols and applications. Mbone provides audio/video (tele)conferencing, as well as data transmission. Connections between participants are done dynamically when the conference starts with a tree-like structure. This structure can be added a branch when a new participant joins in, or pruned as a participant leaves the conference session.
To be able to participate in an MBone network, a workstation needs to be supported by an IP multicast and have a network connection with relatively high bandwidth (at least around 1 Mbps). Multicasting means that a single message packet is passed to selected destinations, whereas unicast is passing a packet to a single destination and broadcast is passing a packet to all hosts in the network. The host supporting multicast will be assigned a unique Ethernet address which enables the host to recognize whether a packet is sent to it or not [Bunn, 1994]. In the IP addressing scheme, IP multicast is class-D addressing, ranging from 224.0.0.0 to 239.255.255.255. This addressing is an Internet standard developed by Steve Deering (RFC-1112) and supported by a number of workstation vendors. IP multicasting is an extension of LAN multicasting to a TCP/IP network. Each packet sent or received by a host supporting multicasting will have a form of a multicast datagram. In the destination field, instead of a single destination address, a multicast datagram will have an IP multicast address. The communication between hosts supporting multicast is supported by IGMP (Internet Group Management Protocol).
Conferencing is a same-time-different-place framework, therefore it needs a "real-time" communication over the wide area IP network. To achieve "real-time" communication, a lightweighted and highly threaded model of communication is used in facilitating the routing scheme. IP multicast routers, called as mrouters, are workstations placed on a LAN responsible of knowing and interpreting multicast addresses. It will distribute and replicate the multicast message packet stream to the destinations (compare with sending a message packet to a single host which does not need distribution nor replication). MBone can be seen as a virtual network of mrouters. It is virtual because it shares the same physical media, i.e. the Internet. A tunneling technique is used to forward multicast packets among the MBone subnets through Internet IP routers -- which usually does not support multicast [Macedonia and Brutzman]. Tunneling means that the multicast message packets are encapsulated inside the regular IP packets. An mrouter having a multicast packet to send through the tunnel will prepend another IP header, set the destination address of the multicast router at the other end of the tunnel, and set the IP protocol field. At the other end of the tunnel, the multicast router receiving the multicast packet will remove the encapsulated IP header and forward the message packet appropriately [Casner, 1993]. Macedonia and Brutzman formulated the following: "MBone tunneling scheme encapsulates multicast streams into unicast message packets which can be passed as a regular Internet protocol packet along a virtual network of dedicated multicast routers (mrouters) until they reach the various destination local area networks."
MBone application also uses RTP (Real Time Protocol) on top of UDP (User Datagram Protocol) and IP. RTP provides timing and sequencing services, which results in a sense of a "real-time" environment at the end-user (ignoring a small buffering delay to synchronize and sequence arriving packets).
Conferencing will have one or more of the following tool features:
IRC can run on a distributed environment through client-server model. The concept is having to set a communication channel. Here channel is defined as a group of one or more clients receiving messages which are addressed to the channel. The channel exists when a client joins in, and it is gone when the last client leaves it. During the existence of the channel, any other client(s) can join or leave. There are two types of channels [OII Multimedia and Hypermedia Standards Activity Report, July 1996]:
Collaboration on documents requires access to one particular file or a set of files. This in turn requires an access mechanism and a document viewing tool. Before a document can be viewed (displayed), it needs to be obtained (accessed). Once a document is available in the viewer's system, it can be displayed. At the most basic level, FTP (file transfer protocol is a document access tool. The document viewing tool can be divided into two categories, which are: specialized document viewing tool, such as Adobe Acrobat and Ghostview, and generalized viewing tools, such as Internet browsers. Specialized document viewing tool only displays, while generalized viewing tool has the internal mechanism to access it.
FTP is chosen to be the standardized method of file transfer, so that sending and receiving files between different computer systems can be done correctly and successfully. FTP can transfer text and binary types of files. The earlier FTP version only has a text-based command line interface. But in the present time, FTP is also available with a point-and-click interface.
Local viewers are used for displaying files which are already existing in the viewer's system directory.
Because the nature of modern work involves creation of documents for various purposes and the computerized editing tools provide substantial benefits over the traditional tools, word processors, or editors, become the most commonly used tools today. There is no tool that is more prevalent than editors. Editing tools allow users to create and continuously modify documents in many possible ways before the final documents are physically produced or electronically delivered. Many features that are not possible in traditional methods are permissible, such as spelling checking, on-the-fly word counting, multiple fonts, reformatting, undo, sorting, multimedia, etc. In addition, some editing tools may facilitate the planning phase of document authoring. There are various kinds of editors, such as equation, graphics, programming, and hypertext editors, and a large number of editors produced in the market.
Typically, editing tools are personal productivity tools and can be used in collaboration only for communication purposes. These do not support collaborators in coordinating collaborative activities. In collaborative authoring, where more than one person are engaged in authoring process of the same document, the requirements and relationships between computers and users change, see section 2.4. With exiting editors and tools, users can do asynchronous collaborative writing. For examples, each author uses a separate editing tool to create messages to communicate with others via email. Documents are exchanged among authors as email messages (using email) or files (using file transfer). Commenting and reviewing are major activities in collaborative writing. Group editors now are emerging to facilitate specific processes in collaborative writing and become specialized programs. At the program level, synchronous collaborative authoring requires a shared editor that allows two, or more, writers to work on the same document simultaneously. In contrast, an asynchronous collaborative editor facilitates the authoring processes of authors who work at different times on the same document.