An algorithm for selective undo of any operation in collaborative applications

  • Authors:
  • Bin Shao;Du Li;Ning Gu

  • Affiliations:
  • Fudan University, Shanghai, China;Nokia Research Center, Palo Alto, CA, USA;Fudan University, Shanghai, China

  • Venue:
  • Proceedings of the 16th ACM international conference on Supporting group work
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Selective undo allows users to undo any operation in the history and is considered a key feature in collaborative applications. Operational transformation (OT) is a powerful tool for implementing selective undo because it can be used to rearrange operations in a history in arbitrary orders. Despite the significant progress over the past two decades, however, there is still a space for improvements. Most existing works take time quadratic or even exponential in the size of the operation history H to undo an operation. Although this might be acceptable for real-time collaboration, it would be suboptimal in mobile and asynchronous collaborative applications in which a long history may accumulate. In addition, it is important to prove an algorithm with regard to the correctness criteria it assumes. This paper proposes a novel OT-based algorithm that provides integrated do and selective undo. The algorithm achieves time complexity of O(|H|) in both do and undo by keeping the history in a special operation effects relation order. Its correctness is formally proved with regard to formalized, provable conditions that are extended from a recent theoretical framework.