TangoInteractive Background
TangoInteractive is an advanced, powerful, and extensible Web collaboratory, and is perhaps the most flexible of systems of its type. It is not aimed at exploring research issues in collaborative system design, but rather at exploring applications such as those proposed here. In this regard, great effort has been put into making the base infrastructure quite robust, so that it can be used outside a tolerant research environment.
TangoInteractive (http://www.npac.syr.edu/tango) is written in Java, but supports collaborative applications in any language. Further TangoInteractive is fully integrated with Web browsers, and this provides the basis of convenient, familiar interfaces. To run TangoInteractive, one starts the system from a browser and connects to a Tango server. Both the client and server code for Tango are freely available on CDROM or from our Web site, which also contains the well documented API’s for C++, Java, Java Beans, and JavaScript. Once in the system, the user can select from over 25 collaboratory applications to work on projects with partners, play a game of Bridge or Chess, take a class at a virtual university, create and use a public or private chat room, conduct a videoconference, view a movie, or surf with friends using the powerful shared browser. It is possible to do all this at the same time, in any combination, and multiple copies of applications such as chat rooms can be launched. Further, TangoInteractive can provide shared sessions for either client- or server-side applications. The latter include both shared (Web-linked) databases (as in the Oracle based WebWisdom curricula management system) and shared CGI scripts (as in our integration of NCSA’s Biology Workbench with TangoInteractive). We believe that no other collaboratory system, public domain or commercial, gives you so many applications under such consistent and simple session and floor control.
Besides running Java applets under Tango, one can run JavaScript-based client-side Web applications. Moreover, in Tango the user can take an arbitrary HTML page and automatically turn it into a shared entity. To build a 3D VRML world, populate it with avatars, and let them interact, Tango provides support via two integration modes: VRML JavaScript nodes and External Authoring Interface. Applications written in C or C++ (e.g. PowerPoint) can also be readily adapted to run collaboratively under the Tango API. Note that the shared collaboration model of TangoInteractive allows each client to have different views of the same shared application, and this is essential for universal access. Shared display systems such as Microsoft’s NetMeeting are less flexible.