OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office-collab message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [office-collab] Connection of MCT and OT?


Google Hangout is the video conferencing part of Google+.  There is video,
audio, and screen sharing (and a text chat along the side).  I think there
is a limit of 10 participants in a conference, so it tends to be available
to the first arrivals, though some people come and go over the two-hour
period.  

Ward Cunningham holds a two-hour open Hangout every Wednesday at 10:00 PST
(18:00Z) on his Smallest Federate Wiki (SFW) project, although the
discussions can be wide-ranging depending on who is there and what someone
wants to discuss. OT came up as part of a discussion by one participant of
his history with WikiMedia.  It can be like that.  At the end, the
characteristics of IndieAuth were being discussed, for example.  Ward being
a gracious host is also an important factor.

It works surprisingly well, although there can be problems with audio/video
breakup and lag.  Because of the way it works, not every participant will
see the problems that others do (not unlike what happens with Skype but more
varied because of the amount of bandwidth involved). 

 - Dennis

PS: I keep notes of my own at <http://orcmid.fed.wiki.org> but they are not
particularly relevant to ODF or change-tracking.
 
-----Original Message-----
From: office-collab@lists.oasis-open.org
[mailto:office-collab@lists.oasis-open.org] On Behalf Of Svante Schubert
Sent: Thursday, February 07, 2013 03:40
To: office-collab@lists.oasis-open.org
Subject: Re: [office-collab] Connection of MCT and OT?

On 07.02.2013 00:01, Dennis E. Hamilton wrote:


	I was in a Google Hangout earlier today and one of the participants
	mentioned "OT," explained as "Operational Transformation" when I
asked.  I
	must be very late to the party, because the basic idea was published
in
	1989.

Out of curiosity : Google Hangout as a chat or some physical event?


	
	
	Is MCT somehow inspired by this?
	< http://en.wikipedia.org/wiki/Operational_transformation>
<http://en.wikipedia.org/wiki/Operational_transformation> .

Definitely very close related, see as well 
http://www.waveprotocol.org/whitepapers/operational-transform
http://www.heise.de/developer/artikel/Synchronisationsalgorithmen-verstehen-
1562877.html?artikelseite=1 (very easy, but need to translate German - e.g.
use Chrome browser context menu to translate)
http://www.codecommit.com/blog/java/understanding-and-applying-operational-t
ransformation

First I did not now about CT, I just realized the only way to allow
real-time-collaboration is to work on the same base/model.
A browser office (HTML) with a OpenOffice (ODF) only could work together,
when they abstracted from the HTML/ODF details and work on what the
documents had in common. Some user semantics (table, paragraph, characters)
-> components were born.

When I had the scenario of real-time collaboration with one participant
sitting in a train driving into a tunnel, with the urge to finish his work
and save his changes in a standardized way into document (to later synch it
back with his friends). I realized that the user would like that his changes
are being saved in the document in a standardized way, which is basically
similar to change-tracking.

It was easy without knowing OT, that that for merging changes only the
position parameter have to be incremented - e.g. when working on the third
paragraph and someone inserts a new second one, the working paragraph
becomes the fourth. Like a shell game, but instead watching at the shell
with the pearl, someone keeping track of its own change position.
After that point Florian Reuter was so kind to tell me about OT.
From the first reference (last part) above, I was impressed from the
scenario of the single server synchronization, where the client might wait a
few seconds. I extended it, as when waiting a few seconds, why not making it
a week-end, allowing to merge the work back on Monday.

So merging is done by adapting the reference position numbers, similar to
OT, the merge principles are rather aligned to distributed revision control
systems such as git/mercurial, requiring that one of the clients (all
participants are clients) to pull & merge to the same level before a push
can take place (but this might be a story for itself)

Finally, it become obvious that documents could be expressed only by changes
and changes could be sorted, even normalized (for instance as much
compressed as possible and in document order). AFAIK Google Docs are only
stored as normalized changes/operations.



	
	I was told that OT has some very rigid conditions with regard to
their being
	a linear text stream.

Yes, but linearity is just a design decision. OT is from the 80ths, why not
keeping the O(log n) of a tree, creating a component tree, when mapping ODF
XML trees.


	
	
	It occurred to me that this might apply for change-tracking (with or
without
	the collaboration case) but that it applies *not* to the XML
structure but
	to some canonical *presentation* (i.e., what users perceive
themselves as
	editing) that can be taken as semi-unstructured.

The latter point has to be discussed (perhaps you start a new mail thread
for clarity). 
I agree that ODF XML structures might be different, but they still have the
same 'relevant' information set that may be mapped to operations.
As an example for irrelevant information, I could rename the XML namespace
prefixes and use them as a vehicle of information. For instance, instead of
<office:body> I could write <someNiceStoryInThePrefix:office>. But an ODF
application would not gather such information and is allowed to remove it as
irrelevant. Similar the start and end of SPAN elements are irrelevant, for
instance the elements for colors of <red/><yellow/><red/> is equivalent to
<red> <yellow/></red>
Is that what you meant with canonical presentation? 

Regards,
Svante


	
	
	Just curious.
	
	 - Dennis
	
	PS: I think the subsequent acceptance and rejection of changes in
various
	sequences can be thought of as OT operations and that is where the
	"asynchrony" comes up even though there is not concern about
coordination
	replicated copies.
	
	
	
---------------------------------------------------------------------
	To unsubscribe from this mail list, you must leave the OASIS TC that

	generates this mail.  Follow this link to all your TCs in OASIS at:
	
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 
	





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]