1. A computerized method for collaborating over a network to manipulate a design using a plurality of heterogeneous user applications running on respective clients connected to the network, said method comprising the steps of: connecting a session client process to a session manager over the network to participate in a collaborative session; sharing session control messages with other session client processes connected to said session manager; loading design data representing said design into a local application running on said client; creating at least one application state file representing at least one application state of said local application based on at least one manipulation of said design using said local application; communicating said at least one application state file from said session client process to said other session client processes via said session manager; and loading at least one application state file created by other local applications and communicated from said other session clients via said session manager.