The goal of the Touring Machine project is to provide a reliable and extensible software platform that supports independently-developed distributed multimedia applications. The project includes an experimental testbed composed of a network of desktop video and audio devices controlled via user workstations. Touring Machine is more than a research testbed; it is the basis of the communications tools used daily by 100 users in two Bellcore locations 50 miles apart. It supports multimedia conferencing and information services as well as point-to-point communications. This paper describes Touring Machine, its system model and its software architecture.