Slack · Bringing order to the workspace

Slack workspaces can quickly devolve into chaos. As the number of channels typically outnumber users 3:1, it can be hard to find anything relevant. Introducing Slack stacks: smart channel playlists. An easier way to sort, search, and filter channels. Note: this project was done as a design challenge and not for Slack.

Role

  • UX Research

  • Product Design

Slack stacks: smart channel playlists. An easier way to sort, search, and filter channels.

1. Understanding the setting

Even before email and text, the first thing I check when I arrive at work is Slack; whether looking to snag a deal on #hot-ads or catch up on the latest office drama on #talk-company, I feel there’s a channel for everything. While it’s great having so many different spaces, I find things can get confusing: is #design-resources for internal projects or community discussion, isn't #points-and-miles the same thing as #credit-cards, and which channels should I join as a new hire? Frustrated, I set out to make channels more intuitive.

2. Conducting user research

To kickoff user research, I created provisional user personas based on my initial assumptions of the most common Slack user types. This led me to develop two user groups: ‘Captains’ and ‘Crew.’ Not to be confused with Slack’s role classification of admins and members, Captains are users who are highly active and often act as channel managers, akin to a moderator. Crew, on the other hand, are avid readers who infrequently post, most akin to a lurker.

When creating interview questions, I opted to keep things broad rather than strictly adhering to the scenarios from my provisional personas. By relying on user-driven walkthroughs and generalized lines of questioning, I intended to capture a more objective, comprehensive, and holistic understanding of user behaviors in Slack, as the actual user experience may not align with my initial assumptions or hypotheses.

Key Findings

  • Slack thrives off social communities; users feel a strong sense of belonging through participation in various interest channels.
  • Users trust the information and discussions in channels, and they often opt to consult Slack before official company documentation and resources.
  • Users feel that the existing search and browse features for channels on Slack are inadequate and tedious, lacking meaningful context.
  • Users are typically confident in the channels they've joined and infrequently search for new ones, although they recognize that other relevant channels might exist.

I also mapped out the user journey of the current state of Slack’s channel search and browse features to better understand the pain points faced by users. Search required exact keywords and necessitated 'clicking in' to each channel to determine if it was relevant or still active. Browsing was limited to a 'browse all channels' list with less-than-helpful 'alphabetical' and 'most users' sort options.

The default 'sort channels alphabetically' view when browsing is less than helpful.

3. Defining the problem

Drawing from the insights and key findings obtained through user interviews, I developed the following problem statement:

Slack is a social tool as much as it is a work tool. Users need an easier way to find channels relevant to their interests and work to enhance community engagement and culture building.

Reframing the problem statement, I developed a series of 'how might we' statements to guide my ideation.

  • How might we create a more intuitive and engaging channel discovery experience for users?
  • How might we encourage users to browse for new channels?
  • How might we enhance the visibility and accessibility of channels?
  • How might we reduce the number of touchpoints needed to determine if channel is relevant?
  • How might we leverage the Slack community to improve the platform?

4. Designing solutions

My first solution was to create a new feature called ‘Title Tags.’ Slack recommends ‘keep work organized with channel naming conventions’ - a set of guidelines where prefixes are used define a channel’s purpose, like ‘help-software,’ ‘fun-boardgames,’ or ‘project-codename.’ Though in practice, the channel naming guidelines seem to be just that – guidelines.

Title Tags took the idea of channel titles, but turned each string into a customizable tag, tied together by the hyphen. For example let’s take a channel called #talk-food-losangeles. This channel would have three tags [talk]-[food]-[losangeles] with corresponding categories [channel type]-[topic]-[location].

The idea developed into a tiered system, where users could drill down into ever more specific categories or search by tag type. While in theory, this addressed the issue of channel discoverability, it proved too confusing during user testing and still required a lot of manual input.

Back to the drawing board, I arrived at ‘stacks.’

Slack stacks are smart channel playlists.

Channels are automatically suggested for inclusion in a stack based on keywords, channel activity, and the types of discussions taking place. Each stack is designed to represent a group, topic, or type of interaction. For example, a Stack might be named “clubs”, “resources”, or “most-referenced.” Stacks are dynamically updated as the content and focus of each channel evolves over time, minus any set to private or hidden.

Instead of sifting through an overwhelming list of channels, users can browse through stacks that best align with their specific needs or interests. For example, new hire onboarding can be supercharged with a visit to the ‘general’ stack, giving them quick access to company-essential channels. In a university workspace, a student looking to take a breather can explore the ‘fun’ stack and quickly get lost in #memes.

New to a company and don't know where to start? Check out the 'general' stack.

Looking to transition jobs or roles? The 'career-dev' stack has you covered.

Can't find the stack that you're looking for? Use the browse all modal to find the perfect stack.

Search gets an upgrade too. When searching for a specific type of channel, users can filter by stack with the boolean search operator ‘stack:.' Using two or more ‘stack:’ operators creates an 'and' function, allowing a user to narrow their search even more.

Use the 'stack:' operator to filter searches by cross-referencing stack.

5. Testing the solution

I conducted a series of usability tests to validate the effectiveness of Slack stacks. If I had a nickle for every person who told me, "I can't believe this isn't already a thing," I'd have 20 cents. Not much, but enough to know that this is a feature that users can get behind.

For future iterations, I would like implement a feedback loops where users can answer simple yes or no questions like "Was this stack about [topic]?" or "Was this stack helpful?" to ensure stacks are always relevant and up-to-date. I'm also interested in exploring stack subscriptions so users can be notified when a new channel is added to a stack. Till then, I'll be on page 20 of the 'browse all' modal.