On Dec 3, 4:52 pm, Daniel Paull <[email protected]> wrote: > > I believe you are attempting to understand if the wave > > code base can be used to build an OT synchronised > > web application > > No, I am not trying to understand this at all. > > I would be most interested in how you have written your web client. > Perhaps you can write it up somewhere, say, on a blog. One question > springs to mind - what have you done regarding server acknowlegements?
Streamed back the changes as part of the server edit stream so the client can toast the client side edits. > Dan > > Brett Morgan wrote: > > Dan, > > > I believe you are attempting to understand if the wave code base can > > be used to build an OT synchronised web application. I have built an > > OT synchronised web application using wave's fedone codebase. If you > > want to discuss how I did this, I am more than happy to do so. > > > brett > > > On Dec 3, 4:26 pm, Daniel Paull <[email protected]> wrote: > > > Brett - I feel that my comments are well informed, not blinkered at > > > all. But we will leave this conversation alone at this point as it > > > has just become completely inappropriate. > > > > Dan > > > > Brett Morgan wrote: > > > > On Dec 3, 2:54 pm, Daniel Paull <[email protected]> wrote: > > > > > I had qualified my use of the term client previously when I said, > > > > > "When I say client, I mean client as in client/server". > > > > > > I liked your first post. However, to demostrate that the > > > > > transformation is unambiguous, you need to generate [Oa, Ob'] and [Ob, > > > > > Oa'] and show that they give the same result. > > > > > > There is no need to talk about the federation protocol to answer the > > > > > question. The ambiguity that the OP talks about can only ever happen > > > > > on the client (meaning the client that the user interacts with), so > > > > > what the servers do amongst themselves is irrelevant. > > > > > This blinkered refusal on your part to accept that federation is > > > > relevent to understanding how OT works in the Wave Protocol speaks > > > > volumes. > > > > > > I feel this conversation is getting nit picky and off topic now. > > > > > What I feel about this conversation is unprintable. > > > > > > Dan > > > > > > Brett Morgan wrote: > > > > > > On Dec 3, 12:42 pm, Daniel Paull <[email protected]> wrote: > > > > > > > Brett - let's just take a step back here. All this conversation > > > > > > > is to > > > > > > > answer this question: > > > > > > > > "On the server a piece of text is lets say "15" and two clients > > > > > > > alter > > > > > > > the same piece in "16" and "17" respectively. What would be the > > > > > > > outcome of the transforms? There is no unambigeous way to cope > > > > > > > with > > > > > > > this edit I think." > > > > > > > I showed that there is an unambiguous way to cope with that scenario > > > > > > when I posted code using wave's BufferedDocOps, Composer and > > > > > > Transformer. > > > > > > > > There is no need to talk about federated servers to answer the > > > > > > > question. > > > > > > > I disagree, as server federation uses this code extensively in > > > > > > dealing > > > > > > with the above scenario, amongst others. > > > > > > > > The FedOne client, to my understanding of where it is at now, > > > > > > > does not > > > > > > > wait for acknowledgements from the server (nor does the server > > > > > > > send > > > > > > > acknowledgements to clients) and does not perform any OT. It is a > > > > > > > completely differnent animal that what is described in the Google > > > > > > > OT > > > > > > > white paper and is not, at this stage, a sensible reference for > > > > > > > anyone > > > > > > > trying to understand how to implement a Wave client or understand > > > > > > > how > > > > > > > clients/servers interact. Am I wrong with my understanding of > > > > > > > where > > > > > > > the FedOne client is at? > > > > > > > Again, you are using the term client without qualification. I told > > > > > > you > > > > > > there are two separate client/server relationships in the FedOne > > > > > > code > > > > > > base, yet you continue to talk as if there is only one. > > > > > > > > Dan > > > > > > > > Brett Morgan wrote: > > > > > > > > The problem here is that there are two separate client/server > > > > > > > > relationships. > > > > > > > > > Firstly there is a client/server relationship amongst the > > > > > > > > federated > > > > > > > > servers, where in the server that is hosting the document acts > > > > > > > > as a > > > > > > > > server to the relying federated wave servers that act as > > > > > > > > clients. > > > > > > > > > Secondly, there is a client/server relationship between a wave > > > > > > > > server > > > > > > > > and it's ui clients, be they web applications or otherwise. > > > > > > > > > Yes, the client server terminology has been overloaded with the > > > > > > > > need > > > > > > > > to understand the context of the communication in question. > > > > > > > > This is > > > > > > > > unfortunate, but it is a natural result of the complexities of > > > > > > > > building a real system. Real systems are not the simple things > > > > > > > > they > > > > > > > > write about in academic papers. Here in the real world we have > > > > > > > > to deal > > > > > > > > with the very real physical limitations of things like hard > > > > > > > > disks and > > > > > > > > routers. > > > > > > > > > The reason I am talking about the federation protocol is that > > > > > > > > it is a > > > > > > > > real example of a client server protocol that uses OT. It can > > > > > > > > be used > > > > > > > > to inform the discussion of how web clients could interact with > > > > > > > > their > > > > > > > > wave server using OT. > > > > > > > > > Stating that FedOne doesn't implement a sensible client/server > > > > > > > > protocol at this point is incorrect. > > > > > > > > > On Dec 3, 11:19 am, Daniel Paull <[email protected]> wrote: > > > > > > > > > When I say client, I mean client as in client/server. I > > > > > > > > > dislike the > > > > > > > > > overloading of the word client that has been used in this > > > > > > > > > thread and > > > > > > > > > it has caused much confusion, and I am sure, > > > > > > > > > misinterpretation. In > > > > > > > > > what way is an upstream or downstream wave provider a > > > > > > > > > "client"? They > > > > > > > > > should be described as caches and proxies respectively. > > > > > > > > > > I also don't understand why the federation protocol is being > > > > > > > > > discussed > > > > > > > > > here as the OP was asking about how concurrent operations > > > > > > > > > from two > > > > > > > > > clients are handled when the transform clearly results in an > > > > > > > > > ambiguity. > > > > > > > > > > I also don't understand all the references to the FedOne code > > > > > > > > > base as > > > > > > > > > FedOne does not implement anything the remotely resembles a > > > > > > > > > sensible > > > > > > > > > client/server protocol at this point in time. > > > > > > > > > > Dan > > > > > > > > > > On Dec 2, 12:40 pm, Brett Morgan <[email protected]> > > > > > > > > > wrote: > > > > > > > > > > > I just want to clarify here that by "client", you are > > > > > > > > > > talking about > > > > > > > > > > the remote wave servers, not the traditional usage of the > > > > > > > > > > term client, > > > > > > > > > > for example of web client that displays content from a wave > > > > > > > > > > server. > > > > > > > > > > > The many uses of the term client in this context are going > > > > > > > > > > to lead to > > > > > > > > > > people becoming confused if we are not careful. > > > > > > > > > > > On Dec 2, 3:35 pm, Daniel Paull <[email protected]> wrote: > > > > > > > > > > > > The FedOne source does not implement server > > > > > > > > > > > acknowledgements, nor does > > > > > > > > > > > the FedOne example client perform any OT, so reading the > > > > > > > > > > > FedOne source > > > > > > > > > > > is not going to help at all. The only information that > > > > > > > > > > > exists at this > > > > > > > > > > > point in time on how the client and server interact is in > > > > > > > > > > > the Google > > > > > > > > > > > OT white paper. > > > > > > > > > > > > Dan > > > > > > > > > > > > Brett Morgan wrote: > > > > > > > > > > > > Dan, > > > > > > > > > > > > > The basis of this is already in the published FedOne > > > > > > > > > > > > source. You could > > > > > > > > > > > > check what they have done instead of trying to figure > > > > > > > > > > > > out what they > > > > > > > > > > > > should have done. > > > > > > > > > > > > > brett > > > > > > > > > > > > > On Dec 2, 2:19 pm, Daniel Paull <[email protected]> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > Oops - forgot the important bit! The Google OT White > > > > > > > > > > > > > paper states: > > > > > > > > > > > > > > "When a server acknowledges a client's operation, it > > > > > > > > > > > > > means the server > > > > > > > > > > > > > has transformed the client's operation, applied it to > > > > > > > > > > > > > the server's > > > > > > > > > > > > > copy of the Wavelet and broadcasted the transformed > > > > > > > > > > > > > operation to all > > > > > > > > > > > > > other connected clients." > > > > > > > > > > > > > > So, unless that is in error, transofrmed operations > > > > > > > > > > > > > are sent from the > > > > > > > > > > > > > server to the clients. > > > > > > > > > > > > > > It seems crazy to send to original, untransformed > > > > > > > > > > > > > operation to the > > > > > > > > > > > > > clients as the clients will have to repeat the > > > > > > > > > > > > > transformation work > > > > > > > > > > > > > that the server has already done! > > > > > > > > > > > > > > Dan > > > > > > > > > > > > > > Daniel Paull wrote: > > > > > > > > > > > > > > Hi Tad, > > > > > > > > > > > > > > > What you have written here is more in line with > > > > > > > > > > > > > > what I understood of > > > > > > > > > > > > > > the federation protocal where servers act merely as > > > > > > > > > > > > > > proxies and caches > > > > > > > > > > > > > > for Waves that they do not own. So all servers > > > > > > > > > > > > > > should end up with the > > > > > > > > > > > > > > same state space as you have indicated. > > > > > > > > > > > > > > > As you note, this does still leave the question > > > > > > > > > > > > > > unanswerd - what does > > > > > > > > > > > > > > Google do in their wave client? The recently > > > > > > > > > > > > > > released Python Wave > > > > > > > > > > > > > > client code also offers no clues as there is > > > > > > > > > > > > > > presently a bunch of > > > > > > > > > > > > > > "TBD" markers in the code where the client would > > > > > > > > > > > > > > perfrom OT. > > > > > > > > > > > > > > > One thing that is clear is that clients will apply > > > > > > > > > > > > > > operations is > > > > > > > > > > > > > > different orders, so TP1 must be met. It will be > > > > > > > > > > > > > > interesting to see > > > > > > > > > > > > > > what the community comes up with on the client side > > > > > > > > > > > > > > as it is much more > > > > > > > > > > > > > > complex than what the server has to do. I wonder > > ... > > read more » -- You received this message because you are subscribed to the Google Groups "Wave Protocol" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/wave-protocol?hl=en.
