Storisphere maintains a repository of uploaded raw videos (rushes) and composite videos. All composites are held as time-coded reference to other videos, which may themselves be either rushes or other composites. Composites, therefore, are just text files, and take up little extra space.
Ultimately, any composite video that references other composites can be resolved into an equivalent composite that only references rushes directly. When a user wishes to see any portion of a composite or a rush, the server performs this resolution so that it can build a playable video on-the-fly from the parts of the rushes that the video is ultimately composed of (the conformation process). Rather than fetching a video to the user's device, editing it locally, and retransmitting the result back to the server, the user now only needs to send editing instructions to the server. The server applies these instructions, and can immediately generate a new version of the video on demand, without having to transcode the video again. Apart from the initial upload of rushes, this orients the greater volume of communication mostly downstream, in line with asymmetric DSL that is most often available to users.
The generated video is delivered as independently decodable chunks formed from the original rushes, allowing a user in the process of editing to exploit his own cache of chunks for portions of rushes he has already watched. This means that small changes to a story can be viewed immediately without excessive network use, because the previous preview typically has already caused most of the chunks needed by the new preview to be fetched and cached.
Furthermore, each new rush is encoded at several quality levels. The choice of quality used for playback need not be decided until playback is about to start, i.e., the editing is done independently of quality level. One user can be editing a video at a low quality down his 1Mbps ASDL, while another simultaneously reviews the latest changes at high quality on a 10Mbps link at work.