Collaborative Interaction Using Remote Controllers Running on Personal Input Devices

Principal Investigator:

Prof. J. R. Miller, EECS

Many modern design, visualization, and decision support systems involve interdisciplinary working groups. Common requirements to support the efforts of such groups include shared graphical displays and the ability for all involved to interact with the visualizations. Much effort has been expended on the visualization side; somewhat less has been reported on the interactive control side. In this paper we describe the "Remote Application Controller", a Java application running on a personal device that can locate and establish communication with other applications running on the network. The RAC serves two related purposes in this context. When running on personal handheld devices, it allows a group of individuals sharing the same display space to also share control of the applications running in that space. When running either on such devices or on standalone workstations, it allows remote collaborators - in conjunction with another distributed tool we mention - to have separate input and output ports to a visualization application running at a remote location. This effort was initiated before the Jini toolkit from Sun was widely available. Jini provides support for some of the capabilities built into our prototype RAC, hence we have reworked those portions to exploit the Jini toolkit and other interactive control and configuration paradigms enabled by this newer technology. Finally, a nice side benefit has been that the RAC architecture provides one easy way to develop effective cross-platform GUIs for arbitrary non-Java based visualization applications, including ones originally developed to be run by a single user in a non-collaborative context.

The "shadows" OpenGL program The Remote Application Controller running on a personal device, ready to select a light source from the "shadows" display
Selecting the light via the RAC After dragging the light via the RAC

The RAC runs on workstations, personal computers, and of course a "Personal Input Device". The latter represents the original motivation for this work. Every collaborator in a visualization environment would have their own personal device running a copy of the RAC to get shared control of the applications running in the environment. An early prototype of such a personal input device is shown below. We are currently configuring Compaq iPAQ devices for this purpose.