You are looking at the screen of a Sun Microsystems SPARCstation
running the Cedar programming environment.
We have equipped this workstation with two mice
so the two users can point simultaneously.
This window contains MMM, the multi-device, multi-user, multi
editor.
MMM is an experiment to discover how
several users can productively collaborate on editing tasks.
In our initial scene, we have a command menu, a color menu,
home areas for two users named Eric and Steve, a rectangle
editor, and a text editor.
In a moment, we will discuss the function
of each of these objects.
Users can associate input devices
with themselves using the home areas.
Here Steve clicks on his home area
with one of the available mice.
Steve's cursor takes on the color of his home area.
The system will customize its responses
to actions from this mouse according
to Steve's preferences.
By grabbing another mouse and clicking on his home area,
Eric can begin to use the system as well.
Within this frame is a toy rectangle editor.
By pointing here and clicking the mouse,
Steve creates a rectangle.
Its color is determined by Steve's default color
for that editor shown in Steve's home area.
The frame around the new rectangle
is used to manipulate it.
To move it, Steve clicks and drags on an edge.
To stretch it, he clicks and drags on a corner.
Eric can use the same editor because Eric
has a different preferred creation color.
His rectangles are created magenta instead of blue.
Eric and Steve can use the rectangle editor
simultaneously.
For instance, here they drag different rectangles
at the same time.
Here, they drag two corners of the same rectangle.
This lower frame is a toy text editor.
Steve can enter text by clicking the mouse in the editor's space
and then typing.
While Eric drags the text to a new position,
Steve continues to type.
MMM uses colored borders to indicate in which editor a user
is currently working.
For instance, the rectangle editor
has a blue border when Steve is working in it
and the text editor has a magenta border
when Eric is working in it.
When Steve and Eric work in the same editor,
both colors are displayed.
Users can select groups of objects and their parts.
Here, Steve selects a rectangle.
The corner of the rectangle's frame
highlights with his cursor color.
Steve can extend the selection to include other rectangles as
well.
During dragging, all of the selected rectangles
move as a unit.
Likewise, when Steve clicks on a color in the color menu,
all of his selected rectangles become that color.
In the text editor, we can select a character
or a sequence of characters.
The selection is shown by underlining the characters
in the user's cursor color.
The selected characters can be recolored or deleted.
Objects may be selected by several users at once.
For instance, here Eric and Steve
select some of the same rectangles.
Two corners of each rectangle highlight with the colors
of the two users.
Steve can reposition the rectangles
while Eric changes their colors.
Likewise in the text editor, our two users
can make selections that overlap and use their selections
to change text color.
If they both try to recolor the same text characters,
the last user to apply the color change
determines the final color.
To save screen space, we used menus
that are shared across editors.
Actions from these menus are applied
to the user's current selection in the user selected editor.
For instance, the color menu changes
the color of rectangles, text, and editor backgrounds.
Likewise, the Delete button can be
used to delete rectangles, editors, or even itself.
The Rectangle Editor button can be
used to embed a rectangle editor in a rectangle
wherever that rectangle is located.
The Color Menu button turns a rectangle into a color menu.
Like the original color menu, this button
works on any rectangle anywhere in MMM.
The menus can also be shared by two users.
For instance, Eric and Steve can both use the color menu
at the same time.
MMM editors can be nested and users
can edit at different levels.
For instance, Eric can resize an editor
while Steve moves and recolors and object in that editor.
In fact, if Steve is quick he can even
change the color of an object in an editor
that Eric is moving using a color palette that
is also moving.
Ken can join the MMM session by having an existing user
type his name, select it, and click the New User menu item.
MMM creates a new home area.
Ken can then claim a mouse by clicking on this home area.
Ken can now use any of the MMM editors customized to his user
preferences.
Steve is working on two documents at once.
In one, he is in the middle of typing a blue italic paragraph.
In the other, he is typing a red plain face paragraph.
Each text editor window remembers Steve's current mode
in that editor so Steve types the right kind
of text in each editor.
Steve's home area shows the font family and text
color for Steve's currently selected editor.
Our workstation has only one keyboard.
So only one user can type at a time.
Steve's home area displays a highlighted iconic
representation of the keyboard.
Eric can take control of the keyboard
by clicking on this icon.
The highlighted icon is then transferred to Eric's home area
and Eric can now type.
Because MMM currently has no user community,
we do not know which of these techniques will prove useful.
However, we have shown that editors can support
fine grained collaboration.
We believe such editors will enhance group work in settings
such as blackboard discussions, meetings,
and remote collaboration.
We also plan to use this architecture
to explore single user interactions involving
multiple pointing devices.