A collaborative computing system that permits the use of network and platform independent applications, and is easily customized. A conference engine provides a network interface between applications and the network, so that applications can be written independent of the network or platform. The conference engine provides both networking and conference management functions. The applications are organized into application modules, each of which provides a discrete collaborative computing function. The application modules use a library of collaboration commands to provide collaborative computing functions to the conference engine, and connect to the conference engine via inter process control mechanisms. The application modules can, in turn, be customized by user interface modules, which customize the user interface of the application modules and permit application module-independent user interfaces.