Some interesting conversations I thought I should share with everyone.
Cheers
Martin
-------- Forwarded Message --------
From: Pascal Molli <momo54@gmail.com>
Reply-To: Pascal.Molli@loria.fr
To: msevior@physics.unimelb.edu.au
Cc: Gérald Oster <gerald.oster@inf.ethz.ch>, Urso Pascal
<Pascal.Urso@loria.fr>, Hala Skaf <hala.skaf@loria.fr>, J.M. Maurer
<uwog@uwog.net>
Subject: Re: Collaborative editing and AbiCollab...
Date: Wed, 7 Jun 2006 17:23:44 +0200
On 6/7/06, Martin Sevior <msevior@physics.unimelb.edu.au> wrote:
HI Pascal,
I'm definitely interested. We have our own plans for
how to
handle undo but we haven't done much work on it yet. Getting
collaborative editing to work for abiword will certainly require
keeping
shared linear structures in in synchronization. Our document
model is a
linear structure and operations on it require knowing precisely
where in
the document the change will take place.
We've read a bit about Operational Transformation. The way we do
things
does involve changing some of the operations on our model by
predicting
what the remote user expects to happen. Basically we adjust the
position
of the operation on the local document to what the remote user
expects
based on information about the remote user has received.
We use this to correct for internet lag and we have some working
code
that appears to handle the case of two users working in
different parts
of the document.
OT (Operational Transformation) has been designed to handle the
internet
lag. Currently, it exists several algorithms :
1/ The Ressel Model approach : Adopted or SOCT2 or GOTO + adequate
transformation functions (many publication at CSCW conferences and
TOCHI)
Resel Model: http://portal.acm.org/citation.cfm?doid=240080.240305
2/ the Mark and retrace algorithm (published at Group05)
http://portal.acm.org/citation.cfm?id=1099250&dl=ACM&coll=portal
3/ the LBT/ABT approach (published at CollaborateCom)
Our approach is based on SOCT2 + TTF transformation functions. :
SOCT2 :
http://www.informatik.uni-trier.de/~ley/db/conf/icde/SuleimanCF98.html
TTF functions :
ftp://ftp.inria.fr/INRIA/publication/publi-pdf/RR/RR-5795.pdf
We have implemented a demonstrator in JAVA...
We can clean the code and send it to you if you want...
Regarding undo, my plan is to only undo changes made by the
local user
by transforming her operations based on what she expects to
happen if
she were the only editor of the document. Once again this
involves
adjusting the position of the various undo operations.
Currently, it exists several algorithms to handle the group undo
feature:
1/ Mirror and Fold from Ressel (Ressel96)
2/ Undo with C3 and C4 from vidot (coopis)
3/ AnyUndo from Chengzheng Sun (Tochi)
We proposed a new simpler algorithm not yet published based
on compensation...
I think this will work provided the users are not directly
jumping on
each others toes and making immediate changes to the same part
of the
document at the same time.
OT allows to work synchronously, asynchronously and multi-synchronously.
It means
that , on a group of 10 people, 3 can work at the same time while others
prefer to work
in isolation. OT just consider that like a longer lag and will integrate
different contribution
smoothly.
We have already demonstrated this feature in the SAMS prototype. This
feature is also available
in the new "writely"
product.( http://www2.writely.com/info/WritelyOverflowWelcome.htm)
-- Pascal Molli Maître de Conférences Université Henri Poincaré, Nancy 1 http://www.loria.fr/~molliReceived on Thu Jun 8 02:01:36 2006
This archive was generated by hypermail 2.1.8 : Thu Jun 08 2006 - 02:01:36 CEST