Operational Transformation (OT) is a practical technique born out of collaborative editing applications
originally designed to support fine-grained, real-time concurrent editing of plain-text documents. The capacity for fine-grained
collaborative editing means that multiple users may simultaneously change any part of the shared document: in the
same paragraph, the same line, the same word, and even the same character. The capability for supporting
real-time editing means that local changes will be reflected immediately on a user's local copy of the document:
the responsiveness for local editing changes is identical to that of a single-user application.
OT can be applied much more broadly to support a range of groupware functionalities beyond real-time collaborative text editing. Some of the useful applications people have experimented with include consistency maintenance, concurrency control, group undo, locking, conflict resolution, group-awareness, HTML/XML and tree-structured document editing, collaborative office productivity tools, application-sharing, and collaborative computer-aided media design tools.
OT is also a subject with a strong theoretical flavor - OT algorithms are to collaborative editors as scheduling algorithms are to operating systems or as the transaction theory is to database management systems. Common to all system-theoretical work, they are firmly grounded in the applications they can support. My interest in OT is in both its theory as well as using it to build novel and useful applications.
Operation Context and Context-based Operational Transformation
D.Sun, C.Sun, in Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work
Collaborative Object Grouping in Graphics Editing Systems
S.Xia, D.Sun, C.Sun, D.Chen in Proceedings of the 1st International Conference on Collaborative Computing: Networking, Applications and Worksharing (2005)
Context-based Operational Transformation for Distributed Collaborative Editing Systems
D.Sun, C.Sun, in IEEE Transaction on Parallel and Distributed Systems (accepted for publication)