[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]