[AG-TECH] Creating a Shared Application Launcher

Allan Spale aspale at evl.uic.edu
Tue Jul 20 13:21:41 CDT 2004


Hello,

I would like to tell all of you about a paper and shared AG application
that I wrote based around the idea of a shared application launcher.

I needed to include a "closed application" (i.e. I was not going to modify
the source code of the application to integrate it into the Access Grid)
named ImmersaView (a stereo-capable VRML viewer...more information can be
found at: http://www.evl.uic.edu/cavern/agave/immersaview).  By itself,
ImmersaView is a collaborative application that allows the changes made to
the camera of the scene at one site to be propagated to all other sites in
the session.  After struggling awhile with the idea of what to share, I
eventually realized that there was an action and a state that should be
shared.  Specifically, whenever I started or stopped ImmersaView, I wanted
the option of propagating this event/action to everyone in the session. 
Additionally, I wanted to be able to indicate which VRML file (the state)
we would all share.  Eventually, I made a shared application called
ImmersaView Launcher that served as the graphical user interface to send
the start/stop event and to indicate which file to share. 

However, writing the shared application in this manner did not completely
solve the problem.  Since ImmersaView is stereo-capable, that means that a
stereo display like the GeoWall (http://www.geowall.org) is not directly
part of the Access Grid node.  So, since ImmersaView would run on the PC
attached to this stereo display, I needed a way to send and receive start
and stop events to that PC.  ANL (Justin Binns?) recommended that I use
Python's XML-RPC package to write a lightweight XML-RPC server that would
process start and stop actions which would trigger shell scripts/batch
files that would start ImmersaView on the non-AG PC.  This was the final
piece of the puzzle. 

So, if you have a closed application that has functionality useful to an
Access Grid session, all you need to do is the following:


- Determine what events and states need to be shared

- Write an AG shared application that serves as the GUI to send the events
and set the states to remote participants

- Write a Python XML-RPC server (lightweight) to launch scripts that will
start/stop/configure your "closed application" which could run on the same
PC as the venue client or on a PC separate from the Access Grid


To read more about the Shared Application Launcher, please visit: 
http://www.evl.uic.edu/cavern/rg/20031022_spale/ (other preliminary
research from EVL can be found at our Research Gear home at:
http://www.evl.uic.edu/cavern/rg).

A demonstration of ImmersaView Launcher will occur at this year's SC
Global '04.  I am still looking for remote sites to participate in this
session, so please e-mail me if your site would be interested in
participating in this session.

If you would like more information about ImmersaView, ImmersaView
Launcher, or the Shared Application Launcher idea, please send me e-mail. 


Allan
EVL @ UIC
Research Assistant




More information about the ag-tech mailing list