Shared Channels: The New Normal

Finding a secure way for companies to connect in Slack.

Matt Hodgins
Slack Design
8 min readApr 18, 2018

--

Photo by Denys Nevozhai on Unsplash

A shared… channel…?

That’s right! A few months ago, Slack launched a new kind of channel: one where two separate organizations, or groups, can connect and work together in a shared space. Our goal when designing shared channels was to create a graceful addition to the current Slack experience — something organizations could quickly adopt and start using.

However, we also had a challenge: How could we make shared channels feel like any other channel, when there are people from outside your company present? Privacy, awareness, and security were constant themes during the design process, as we worked to find a way to balance awareness of the new sharing capabilities with users’ sense of trust and security.

Finding the right signals

Ok, so I’m sharing a channel with another company. Great! But, how do I know?

In real life, a meeting with a vendor or another company can feel much different than one with your own coworkers. You might sit up a bit straighter, wear something a bit nicer, or even communicate in a more professional manner. And because a shared channel in Slack would create this connection in a digital space, we wanted to make sure people were aware when they were in a shared channel, and able to adjust their behaviors, if they liked.

With this in mind, there were two differences that we wanted users to be aware of when sharing channels: This channel is shared and This person is from another workspace. To do this we needed to find the right visual signals to communicate this clearly, but without causing alarm.

To signal that a channel was shared, we first tried several ways of making differences from a “regular” channel SUPER OBVIOUS. One exploration was to show a persistent banner at the top of the channel. We wanted to try something glaring that users couldn’t miss.

Signal exploration — Channel banners

Another idea we explored was a wrapper around the message input. A lot of times people jump to a channel with the intent to post a message, not necessarily paying much attention to the rest of the channel. Because of this, it seemed like a useful place to remind users of outsiders before they post that message.

Signal exploration — Input wrapper

However, after much debate (and internal feedback), we decided that options such as these are much more distracting than they are helpful. They were, in the end, TOO OBVIOUS. We needed to trust that people notice subtler signals.

We also conducted a similar exploration around how to indicate members from outside your company. We wanted to make it obvious when you’re viewing someone from outside your workspace — and, learning from our channel explorations, we wanted to do it without adding too much visual clutter or noise.

Signal exploration — Members from outside your workspace

The color border (the left option above) was quickly dismissed, as it could be problematic to those with visual impairments. The appended workspace name (the right option) was a contender for a while, and something we implemented and actually tried in our internal testing. However, after listening to feedback from the larger Slack team, we realized it was adding far too much additional noise to channels (especially if the company had a longer name).

In the end, for both channel and member signals, it wasn’t one loud signal that won out, but a series of subtler signals to increase user awareness, without distracting users from the real work of collaboration.

  • Iconography — Anywhere you see the name of a channel that is shared, we append an icon for better recognition. The two diamonds signify two workspaces coming together. (See 2 and 3)
  • Grouping — A unique section in the sidebar so that you can easily find your shared channels. This also helps with general awareness. (See 2)
  • Channel signals — In the channel’s header we show the shared channel icon, as well as note who the channel is shared with. (See 3 and 4)
  • User signals — We let you know who in the channel is from another workspace by appending their team icon. (See 5)

Putting someone in charge

Hold on. So, like, can anyone just share channels…?

Using shared channels requires companies to connect their private workspaces to other workspaces for the first time. And it’s important teams feel in control of these connections. Rather than giving everyone the ability to share channels, we wanted to limit it to a select few, creating a sense of security for the entire workplace.

We decided to put workspace administrators in charge of creating and managing shared channels. They are the gatekeepers: Only they can send and accept invitations with other workspaces, or unshare channels. If a team member wants to share a channel with another organization, they need to get help from their admins.

Admins — Hey we can help!

Putting admins in charge gave teams a sense of control, but in many cases, admins aren’t the ones communicating or working with the other companies. It’s the regular members — the account coordinator or the project manager, for example. And those members don’t necessarily know who their admins are, especially at larger companies with 1,000–10,000+ employees using Slack. It’s possible they’ve never even met or seen these people in real life.

How could we help these members find an admin to help them create a shared channel? We did a lot of exploration and research here. Our initial assumption was to build out a request flow for members to get one-off approval from admins each time they wanted to share a channel. Surprisingly, a lot of users got hung up on this. For example, there was confusion from members thinking that sending a request to an admin was all it took to immediately start sharing a channel.

Admin request — Example of earlier explorations

Also, giving members the ability to initiate the channel sharing was adding a lot of complexity to the user flows for everyone involved. Ultimately, we decided to streamline the process and make it simpler for users to find their admins, and make a request via direct message, in whatever format felt good to them.

Limiting visibility

This is going great! Hmm. But, wait. What can the other team see…?

Another key part of designing this new experience was creating clear boundaries between the two workspaces using a shared channel. We had to set rules around who could see what, in hopes of protecting the privacy of each team.

The boundaries:

  1. Teams can only see and access channels on another workspace that are shared with them.
  2. Users can only see and message members of another workspace that they are sharing channels with.
  3. All content in a shared channel is visible to and owned by both teams.

Even with these boundaries in place, we didn’t want to prevent teams from sharing content or mentioning members that were outside the current visibility of the other team. However, we needed a way to help keep teams from sharing more than they might intend to.

First, we wanted users to be aware when they’re about to share a message or file into a shared channel. We explored a few solutions here, but felt the most natural was to warn users while in the process of sharing. We didn’t want to add too much friction as, more likely than not, they will already be aware the channel is shared, so we thought a small additional alert in the share dialog would be enough to give users pause before deciding to continue.

Desktop and iOS — Create awareness before sharing

Once shared in a channel, it was also possible that the contextual information that is shown with a file or message could be information not intended for the eyes of those outside your company. Imagine you grabbed an inspirational quote from your CEO from one channel to share with clients in a shared channel. And what if the channel you shared the message from was called #upcoming-acquisition… Yikes!

This is obviously an extreme and hypothetical example, but you can imagine how subtle and private information could become visible to the other team. So, we implemented a system that checks the visibility for each individual user in a shared channel and shows different results based on what they have access to.

Various degrees of information visibility

We also use this system with profiles and mentions in a channel. There are varying degrees of visibility and access you can have with someone from another workspace, and we don’t allow users to see more than they’re supposed to.

Degrees of visibility:

  1. A regular profile — Someone I am sharing a channel with. I have access to basic profile information and can even message and share files with them directly.
  2. A stranger profile with message history — Someone from another company that I don’t have access to anymore, but previously had direct message history with.
  3. A stranger profile — Someone from another workspace that I don’t have access to.
  4. A private profile — Someone I don’t have any access to.
Various degrees of profile visibility

These are obviously much subtler details, yet are still incredibly important for maintaining a sense of security and privacy.

What’s next

It took looking at every detail, big and small, to be confident we were considering the privacy and security of our users in designing shared channel. This was paramount for us throughout the long process of building this feature, and something we’re still focused on as we continue to update and improve this new way of working.

Shared channels is still in beta testing, but it’s been amazing to have so many companies using and benefitting from the ability to share channels with each other over the last few months. All of the feedback we’ve received has been incredibly helpful! There’s a lot of work still to do, but we look forward to tackling the problems ahead, to make this new way of working with others in Slack the best experience possible for our users. ❤️

Interested in joining the team at Slack? We’re hiring!

--

--