Introduction

Rich multimedia-based animation is widely used in World Wide Web today as a result of its expressiveness and strong support of interaction. Typical applications of animation in the World Wide Web comprise advertisement, games, movies, etc.

The creation of animation as web content can require collaboration by multiple artists. Initially, as the result of its information capacity, the creation of an animation was often a time-consuming process. With multiple artists concurrently working on the same animation, the turnaround time can be significantly reduced. Secondly, an animation often contains varieties of media design techniques (e.g. video and audio creation, drawing and motion design), which requires different talents from multiple artists.

To meet the requirements mentioned above, a real-time collaborative animation editing systems should not only allow geographically dispersed multiple artists to work on the same animation at the same time over the Internet, it should also provide advanced collaboration-specific features to facilitate and coordinate the collaboration among multiple users.

What is CoFlash?

CoFlash is a real-time collaborative Flash® animation creation and editing system converted from Adobe® Flash®. Based on the existing single-user Adobe® Flash®, CoFlash avoids re-inventing the sophisticated animation editing functionalities. Moreover, it preserves Adobe® Flash®'s look-and-feel, so that existing Flash® users can enjoy the power of advanced collaborative techniques without the need of learning a new system.



Center Align

A screen shot of CoFlash. Two users are editing the same document at the same time using CoFlash with Adobe® Flash®. (Click to enlarge)

What are the technologies behind CoFlash?

CoFlash is powered by GCE (Generic Collaboration Engine), which encapsulates a comprehensive collection of state-of-the-art collaborative technologies and can be used to support a wide range of advanced collaborative applications. The technology that glues GCE and Flash® together to make CoFlash is Transparent Adaptation (TA), which can be used to convert existing single-user applications into advanced collaboration tools without making any change to the source code of the original application.

The TA-based CoFlash architecture consists of three components:

1. Single-user Application (SA) provides conventional single-user Flash® functionalities and interface features but has no knowledge about multi-user collaboration.

2. Collaboration Adaptor (CA), which bridges the single-user application with the underlying GCE (see below). The CA component uses the SA API (Application Programming Interface) to augment the SA with collaboration capabilities without accessing the source code of the SA.

3. Generic Collaboration Engine (GCE), which provides application-independent collaboration capabilities in consistency maintenance, concurrency control, group awareness, interaction control, etc. The GCE component can be shared by a wide range of TA-based collaborative applications. The cornerstone of the GCE is Operational Transformation (OT)