Managing Complexity in TeamRooms, a Tcl-Based Internet Groupware Application

This paper describes TeamRooms, a Tcl-based real time groupware application that provides "network places" for users to collaborate. TeamRooms is significantly more complex than previous groupware applications, providing not only generic tools such as shared whiteboards, but also custom groupware applets running within an OpenDoc-style embedded window. As well as describing TeamRooms itself, the paper relates the use of several Tcl programming techniques -- meta-architectures, multiple interpreters, and embedded windows -- that are used to manage the resulting complexity of the system.