GroupKit User Manual - An End User's View
Before delving into the details of how to build GroupKit applications,
we'll first walk through how an end user would run some of the existing
applications included in the distribution. This will give you a chance
to make sure things are set up on your own system, as well as introduce
some important concepts about groupware programs.
We'll assume that GroupKit has already been compiled and installed on all
participating systems, with a registrar process running. If GroupKit has
not yet been installed, you can install it yourself by following the step
by step installation instructions in the README file in the software
distribution.
Starting a Session Manager
In GroupKit, you don't run programs directly, but invoke them via another
program called a session manager. The session manager is used to locate
other people in your work community running GroupKit programs, and connect
your programs up to them, or to start up programs of your own. Running your
programs together with other people is called a conference or session.
GroupKit actually comes with several different session managers, but we'll
use one called the Open Registration session manager.
To start it, do the following:
- On Unix, type "open.reg &"
- On Windows, double-click "OpenReg.tcl"
- On Macintosh, double-click "OpenReg"
The first time you start up, the session manager may ask you some questions
about yourself, such as your name, and store this in a preferences file
It should then show the window in
Figure XX (if you have problems, make sure that you have a registrar process
running). The "Conferences" pane on the left shows the names of any
running conferences. Selecting one will show who is in the conference in
the "Participants" pane on the right. The "Conferences" menu contains a
list of known GroupKit applications and lets you start up new groupware
sessions.
Figure XX. Open Registration session manager.
Creating a New Conference
Assuming there are no conferences already running which we could join,
let's create a new conference. We'll use a program called "Simple Sketchpad",
which acts like a shared whiteboard, allowing several users to simultaneously
draw freehand on a canvas.
To create it, pull down the "Conferences" menu in the session manager and
select "Simple Sketchpad". A dialog box will appear, shown in Figure XX.
This dialog box allows you to give your conference a name (by default it is
just the name of the application) which will identify it to other users.
When you've picked a name, click the "Create" button.
Figure XX. Conference naming dialog.
At this point, you'll see the name of the conference added to the
"Conferences" pane in the session manager, and the Simple Sketchpad program
will come up in its own window, as shown in Figure XX. You can draw on the
canvas using the left mouse button. The menus let you clear the canvas,
exit the program, find out about other participants in the conference,
and get information about both GroupKit and the Simple Sketchpad
conference. Try it!
Figure XX. Simple Sketchpad conference.
Joining an Existing Conference
We'll now have another user join the conference you've created. Find
someone else on another machine nearby, and get them to start up their own
copy of the open.reg session manager. They should see the conference
you've created, and clicking on it will show that you are a participant in
it. If you are just trying GroupKit out by yourself, create another
open.reg on the same machine, and pretend you are a different person by
changing your name to a new one in the entry box on the bottom.
To join the conference from their session manager, the other participant
can double-click the name of the conference. This will add their name to
the list of participants, and also bring up a window with their own copy
of the Simple Sketchpad program. You'll also see that any drawing that
was done in the first copy of the program appears in the new copy.
You'll now find that both people can draw at the same time, and that any
drawings made by one user immediately appear on the screens of the other
user. You'll also see a small cursor called a telepointer, which tracks
the location of the other user's mouse cursor as they move around the
window. More than two people can be in this conference and others can
join and participate through their own session managers.
When done, you can select "Quit" or "Exit" from the "File" menu of the Simple
Sketchpad program to leave the conference. Your copy of the program will
disappear, and you'll see your name removed from the list of conference
participants in the session manager.
What's Really Happening Inside
To understand what is going on, lets take a step back. As you've noticed,
GroupKit consists of a number of different processes, which are illustrated
in Figure XX. There is a central process called the registrar, a
"daemon" that should already be running on your system. Its job is to
keep track of what conferences are running and who is joined to them.
Each user runs a session manager, such as open.reg, which connects up to
the registrar. The session managers are used to create conferences
(such as our Simple Sketchpad) which again run as separate processes. As
other users join conferences through their own session managers, GroupKit
opens up network connections between the conference processes, so that
every process in a conference has a connection to every other process in a
conference.
Figure XX. GroupKit process and communications architecture.
Other Applications
There are a number of other sample applications included with the GroupKit
distribution which you should try out. Some of these are illustrated in
Figure XX and include:
- Brainstorming Tool. Allows users to brainstorm by typing in
brief one-line textual ideas; all ideas appear in a listbox visible by
everyone.
- File Viewer. Lets you load up the contents of a text file and
browse through it. A multi-user scrollbar shows what parts of the file
other people are looking at.
- Hello World. A simple program that creates a button; when
pressed, the button changes on all user's screens to say hello from
whoever pushed the button.
- Text Chat. A program similar to Unix talk, but allowing more
than two participants. Text typed by each user is immediately seen by all
others.
- Tic Tac Toe. The classic game, allowing you to play against
other users.
- Tetrominoes. Rotate and move the different shaped polygons to
get them to fit inside their containers.
Figure XX. Some example GroupKit conference applications.
Important Concepts
There are several important points about GroupKit that have been
illustrated so far.
- GroupKit supports real-time distributed multi-point conferences between
many users.
- GroupKit systems include both session managers for managing conferences,
such as the Open Registration system, and conference applications which are
the actual groupware tools, such as Simple Sketchpad.
- Every user in a GroupKit conference session runs their own copy of the
conference application in a process on their own machine. These processes
are connected to each other over the network.
- GroupKit is not a media-space system, which would include things like
audio or video conferencing. Many of the conference applications will
strongly benefit from having some kind of voice connection, such as provided
by a telephone. Alternatively, if you have some sort of computer-based
media space system available, it would be possible to integrate it with
GroupKit, so that starting a GroupKit conference also starts the media-space
system.
GroupKit User Manual.
Last updated March 16, 1998 by Mark Roseman.