[Sugar-devel] GSoC Groupthink Update: SharedTextDemo-4
Benjamin M. Schwartz
bmschwar at fas.harvard.edu
Fri Jul 17 13:39:26 EDT 2009
Walter Bender wrote:
> A private copy can be shared again. So it seems the real question is
> one of merging. If each of us are working on different versions and we
> want to share again, we need some reconciliation mechanism. I would
> argue that for the time being, that should be a manual process.
My entire GSoC project has been to automate that reconciliation process,
and it has been working perfectly since SharedTextDemo-1.
The thesis of Groupthink is that in order to run over a low-performance
network, even "synchronous" collaboration must be treated as an
asynchronous distributed process, with reconciliation required whenever an
edit occurs. It's happening on a timescale of seconds (or even
milliseconds), so you may not notice it, but the required algorithms are
the same regardless of timescale.
The question here is how to expose this functionality to the user. My
mental model has been that there is an "abstract document" (possibly not
textual) that we are all editing. If we are not connected to each other,
then we do not see each other's changes, but whenever we connect, our
changes are synchronized. My mental image of the abstract document is a
chaotic braid, with many independent threads joining and splitting, but at
the largest scale still forming a single structure.
I have imagined that it does not make sense to "merge" two threads that
belong to different braids; each braid is an island universe. Users may
certainly use the contents of their current thread to seed a new braid
though, this is "Keep a copy". What I am suggesting is that users might
occasionally want to isolate their personal thread, to make some
high-finesse change incommunicado, and then merge it atomically with the
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 198 bytes
Desc: OpenPGP digital signature
Url : http://lists.sugarlabs.org/archive/sugar-devel/attachments/20090717/fe4f8e83/attachment.pgp
More information about the Sugar-devel