Core UX
Important Links
Introducing the “Message Priority” feature
When this feature is enabled and launched, the first time users focus on the message input field, a tour point will draw their attention to the new feature.
If users select ‘not now’, this tour point will simply be dismissed
If users select ‘Try it out’, the tour point will close and the message priority button will be triggered and will open the menu.
If users click the 'x' button on the tour point, the tour point will be dismissed
In all cases, this tour point will not be shown again
This feature will be enabled through the system console settings and permissions.
Important: don’t show this tour point to new users who are recently onboarded until 1 week after they complete the onboarding. Show this to existing users only. We want to avoid colliding with the onboarding tour and avoid spamming users with too many tours.
How to set the priority of a message
This feature introduces a new function in the message input component that allows users to choose a priority level for their message.
NOTE: The proposed designs here assume the post formatting controls and thread titles are already completed.
To set the priority of a message, a new control will be added to the message input. Clicking this icon button will open a menu with some options.
Only available for root posts in a thread
To start, this feature is only available in the main channel message input for root posts. This is not initially available for replies to an existing thread.
Priority levels
There are three priority levels to choose from:
Standard (default): doesn’t mark the message in any special way - this is the default
Important: marks the message with an ‘Important’ badge in the channel
Urgent: marks the message with a red ‘Urgent’ badge in the channel
To start this feature is only available for root posts, not for reply messages
Requesting Acknowledgment
For cases where you might want recipients of your message to acknowledge they’ve seen it, you can enable acknowledgment. When turned on, a button will display under the message once sent for readers to acknowledge.
When urgent message is selected, this is ON by default.
Send Persistent Notifications (only for urgent priority level)
When the Urgent priority level is chosen, another option displays for ‘Send persistent notifications’. When this option is turned on, when the message is sent, the recipients will be notified persistently every 5 minutes for up to 30 minutes until the recipient has acknowledged or replied.
See below for how this is indicated in the message input.
See Persistent notifications section for more details.
Conditions to send a message with persistent notifications
Message must contain at least one
@mention
when persistent notifications is enabled.If not, the send button is disabled and a warning message “Recipients must be @mentioned” displays next to the urgent indicator (see below)
Cannot use
@channel
@all
,@here
, or@thread
to mention recipientsIf the total number of recipients contains 5 or more people, a warning dialog will show to confirm
There will be a system setting for the maximum number of users that can be persistently notified (default 5). If that number is exceeded, a warning dialog will show letting them know they cannot notify more than this number.
By default Guests will not have this feature available. System admins can configure this in the permissions though. See System Settings and Permissions.
Persistent notifications should respect the users channel level settings for notifications, ie those set in channel header > notification preferences.
Confirmation modal
When this option is chosen, a confirmation modal is used.
Give Feedback button
While in the ‘beta’ state of the feature, a ‘Give feedback’ button appears in the top-right of the menu. Clicking this button will open up the “Feedbackbot” where a message will be automatically sent saying:
Thanks for using the message priority feature. How can we make the experience better?
Note that whatever feedback is sent in response to this question needs to be sent to us with an extra data field tagged “message_priority_beta” so we can filter this feedback in our dashboards. Otherwise it will get mixed up with all other NPS written feedback.
States of the message input for message priority
When options are selected from the message priority menu, the message input will display various indicators depending on the selections.
How a message’s priority is displayed in a channel
Once a message with a priority level is sent, some new UI elements are used to identify these types of messages in the channel.
Priority indicator tags
Standard messages
There is no change to how standard messages are displayed.
Important
Important messages show an IMPORTANT
tag next to the time stamp
Urgent
Urgent messages show an URGENT
tag next to the time stamp.
Compact view
When Compact view is turned on (Settings > Display > Message Display > Compact
), the priority indicators will show immediately after the author’s name.
How a message priority is displayed in the Threads view
In the global ‘Threads’ view, message priority is indicated in the thread list item’s header next to the channel badge.
Urgent message mention badges
When an urgent message tags you, you will see the mention badge on the sidebar item displayed with the urgent color.
The mention badge should appear only if the user is actually mentioned in an urgent message or thread.
If a user is mentioned in an urgent message in a channel, or mentioned in a reply to a thread where the root post is urgent, then the mention badge on the channel or thread should appear with the DND theme variable color (ie same color as the urgent badge I believe)
Acknowledgment
If a user requests acknowledgment along with their message, an acknowledge
button displays for recipients to acknowledge they've seen the message.
Who can acknowledge
Standard or Important Messages
To start, we will allow anyone to acknowledge
Future state: We may consider if the original message includes a
@mention
of a specific user or group, then only those tagged can click the acknowledge button
If there is not a specific @mention in the original message, then anyone who has access to view the message can acknowledge
If @channel, @all or @here are used, this does not count as tagging a specific user and anyone who can view the message can acknowledge
For users who aren’t tagged, the acknowledge button is hidden until others have clicked it, at which point the acknowledge count will show (similar to a reaction)
The acknowledge count is visible to anyone
Urgent Messages
To start, we will allow anyone to acknowledge
Future state: We may consider for urgent messages that only those tagged can click the acknowledge button (
@channel
,@here
,@all
cannot be used with urgent messages though)
For users who aren’t tagged, the acknowledge button is hidden until others have clicked it, at which point the acknowledge count will show (similar to a reaction)
The acknowledge count is visible to anyone
Acknowledge button interactions
Default state
If no other users have acknowledged yet, then the button in it’s default state shows
Active/count state
Once at least one acknowledgment has occurred, the button transitions to the active state showing the count.
Active + Hover state
When users hover over the acknowledge button in it’s active state, a popover will display showing all those that have acknowledged - after 300ms delay while hovering over the button.
This popover has a max-height of 400px and will scroll beyond that. It should also open in the appropriate direction depending on the available screen real estate above or below the button.
Undoing an acknowledgment
If a user mistakenly hits the acknowledgment button, they can undo this by clicking the button again (similar to reactions). Undoing the acknowledgment is only available for 5 minutes. Once that time expires, it cannot be undone. The 5 minute timer begins when the user acknowledges the message.
With reactions
If the message also has reactions, they will show next to the acknowledgment button.
Persistent notifications
If “Send persistent notifications” is selected for a message, a number of conditions go along with it.
At least one user must be @mentioned before a message can be sent
Group mentions can be used for this purpose
@channel
,@all
and@here
will not send persistent notifications
If 5 or more users are mentioned or if a @group mention has 5 or more users, a confirmation modal is shown first
If a user has turned off desktop or mobile push notifications, they will not receive any notifications
Cadence
Persistent notifications will continue notifying every 5 minutes for up to 30 minutes. This frequency will be configurable in the system console.
Stopping persist notifications
The following actions will stop the notifications
Any of the tagged users replying to the original post
Any of the tagged users clicking/tapping the
Acknowledge
buttonAny of the tagged users react with an emoji reaction
The original messages is deleted
30 minutes expires
Statuses and Urgent Messages
Urgent messages with mentions or persistent notifications can break through a user’s status unless they have explicitly set it to Do no disturb.
Do not disturb - users will not get notified
Out of Office - users will not get notified
Offline - users can get notified, depending on their account setting for mobile notifications > “trigger push notifications when…”
Away - users can get notified, depending on their account setting for mobile notifications > “trigger push notifications when…”
Online - users can get notified, depending on their account setting for mobile notifications > “trigger push notifications when…”
Editing an existing message’s priority
Users have a 5-minute timeframe from the creation of their message to change the message’s priority level settings.
If less than 5 minutes since the original post
Users can access the message priority settings just like when creating a new post.
After 5 minutes have passed
If the 5 minute timeline has passed, the priority button is disabled with a tooltip stating “priority cannot be changed after 5 minutes”.
Mobile experience
The mobile experience follows the same basic rules as outlined above with appropriate UI changes to fit the mobile UX. Below are a few sample screens.