Well-fitting Slack: tailoring a new Slack app

Introducing Scatterdot

Before getting to a couple of lessons we (Andrew Catton and Ben Matasar) learned building a Slack app, I should tell you about what we built.

Scatterdot is a tool for pointing at things in a picture and discussing them. This is something that comes naturally to anyone with a 👆, but is not something that’s easily done in online discussions. A Scatterdot looks like this:

One of our goals was to make these very lightweight, like the real-life discussions they emulate. You create one, talk for a bit, and move on. If you want to have a related but different discussion, make a new Scatterdot. Think email thread, not discussion forum. Github gist, not repository. Quick conversation at your desk, not a meeting.

Scatterdot began as a standalone app — in fact, it can still be used standalone today. To reach our goal of being lightweight, however, we needed to fit Scatterdot into people’s existing workflows. In particular, it needed to go where the conversations were already happening. For many people these days, that place is Slack.

But what does it mean to fit into Slack?

1. No parallel permissions systems — just use Slack teams!

Discussions in Slack are private to the team. A lot of thought is put into who is allowed to join those teams and whose access is removed. Rather than require Slack users to manage parallel group permissions & notifications, we’ve made it possible to publish a Scatterdot to a Slack team:

What this means is that anyone with access to that Slack team also has access to the Scatterdot. No other permissions, signup or maintenance is required.

Better still, due to Slack’s great API integration points, we can make this publishing really easy to do. For example, with the Scatterdot Slack app installed you can do:

This will create a new topic with the appropriate Slack team permissions and notifications sent to the current channel.

2. Let people stay in Slack as much as possible

In the standalone version of Scatterdot, you can point at a picture, comment and reply. When using Scatterdot with Slack, having a parallel conversation happening in Scatterdot turned out to be awkward and confusing — you’re already in a great tool built for group discussion! Because of this, for Scatterdots shared via Slack, we actually disabled replies. Scatterdot pushes you back to Slack as quickly as possible and tries to let you stay there:

The first thing you see here is a notification from Scatterdot showing a zoomed-in preview of what @andrew pointed at and the comment. The conversation then continues in Slack, like any other.

We expect that there are more lessons to learn about building apps that fit well into Slack, but we thought these were worth sharing. We’re finding Scatterdot to be a very useful tool for discussing visual things ourselves, so we also thought it was time to let others use it too.

Try it out for yourself!