1. A system for allowing multiple parties to collaborate, comprising: a) multiple computers at different locations, each having a storage space for programs, wherein one of the computers runs a shared program; b) means for linking the computers together, using a network; c) substantially identical program means, running on each computer, i) for allowing the user of any of the computers to A) select and run a program stored in the storage space of any computer; B) provide program input to the program selected; ii) for A) showing output of the program selected on a display of each of the computers, B) allowing the user of each computer to draw annotation images on the display of the user's computer, and C) replicating the annotation images on the displays of the other computers, and wherein one or more of the steps of i) and ii) are accomplished by a computer program which is distinct from the shared program.