UX Documentation
Read receipts allow users to know if other people on a DM and/or a GM have seen their message or not.
Currently this is restricted only to DMs and GMs.
Message States
Each state will have a different icon beside the timestamp, and on desktop, it will have a tooltip as well on hover.
Tooltip example below:
States | Description | Behaviour | Tooltip on icon |
---|---|---|---|
Posted but not sent | If there is a connection issue, we still allow the user to send the message, but it is not sent to the server, so we display a clock icon. | Add a sending text instead of the timestamp, and a clock icon | Trying to send the message |
Sent, but not delivered to the recepient | This highlights when a message is sent from our end to the server, but not delivered to the recipient maybe because they’re offline. | A single gray checkmark besides the timestmap | Sent at 4:55PM |
Sent and delivered to the recepient | This highlights when a message is sent from our end to the server, and also delivered on the receiver’s client. | A double gray checkmark besides the timestamp. | Sent at 4:55PM but not delivered |
Seen by the recepient | The message has been read by the recepient | Blue Double checkmark besides the timestamp. | DM: Seen at 4:55PM GM: Seen by 2 people |
State 1: Posted but not sent
This is an improvement over the current failed state and should be implemented even if we do not implement read receipts.
If there is a connection issue, we still allow the user to send the message, but it is not sent to the server, so we display a clock icon.
As soon as the server connects, we sent the message without any user action.
Since the message will be posted when you connect, we change the timestamp to sending.
The updated timestamp will be the one when the message is actually posted.
Timeout
This state will have a timeout, and will go to the failed state if the connection is not restored by 30 minutes.
Desktop Screenshot
Mobile Screenshot
State 2: Sent, but not delivered to the user
This highlights when a message is sent from our end to the server, but not delivered to the recipients.
This is to know if the user is offline, or unavailable. Helps us to take any other action to see why the user is unavailable on his account.
If read receipts disabled
If read receipts are disabled, this will be state that a DM remains in. And the tooltip on it would say:
Desktop screenshot
Mobile screenshot
State 3: Sent and delivered to the user
This highlights when a message is sent and delivered to the user but has not been read.
This state can be skipped if its hard to identify this. And we can just have a single sent state, with a single gray checkmark.
Desktop screenshot
Mobile screenshot
State 4: Seen
This highlights when a message is seen by the other user.
If the message is seen by the user, we will show a blue double checkmark on the message.
Desktop screenshots
Additionally if you click on it, we will show a tooltip to show you the time when it was seen.
This is how it will appear for GMs on click.
It will show you when the people saw the message, along the delivered time if we can do it.
Mobile
The tab area is also larger on mobile. If you press on the checkmark or the blue icon, you get the message action drawer from below.
Users also have the ability to turn of read receipts for themselves, so if that’s off, we will show the message that:
”Some users have read receipts disabled” and hide those users from the GM.
Failed State
This is an improvement over the current failed state and should be implemented even if we do not implement read receipts.
This is how the failed state appears after 30m of the message failing.
Desktop
Two prominent buttons on the right retry or delete.
Mobile
Alert icon on the top right. Clicking anywhere on the post opens up a message actions popover allowing to resend the message.
Read receipts hidden
Users have the ability to hide read receipts, so if that’s the case, the checkmark will never turn to a blue double checkmark for both DMs and GMs. And we will let the user know that some people have disabled read receipts for GMs.
Desktop
Mobile
System console settings
Admins have the ability to enable or disable this feature at the system level with these features, similar to global threads:
Enabled (Default on)
Enabled (Default off)
Disabled
Disabled would be the default option when we roll this feature out.
This option can be present on the Users and Teams page, or the Posts page (TBD).
User level configuration
Users on their end also have the option to enable or disable the read receipts.
This section would not show if the setting is turned off at the system console level.