Re: [messaging] Message order in group chat (attempt at summary)

2014-05-01 Thread Michael Rogers
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 On 30/04/14 23:58, Ximin Luo wrote: On 30/04/14 22:59, Michael Rogers wrote: I have a hunch that for linear conversations, something like the CAP theorem holds: if there's a partition, either the conversation has to pause or you have to give up

Re: [messaging] Message order in group chat (attempt at summary)

2014-05-01 Thread Kurt Roeckx
On Fri, Apr 18, 2014 at 01:42:17PM -0700, Trevor Perrin wrote: Awesome threads, here's what I think I've learned: * Even if we don't solve the ice-cream problem, doing (1) and (somehow) canonicalizing the partial order into a linear order still seems worthwhile, since it could detect a

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-30 Thread Michael Rogers
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 On 29/04/14 13:54, Ximin Luo wrote: In a word, Usenet. This has the nice property that if a subset of the members are connected to each other but disconnected from the other members, they can carry on the conversation and see each other's

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-30 Thread Ximin Luo
On 30/04/14 22:59, Michael Rogers wrote: I have a hunch that for linear conversations, something like the CAP theorem holds: if there's a partition, either the conversation has to pause or you have to give up consistency. Threaded conversations can be partition tolerant because they can

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-30 Thread Ximin Luo
On 30/04/14 23:58, Ximin Luo wrote: - for any given user, if they refer to parents P in one event E, their future event E' = E must refer to parents P' all of whose elements are = all elements of P. Or equivalently, ancestors(E) is a subset of ancestors(E'). Scratch that, the or equivalently

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-29 Thread Michael Rogers
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 On 27/04/14 18:45, Ben Laurie wrote: If it is delayed for all recipients, then causality cannot be violated :-) Here's a crazy idea. Each client maintains a list of messages it knows each other client has seen (because that client has told

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-29 Thread Ximin Luo
On 29/04/14 09:15, Michael Rogers wrote: On 27/04/14 18:45, Ben Laurie wrote: If it is delayed for all recipients, then causality cannot be violated :-) Here's a crazy idea. Each client maintains a list of messages it knows each other client has seen (because that client has told it so).

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-27 Thread Ximin Luo
On 26/04/14 16:39, Moxie Marlinspike wrote: 3) Each message is displayed with a small icon or color which indicates that you've seen the message it is responding to. 4) If you long-click the message, it'll display In reply to... That way when Alice says I do! in reply to what she thought

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-27 Thread Moxie Marlinspike
On 04/27/2014 07:39 AM, Ximin Luo wrote: I'm not so sure about displaying messages where you haven't yet seen their parents yet. This violates causality, and the principle of delivering messages in-order. A fundamental premise of asynchronous messaging is that any message can be delayed

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-27 Thread Ben Laurie
On 27 April 2014 18:40, Moxie Marlinspike mo...@thoughtcrime.org wrote: On 04/27/2014 07:39 AM, Ximin Luo wrote: I'm not so sure about displaying messages where you haven't yet seen their parents yet. This violates causality, and the principle of delivering messages in-order. A fundamental

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-27 Thread Ximin Luo
On 27/04/14 13:45, Ben Laurie wrote: On 27 April 2014 18:40, Moxie Marlinspike mo...@thoughtcrime.org wrote: On 04/27/2014 07:39 AM, Ximin Luo wrote: I'm not so sure about displaying messages where you haven't yet seen their parents yet. This violates causality, and the principle of

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-26 Thread Moxie Marlinspike
On 04/26/2014 06:52 AM, Ximin Luo wrote: There are some nice properties to aim for when one is developing an algorithm that turns a partial order (things don't get misinterpreted) into a linear order (nicer for users): - static order (you don't need to redraw the UI later) - globally

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-21 Thread Michael Rogers
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 On 20/04/14 19:55, Trevor Perrin wrote: On Sun, Apr 20, 2014 at 9:49 AM, Michael Rogers mich...@briarproject.org wrote: If we're aiming to support linear conversations rather than threaded conversations, we may need even less information than

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-20 Thread Michael Rogers
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 On 19/04/14 00:54, Trevor Perrin wrote: Aren't those algorithms more general than we need? I think they're designed to track causal order when messages can be exchanged between individual entities. But we're looking at chat protocols where

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-20 Thread Trevor Perrin
On Sat, Apr 19, 2014 at 9:16 AM, Ximin Luo infini...@pwned.gg wrote: On 19/04/14 16:45, Trevor Perrin wrote: On Sat, Apr 19, 2014 at 6:53 AM, Ximin Luo infini...@pwned.gg wrote: On 19/04/14 00:54, Trevor Perrin wrote: To handle join and part events, I think we can assume these actions are

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-20 Thread Trevor Perrin
On Sat, Apr 19, 2014 at 5:27 PM, Tom Ritter t...@ritter.vg wrote: I think that heartbeats are going to be important. With the partial ordering UI I outlined, it's possible to reflow the conversation N seconds into the past, where N is whatever window is deemed acceptable. The way I expect it

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-20 Thread Trevor Perrin
On Sun, Apr 20, 2014 at 9:49 AM, Michael Rogers mich...@briarproject.org wrote: If we're aiming to support linear conversations rather than threaded conversations, we may need even less information than that. We can model a linear conversation as a series of instants, with one or more

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-19 Thread Ximin Luo
On 19/04/14 00:54, Trevor Perrin wrote: On Fri, Apr 18, 2014 at 2:32 PM, Alexandre Carmel-Veilleux a...@miniguru.ca wrote: On Fri, Apr 18, 2014 at 5:07 PM, Tony Arcieri basc...@gmail.com wrote: On Fri, Apr 18, 2014 at 1:42 PM, Trevor Perrin tr...@trevp.net wrote: (1) It seems feasible to

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-19 Thread Ximin Luo
On 19/04/14 16:45, Trevor Perrin wrote: On Sat, Apr 19, 2014 at 6:53 AM, Ximin Luo infini...@pwned.gg wrote: On 19/04/14 00:54, Trevor Perrin wrote: To handle join and part events, I think we can assume these actions are represented as messages which operate on the member-set each

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-18 Thread Alexandre Carmel-Veilleux
On Fri, Apr 18, 2014 at 5:07 PM, Tony Arcieri basc...@gmail.com wrote: On Fri, Apr 18, 2014 at 1:42 PM, Trevor Perrin tr...@trevp.net wrote: (1) It seems feasible to put messages into a causal/partial order by having them piggyback references and hashes to their parents (aka causal

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-18 Thread Trevor Perrin
On Fri, Apr 18, 2014 at 2:32 PM, Alexandre Carmel-Veilleux a...@miniguru.ca wrote: On Fri, Apr 18, 2014 at 5:07 PM, Tony Arcieri basc...@gmail.com wrote: On Fri, Apr 18, 2014 at 1:42 PM, Trevor Perrin tr...@trevp.net wrote: (1) It seems feasible to put messages into a causal/partial order

Re: [messaging] Message order in group chat (attempt at summary)

2014-04-18 Thread Joseph Bonneau
To handle join and part events, I think we can assume these actions are represented as messages which operate on the member-set each participant recognizes. The question Ximin has thought about earlier is how to handle merging partially-ordered changes to the member-set I don't know if we