The message status indicators seem quite flawed and confusing. Here are my main issues with them:
When sending a link by itself, the message is blue and blue only, so there is no indication of status. This might also apply to styled text.
The sent indicator conveys it's information differently to the read indicator. Whereas the former uses text colour, the latter uses a tiny user avatar. This can be confusing. The solution used by FB Messenger seems like a good idea here.
It's not immediately obvious which colour means what. Initially I thought the green text colour meant "sent but not delivered" as opposed to "encrypting", as I was told in this message by tulir. It may be worth eliminating this stage altogether as it usually only lasts very shortly, and knowing this fact is not useful for the user.
Delivery indicators would be a useful addition. Of course, sending those would be optional like read indicators, possibly also per-session. They could be sent much like read indicators, only when the message is delivered instead of when it is read. They would also be sent once per account per message, so only one session would send them to save events. Alternatively, the delivery indicator could simply be local and based on a user's current online status but this seems inaccurate and difficult to sync across clients, unless it's done by the homeserver. There are 2 reasons I could think of for this addition but I'm sure there are more:
Easy to differentiate if the user is offline (no delivery) or busy (delivered but not read), even on homeservers with presence disabled
For urgent messages, knowing that a message is not delivered might cause the sender to try alternate (less preferable) means of communication, like SMS, instead of waiting in uncertainty
It seems that the majority of this was fixed/improved recently, so I'm closing this issue now. Only thing is the delivery indicators, but that probably requires a spec change anyway.
The message status indicators seem quite flawed and confusing. Here are my main issues with them:
When sending a link by itself, the message is blue and blue only, so there is no indication of status. This might also apply to styled text.
The sent indicator conveys it's information differently to the read indicator. Whereas the former uses text colour, the latter uses a tiny user avatar. This can be confusing. The solution used by FB Messenger seems like a good idea here.
It's not immediately obvious which colour means what. Initially I thought the green text colour meant "sent but not delivered" as opposed to "encrypting", as I was told in this message by tulir. It may be worth eliminating this stage altogether as it usually only lasts very shortly, and knowing this fact is not useful for the user.
Delivery indicators would be a useful addition. Of course, sending those would be optional like read indicators, possibly also per-session. They could be sent much like read indicators, only when the message is delivered instead of when it is read. They would also be sent once per account per message, so only one session would send them to save events. Alternatively, the delivery indicator could simply be local and based on a user's current online status but this seems inaccurate and difficult to sync across clients, unless it's done by the homeserver. There are 2 reasons I could think of for this addition but I'm sure there are more: