[messaging] Group messaging consistency under resource constraints

Trevor Perrin trevp at trevp.net
Mon Oct 6 14:29:27 PDT 2014

Hi Ximin,

I'm going to try to restate this more simply :-)

On Mon, Oct 6, 2014 at 10:53 AM, Ximin Luo <infinity0 at pwned.gg> wrote:
> Committing to delivering messages in causal order has been controversial for
> those with resource constraints [2], because it involves queueing some messages
> from being displayed until their ancestors arrive. The argument is that this
> breaks user expectations, and/or would not work if delivery is unreliable
> (assuming a reliability algorithm would be too costly).
> I believe that this cost is over-estimated, and that it would *improve* user
> experience in the minority of cases where the queueing behaviour would actually
> come into effect (i.e. when the transport behaves badly).

By "delivering messages" you mean "displaying messages to the user".

By "causal order" you mean a message's ancestors are those group
messages its sender sent or received prior to sending it.

So you're arguing it's a desirable UX if out-of-order messages are not
displayed until their ancestors have been displayed, and that this is
generally achievable since clients can use a retransmit mechanism to
get any lost messages.

I note that in asynchronous messaging (email, text messaging) you
can't assume other parties are online to do retransmits, so you're
assuming there's some server cacheing the ciphertexts that's able to
do this.

Anyways, this is partly just a UX question.  Are there existing
widespread messaging systems that work this way (delay message display
until causal ancestors arrive)?  Most things I'm aware of simply
display messages when they arrive.


More information about the Messaging mailing list