Category /
feature
Slack is a messaging platform that allows users to communicate and collaborate in real-time. This project focuses on adding a new feature to Slack - an AI tool that gently reminds users to come back to conversations they accidentally abandoned. The tool uses AI to identify messages that may require the user's attention but have not received a response.
Project Summary
Background
Slack has become an essential tool for remote work and has gained popularity due to its ease of use and versatility. However, Slack communication can become overwhelming with access to many chats and interactions.
The Challenge
Create a system for users to stay informed about their messages and remember important interactions. Help users recall messages they accidentally abandoned and speed up their response flow.
My Design Process
click a section to scroll ahead
RESEARCH
I began this project with the assumption that Slack communication can become overwhelming due to the high number of notifications and information overload. My hypothesis was that users would benefit from a way to summarize long conversations or better structure their chats. However, I purposely conducted discovery interviews to first identify users' pain points before accepting my hypothesis as a problem.
Methodology
To get as full a picture as possible, I used the following methods during my discovery research.
User Survey with 20 Slack users.
1:1 user interviews with 5 Slack users.
A user survey targeted both individuals who use Slack for work and those who use it for school. This approach provided a more diverse and comprehensive understanding of the platform's usage. A series of 1:1 interviews allowed me to ask more "why?" questions, leading to a better understanding of the root causes of user frustrations.
Research insights
of users have expressed that they frequently experience a sense of being overwhelmed by the abundance of information and messages in Slack.
of users expressed encountering difficulty when attempting to locate a specific thread or message that they had previously engaged with.
The sheer volume of messages that users need to attend to contributes to their feeling of being overwhelmed.
One of the biggest challenges that users face is getting distracted and forgetting about a message or thread.
Users desire smarter notifications to help them prioritize their tasks.
The biggest struggle that I have is forgetting sometimes when I open and read it and then I’d get distracted and keep working and then like “Oh my gosh they asked me about that an hour ago”.
- Rachel, 29
Sometimes I will look at a message and then I'll get distracted by something else. And I'll forget to do one of the two things either respond or set to remind me, so sometimes things just slip through the cracks.
- Richard, 37
Usually I'll rely on the fact that if it's urgent, someone will actually follow up. Hopefully.
- Sam, 40
Secondary research
After noticing a growing user demand for improved and more intelligent reminders, I began to explore both direct and indirect competitors to determine if they employed any gentle nudges to remind users to return to important messages.
Google, Meta, LinkedIn, and Apple all had a way to gently remind users that they haven’t finished a task.
DEFINE
Research Synthesis
The insights from the user research allowed to land on the problem statement I wanted to tackle. I realized that Slack users need a way to recall that they haven't finished an interaction because they tend to abandon conversations when distracted by other tasks.
Concept testing
Before proceeding with any further exploration, I wanted to test my idea of an intelligent and gentle reminder with actual users. I showed this storyboard video to 4 users to get their feedback.
The main goal of this exercise was to make users emphasize with Alex and see if they’d appreciate the proposed solution. The idea features:
A nudge is delivered after a user abandons a message without replying, but we can identify their intent to do so.
We use Slackbot to deliver the nudge because it is a familiar way to bring system messages to users.
Unlike a typical reminder, this solution does not require any input from the user.
Learnings
Overall, users perceived this feature very positively, which gave me the confidence to move forward. Some feedback to consider includes:
Users often ignore Slackbot, as it rarely delivers time-sensitive notifications.
Users prefer to be directed back to the original message rather than interacting with a Slackbot as an intermediary.
Users expressed a desire to have a response drafted for them as an added bonus.
Guiding design principles
After completing all of the exploration work and concept testing with users, I was prepared to create guiding design principles for the new Slack reminder feature.
The solution should be triggered with no user input.
It should not disappear immediately or expect the user to take immediate action.
The reminder should bring a user to the original message with the least clicks possible.
Feature roadmap
Prioritizing is essential for any design process, so I took the time to decide what would make it to the MVP. Since I only had 80 hours to complete this project, I needed to be selective in my choices.
Key feature decisions:
For the MVP, limit nudges to direct messages and descope nudges in threads.
Limit the feature to desktop only.
Request feedback from users on nudges to gather insights.
Explain to users why they are being brought back to a certain conversation (e.g. "It seems like you forgot to reply," "You started typing and never finished," etc.).
Allow users to take action directly from the nudge.
INTERACTION DESIGN
Sketches
As I defined the feature requirements and the problem it is supposed to solve, I still wasn't sure what the best way to implement it would be. To get started, I turned to the popular Crazy 8 method to generate multiple ideas.
During my exploration, I considered both subtle and noticeable solutions. Eventually, I combined several of the above sketches into one cohesive idea.
Mid-fidelity wireframes
As I had my idea mapped out, it was time to create some mid-fidelity prototypes for a quick user feedback.
Scope change
While testing these designs with a few users, I received feedback suggesting that they would appreciate having more AI integration. They specifically called out an option to draft a response to speed-up their flow.
The Slack Nudge feature not only brings users back to incomplete interactions, but also offers AI-drafted responses as an added value. Due to time constraints, I decided to trade off the Settings design for now. This allowed me to focus on a "Draft response" micro-feature.
UI DESIGN
As Slack uses a design system, I aimed to utilize as many of its existing components as possible to ensure the Slack Nudge feature feels native.
I took the time to research Slack's design patterns and product principles to stay true to the Slack design feel.
Slack's existing components
vs.
My components
Banner component used for delivering messages to a user
The "Only visible to you" message
An overflow menu element
Branding
While working on this project, I learned that Slack has been developing Slack GPT, a generative AI embedded within the product. They recently revealed a small portion of the UI featuring sparkling stars.
I started from here and envisioned what Slack Nudge would look like as a part of Slack's GPT suite of AI features. I took the liberty of adding a new color to the existing palette to represent a brand new "magical" feature. Following Slack's example, I added a sparkly icon to indicate the use of AI.
UI kit
Finally, I have created a comprehensive UI Kit for use in this project.
ITERATIONS
Usability testing
As I had the first iteration of my hi-fidelity mockups ready, it was the time to run them by users.
Moderated testing
Participants: 5
Participant screener: Slack users for either work or school
Platform: Google Hangouts
All five users noticed the nudge and understood its meaning. I am confident in my decision to highlight the original message instead of using the Slackbot, as originally planned. However, there were a few aspects that required iteration.
Iterations
The placement of the nudge
Users pointed out that it was confusing to see a message from the same person appear twice on the screen. To mitigate this, I designed different nudge placements depending if the original message is visible.
Before
A message from the same person is shown twice leading to confusion
After
Different nudge placement depending on if the original message is in view
“Draft a response” feature
The “Draft a response” button caused very mixed feeling among the users. They mentioned that reading through the proposed responses would take them longer than writing a short response on their own. Indeed, the simple act of writing a response was not identified as a pain point in my research. To address this, I condensed the experience into a single banner.
Tradeoffs: Users are not able to edit a message. Clicking the button sends a message to a chat. However, we can always monitor for a user feedback as this goes live.
Before
A two-step flow where lengthy drafted responses are gated behind the "Draft a response" button
After
A single banner that reminds a user about the conversation and allows to send a quick response
Going an extra mile
Users have expressed a desire for AI to do even more for them. For example, if a person requests a document, can we source it for them? To answer this question, I consulted with an engineer, who confirmed that external searches, such as in Google Drive or Dropbox, are possible. As a result, I decided to introduce a branching logic to the nudge.
If someone requests a link or a document, try to locate the requested item and provide it to the user.
If a person does not request a document, or if we cannot source it, we default to pre-made draft responses.
If we can recognize a document request:
If there is no document request:
FINAL DESIGNS
LEARNINGS AND THE NEXT STEPS
Technical feasibility
Even though this was a conceptual project, I collaborated with a product manager, a product designer, and an engineer to gauge the feasibility and realism of the idea. My findings were very promising. To prompt a user to reply to a message, we can use conditional logic to identify their intent.
Drafting a response is a relatively easy task for AI and machine learning. By actively learning a user's writing habits, we can draft responses that closely resemble their style.
We can take it one step further and identify if the person who messaged them requested a document. In that case, the keywords from the message could be used to search a shared drive within the company to find the correct link.
Learnings and next steps
Building a new feature into an existing product can be challenging, as it requires following the existing design patterns and design system. However, an established product has a significant advantage: it comes with research data and access to users. I made frequent use of these resources throughout this project.
If I had more time, I would employ more help from AI engineers to explore what additional features we could implement. Also, I would love to provide users with more flexibility to customize the settings and cadence of the nudges.
The next steps for this project would be to conduct more user testing to refine and improve the feature. Additionally, the team could explore the possibility of integrating the Slack Nudge feature with other AI-powered tools within Slack, such as Slack GPT. Finally, the team could work on developing a comprehensive marketing and launch plan for the feature.
my other work