Overall Objectives
Research Program
New Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
XML PDF e-pub
PDF e-Pub

Section: New Results

Design and Analysis of Collaborative Editing Approaches

Participants : Matthieu Nicolas, Victorien Elvinger, Hoai Le Nguyen, Quentin Laporte Chabasse, Claudia-Lavinia Ignat [contact] , Gérald Oster, François Charoy, Olivier Perrin.

Since the Web 2.0 era, the Internet is a huge content editing place on which users collaborate. Such shared content can be edited by thousands of people. However, current consistency maintenance algorithms seem not to be adapted to massive collaborative updating involving large amount of contributors and a high velocity of changes. This year we designed new optimistic replication algorithms for maintaining consistency for complex data such as wikis. We also designed a peer-to-peer web-based real-time collaborative editor relying on our proposed algorithms as well as a mechanism that balances awareness and disturbance in this kind of systems. We also started to study collaborative editing user behavior.

Wikis are one of the most important tools of Web 2.0 allowing users to easily edit shared data. However, wikis offer limited support for merging concurrent contributions on the same pages. Users have to manually merge concurrent changes and there is no support for an automatic merging. Real-time collaborative editing reduces the number of conflicts as the time frame for concurrent work is very short. We proposed extending wiki systems with real-time collaboration and designed an automatic merging solution adapted for rich content wikis [2]. Our merging solution is based on an operational transformation approach for which we defined operations with high-level semantic capturing user intentions when editing wiki content such as move, merge and split. Our solution is the first one that deals with high level operations, existing approaches being limited to operations of insert, delete and update on textual documents.

Existing real-time collaborative editors rely on a central authority that stores user data which is a perceived privacy threat.We designed MUTE [8], a peer-to-peer web-based real-time collaborative editor that eliminates the disadvantages of central authority based systems. Users share their data with the collaborators they trust without having to store their data on a central place. MUTE features high scalability and supports offline and ad-hoc collaboration. MUTE relies on LogootSplit, a CRDT-based consistency maintenance algorithm for strings  [15]. MUTE collaborative editor will be integrated in the virtual desktop of OpenPaaS::NG project [8].

When people work collaboratively on a shared document, they have two contradictory requirements on their editors that may affect the efficiency of their work. On the one hand, users would like to be aware of other users work on a particular part of the document. On the other hand, users would like to focus their attention on their own current work, with as little disturbance from the concurrent activities as possible. We designed a mechanism that lets users handle a balance between disturbance and awareness of concurrent updates  [10]. Users can define focus regions and concentrate on the work in these regions without being disturbed by work of other users. Occasionally, users can preview concurrent updates and select a number of these updates to be integrated into the local copy.

We are interested in analysing user behavior during collaborative editing. This year we studied concurrency and conflicts in asynchronous collaboration [7]. We chose to study collaboration traces of distributed version control systems such as Git. We analysed Git repositories of four projects: Rails, IkiWiki, Samba and Linux Kernel. We analyzed the collaboration process of these projects at specific periods revealing how changes integration evolves during project development. We also analyzed how often users decide to rollback to previous document version when the integration process results in conflict. Finally, we studied the mechanism adopted by Git to consider changes made on two continuous lines as conflicting.