Heinz Repp
2015-11-20 00:06:13 UTC
Hello,
we have a fairly big long term group, where we experienced some
weirdness over the time, mostly due to members (temporarily) not
registered. As it is now, when a message cannot be delivered to at least
one member, an error is shown that the message could not be delivered.
This led to senders resending the message multiple times, sometimes more
than 20 times, cluttering the group chat significantly.
This error message is misleading. I would propose to show at least one
check mark, so the sender would see that the server had received the
message - consistent with a pairwise chat.
General rule: whenever the server acknowledges the receipt of a message,
show the first check mark.
When the message has been delivered to at least one recipient, show a
second mark, maybe be a dotted or paled check mark or something similar.
If one or more recipients could not be reached, change the second sign
e.g. to a red check mark (or a red & black?). If the message has been
delivered to all recipients, change the second sign to the usual check
mark. This would let the sender know that his message is processed, and
he needs not resend it.
Lately, the phone of one member has been stolen, he let bar the sim card
but did not request a replacement, so he lost the number. Now he has no
way to leave our group, where he is listed with the now unavailable
phone number. Together with the misleading sending feedback this gives a
queer chat experience: every message leads to an error, all are marked
not delivered, but we got mostly used to it. I could think of two
options to improve this situation (in addition to the proposal above):
1. As groups are kept locally in the client, it should be easy to
deactivate group members only for the local client - no need to
communicate this to the rest, no need to change anything at the server.
If all of us could deactivate the now lost member, our chat would return
to normality. The drawback would be that no member can expect all others
to have received the same messages (because some could have been
deactivated by the sender).
2. There should be a possibility for the group to remove a member (that
is not registered any more, or for any other reason). To avoid
arbitrariness I would propose a kind of voting: when one member asks to
remove another member, a message is sent to all other members, and they
can choose to keep or remove: if more than half vote for removal, the
member is removed. It is not obvious how the result should be obtained:
I think every client would need all votes (signed) and decide locally,
and then sync with the other members.
What do you think?
Heinz Repp
we have a fairly big long term group, where we experienced some
weirdness over the time, mostly due to members (temporarily) not
registered. As it is now, when a message cannot be delivered to at least
one member, an error is shown that the message could not be delivered.
This led to senders resending the message multiple times, sometimes more
than 20 times, cluttering the group chat significantly.
This error message is misleading. I would propose to show at least one
check mark, so the sender would see that the server had received the
message - consistent with a pairwise chat.
General rule: whenever the server acknowledges the receipt of a message,
show the first check mark.
When the message has been delivered to at least one recipient, show a
second mark, maybe be a dotted or paled check mark or something similar.
If one or more recipients could not be reached, change the second sign
e.g. to a red check mark (or a red & black?). If the message has been
delivered to all recipients, change the second sign to the usual check
mark. This would let the sender know that his message is processed, and
he needs not resend it.
Lately, the phone of one member has been stolen, he let bar the sim card
but did not request a replacement, so he lost the number. Now he has no
way to leave our group, where he is listed with the now unavailable
phone number. Together with the misleading sending feedback this gives a
queer chat experience: every message leads to an error, all are marked
not delivered, but we got mostly used to it. I could think of two
options to improve this situation (in addition to the proposal above):
1. As groups are kept locally in the client, it should be easy to
deactivate group members only for the local client - no need to
communicate this to the rest, no need to change anything at the server.
If all of us could deactivate the now lost member, our chat would return
to normality. The drawback would be that no member can expect all others
to have received the same messages (because some could have been
deactivated by the sender).
2. There should be a possibility for the group to remove a member (that
is not registered any more, or for any other reason). To avoid
arbitrariness I would propose a kind of voting: when one member asks to
remove another member, a message is sent to all other members, and they
can choose to keep or remove: if more than half vote for removal, the
member is removed. It is not obvious how the result should be obtained:
I think every client would need all votes (signed) and decide locally,
and then sync with the other members.
What do you think?
Heinz Repp