This website was archived on July 21, 2019. It is frozen in time on that date.

Sonya Mann's active website is Sonya, Supposedly.

Boundaries for Bots: Safer Slack Integrations

I gave this short talk on May 17th at Slack HQ for the SF Slack Developers’ Meetup. The video is on Ustream — my segment starts around 3:30. But if you’re not a video person, here’s the script I wrote beforehand, and you can check out the slides here.


Hi, my name is Sonya. I run a community Slack group called Cyberpunk Futurism. It’s pretty lively — last time I checked there were more than ninety members, about half of whom are active. We discuss technology, economics, the current and future dystopia… You know, whatever. Small talk.

Roughly ten members hang out almost every day. Depending on the size of your company, that might seem small, but Stewart Butterfield mentioned in 2015 that the average Slack team has eight or nine members. I don’t know if that’s mean or median average, but there you go.

As the admin, I’m the main person who installs integrations and bots. I usually go through Slack’s directory, and I’m often looking for something specific. For example, recently I wanted an integration that would do what Giphy does, but pull from static images. It doesn’t exist, by the way — hot tip for one of you, in case you want a totally non-monetizable idea. We also have a Github integration, the Twitter auto-expander, and so on.

Slack's directory for searching out bots and integrations
Slack’s integration search.

I want to give my community cool tools to play with, and utilities that allow us to collaborate creatively. There’s a lot of stuff in between me and that goal. I have to look for the tool, go from Slack’s directory to the landing page, click install, select a team — there are a lot of steps, each of which is a potential drop-off point. Hopefully Slack will have a full-fledged app store at some point and installation won’t be such a pain.

Anyway, the members of my Slack community are a bunch of paranoid technophiles who value their privacy. I take that as seriously as Slack’s free settings will let me. A business that has confidential discussions in Slack will take it even more seriously, and they’re going to hesitate to assume any risk.

Most Slack integrations don’t come from comforting IT name brands like Microsoft or Apple. It’s some upstart little company. Trust me, I love upstart little companies, but I don’t have time to run a background check on all of you. Because you’re an unknown quantity, that represents risk. I don’t know exactly how your integration works, how it stores the data it collects, and I definitely haven’t read your EULA, so I’m likely to err on the side of caution.

Uncertainty introduces fear — sometimes the fear is irrational, and sometimes it makes sense. There are all kind of things that users “should” or “could” do, most of which they will totally ignore. People are busy and they have different priorities. Think of users as timid baby bunnies who are simultaneously running a company.

Adding a Slack integration.
Adding a Slack integration.

Anyway, the screen that I pause on the longest is this one — the one where Slack tells me what kind of access the integration is asking for. Usually it’s asking for more information than seems reasonable. Most crucially, I don’t know why.

Remember to look at this from the user’s perspective. I am indifferent to your goals unless they align with my goals. I have nothing invested in your integration in particular. My cost-benefit analysis involves the safety of my community, and that counts for way more than your KPIs. It probably also counts for more than my desire for another unproven productivity enhancer.

All of this is a very long windup to say: tell me on your landing page why you’re going to need the amount of access you need. If you’re going to ask for access to all my channels and user data, you should explain why that’s necessary, and call out your privacy policy. Most likely I won’t actually read your privacy policy, but when you mention it, that soothes my lizard brain.

So those are the problems I face whenever I’m considering a new integration, and they pose problems for you too. Because you want me — or rather a manager at some company with tons of money to burn — as a user.

Of course, you should A/B test all of this. Maybe I’m totally wrong, or you’re selling to a weird market, and doing permission priming will repel your potential users. But at least think about trying it out. Maybe have a couple of different landing pages where you can funnel different types of users.

hugging face emoji

After installing an integration, I’m usually still not sure how to interact with it. Give me a rundown of the basic actions and how to adjust settings. Don’t surprise me by popping up in places where I haven’t been told to expect you. If you can do the onboarding directly through Slack, that’s perfect. Otherwise shoot me a welcome email with some instructions for beginners.

I would also encourage you to use slash commands instead of bot users as much as possible. They’re way more intuitive, and much faster for simple tasks. I know some use-cases don’t work with slash commands, but for the ones that do, those are better.

Before I give up the mic, I want to mention one more time that your attitude toward users should be empathetic as much as possible. I’ve worked support so I know users are annoying, but try to reduce your own frustration with their lack of domain knowledge and expertise. Make an effort to understand their incentives.

That’s all! Have fun building!


Nick Babich wrote a great article about permission priming called “The Right Ways to Ask Users for Permissions” that you should read next!

Hostility & Online Discourse, Round Two

This is a follow-up to yesterday’s somewhat controversial post about politeness.


My thesis consists of these points:

  • Expressing anger respectfully is more useful to any movement you happen to belong to than expressing anger viciously.
  • Lashing out at well-meaning but uneducated people is counterproductive. (Note that this does not apply to people who’ve had ample opportunity to be coached — however, identifying these people without knowing them beforehand is difficult, so I think it’s better to default to being kind. This also doesn’t apply to, for example, unsolicited dick pics or equivalent acts that are themselves way outside of respectful norms.)

If your goal is to convince people to agree with you, berating them whenever they try to start a conversation is not the best strategy. If your goal is to repel those people and make them think the subculture you belong to is full of jerks, then this is exactly the type of response you should have. Crucially, it doesn’t matter whether you’ve heard their question a million times before — they will still think, “Yeesh, lighten up.”

I made this argument about feminism yesterday, but it applies equally to any other belief system or cause that’s trying to recruit. Just to throw another example in the ring, open-source software development is often chastised for being awful for newbies. And if you look at any community that is explicitly trying to boost their ranks, the evangelists never begin their spiel by saying, “Here are the reasons why you suck, along with everyone who fits into a category with you.”

Those Christian missionaries who show up at your door don’t open with, “Hey, if you weren’t such a shitlord you would already be researching ways to avoid the eternal hellfire of divine condemnation.” Instead they say something friendly like, “Good morning, have you accepted Jesus Christ as your savior?” Their uninvited sales pitch is still annoying, but it doesn’t make me think, “Wow, people who identify as Christian say I’m a terrible person. When I ask them to help me figure this out, they say I’m an even more terrible person for not reading the Bible on my own. I don’t want to interact with Christians. Whenever the topic of Christians comes up amongst my friends, I’ll warn them that Christians are jerks.” (Whether or not certain groups of Christians qualify as jerks for other reasons is beside the point.)

As an example from the opposite side, vegan activists are notorious for being judgy and aggressive. I’m sure this is frustrating to reasonable vegans who just want to explain their ethical stance and share recipes with people. And it does exactly zero to make people want to experiment with veganism. PETA’s shenanigans have had the opposite effect in at least one case. An explanatory approach like Food, Inc. is much more inviting.

Various people told me I was tone policing yesterday, and after having thought about it more, I agree that I am. According to the Geek Feminism Wiki:

The tone argument is a form of derailment, or a red herring, because the tone of a statement is independent of the content of the statement in question, and calling attention to it distracts from the issues raised. Drawing attention to the tone rather than content of a statement can allow other parties to avoid engaging with sound arguments presented in that statement, thus undermining the original party’s attempt to communicate and effectively shutting them down.

I fundamentally disagree that holding people to high standards of discourse is equivalent to “effectively shutting them down.” I believe that people can argue without resorting to verbal abuse — and if they can’t, what is the point of arguing? No one who doesn’t already agree with you will be swayed.

There are situations where it is obnoxious to tone police, and the reasons why people get angry totally make sense (see this comments thread for lots of examples; TRUCEConf is another exasperating example). I am angry for many of the same reasons! However, if someone is slinging around ad hominens or saying things like, “Your comment is trash,” they’re not debating at an object level either. When I discuss an issue with another adult, I expect them to use phrases like “that attitude makes me angry because of xyz” instead of “I can’t believe you fucking said that”. And if they don’t maintain that level of civility, I disengage, because targeted hostility stresses me out.

I think there are appropriate ways to express anger — this open letter to a father who doesn’t pay child support is a great example of what I mean — and ways to express anger that alienate anyone who doesn’t already understand your grievances and share your context. In my view, activists should try to optimize for the former method of expressing rage. This is especially important on the internet, where everyone is talking in public, because random people will see your arguments. Some of them will be totally unfamiliar with your subculture or ideology, and if you’re not calm and reasonable they will notice that and associate it with your subculture or ideology.

This is how I closed my first post on this topic, and it reiterates my two bullet points from the beginning:

It’s true that sometimes people enter conversations, especially about social justice, with ill intentions. But treating everyone as an enemy until they prove otherwise is very harmful — it ends up burning the people who just couldn’t figure out why you were upset without more guidance and more information. Assuming good faith is not always accurate, but it’s a much more useful stance than defaulting to hostility.

Then again, some people take the cynical view that activists’ main function is to generate controversy and stay in the news. But I’m sad to see people who champion causes that I care about follow that pattern.

Hostility & Online Discourse

Unless you really love subculture drama, read “Hostility & Online Discourse, Round Two” instead, or my earlier post about giving and receiving criticism.


Here’s the tl;dr, which gets repeated later in the essay:

Hostility in online discourse is very rarely useful. I understand the rage impulse, especially as a marginalized person trying to explain something that seems obvious to a more privileged person — that was my modus operandi as a sex worker — but it is counterproductive. It does not engender sympathy or encourage people to learn more. You know what does? Assuming best intent and treating people with respect even when you’re disagreeing with them.


Something happened on Twitter just now that illustrates a disturbing trend. (I know, what a fortuitous opening!) Let me establish some context first. Shanley Kane, who runs diversity-in-tech publication Model View Culture, tweetstormed this morning that readers don’t support the indie media outlets they claim to adore (presumably in response to The Toast shutting down).

Her contention is that indie media’s struggles are the readers’ fault, because they don’t chip in, even when given ample opportunity. I don’t totally agree with her thesis due to some ideological differences re: markets and business models, but that’s beside the point. Her tweetstorm was very interesting and I’m glad she spoke her mind.

Anyway, reader Gavin Carothers commented that he would contribute if the sites he frequents offered the possibility:

Kane quote-retweeted his comment with her own: “This is trash”. Her response seemed unnecessarily hostile to me. So I chimed in: “but it’s literally true — e.g. The Billfold never accepted donations” (which I’ve written about before because it frustrated me so much).

Kane responded, “This is a blatant derail. Tons of indie media has literally dozens of ways to financially support.” In case you’re not familiar with the concept, “Derailment occurs when discussion of one issue is diverted into discussion of another issue, often by the group who were being called out about their bad behaviour in the first place.”

Whether or not Carothers’ comment counts as derailing is a subjective judgment, but let’s grant that it is for the sake of discussion. Here’s a way that Kane could have responded (instead of saying, “This is trash”) which would have been much more productive: “I think that’s beside the point since most indie media sites do allow readers to contribute.” Same message, expressed in a way that isn’t likely to alienate Carothers or anyone else who’s not acquainted with Kane’s conversational expectations.

Finally I can get to my point: Hostility in online discourse is very rarely useful. I understand the rage impulse, especially as a marginalized person trying to explain something that seems obvious to a more privileged person — that was my modus operandi as a sex worker — but it is counterproductive. It does not engender sympathy or encourage people to learn more. You know what does? Assuming best intent and treating people with respect even when you’re disagreeing with them.

For example, I’ve talked to numerous men who have very negative feelings about feminism because whenever they’ve tried to participate in feminist conversations, they’ve gotten yelled at. Did they say something insensitive or offensive? Quite possibly. But they had good intentions and all they needed was a good-faith explanation of why whatever they said was considered objectionable.

I have personally changed people’s minds by providing that good-faith explanation. Defining unfamiliar terms, elaborating on unfamiliar perspectives, and asking questions about what the sticking points are. When conversational participants commit to being kind to each other, you can iterate toward mutual understanding. I used to think that no one ever changed their mind in online conversation. Actually, it turns out that no one changes their mind when the conversation consists of people yelling past each other. “Ugh, I can’t believe you said that” or more extreme rejoinders like “fuck off, you evil misogynist” do more damage to women’s liberation than whatever the guy might have said in the first place.

Artwork by Tommaso Meli.
Artwork by Tommaso Meli.

True, providing the basic good-faith explanations over and over again can be emotionally exhausting. Sometimes you don’t want to deal with providing a 101 space. It’s also perfectly acceptable to say, “I would love to go into more detail, but I’ve explained this a bunch of times before and I find it tiring to discuss. Do you mind Googling around a bit and seeing what other people have written about this?” Often it’s helpful to clarify explicitly, “Just to make sure it’s obvious, I’m not angry and I think your curiosity is awesome!”

I know some of you will say, “It’s not marginalized people’s responsibility to educate privileged people. They should take the initiative to do that themselves.” That’s an idealistic stance and it gets nothing done. Without active advocacy, there is no education and there is no change. Saying that men who don’t understand feminism should educate themselves about feminism is akin to saying that children under ten should teach themselves about the importance of hygiene. They’re fundamentally not equipped to do it.

It’s true that sometimes people enter conversations, especially about social justice, with ill intentions. But treating everyone as an enemy until they prove otherwise is very harmful — it ends up burning the people who just couldn’t figure out why you were upset without more guidance and more information. Assuming good faith is not always accurate, but it’s a much more useful stance than defaulting to hostility.


Updating on 5/5/2016 re: reaction to this piece.

Affect Conf says I violated their code of conduct, which you can read here. I disagree -- perhaps more snarkily than I should have, I admit -- but of course it's their prerogative to decide who gets to attend their event.

Affect Conf says I violated their code of conduct. I disagreed — perhaps more snarkily than I should have, I admit — but of course it’s their prerogative to decide who gets to attend their event. These are the screenshots I attached in my response:

Some of Shanley Kane's commentary on this post.
Some of Shanley Kane’s commentary on this post.
More of Shanley Kane's response to this piece.
More of Shanley Kane’s commentary on this post.

You can read all of Kane’s responses to what I wrote (at least all the ones I’m aware of) here, here, here, and here. (Those links aren’t in order, but Twitter is usually a cacophony anyway.)

I don’t know if this needs stating, but please do not harass Kane about this or use this as a justification for harassing her. There is no need to even bring it up — as far as I know she’s said everything she wanted to on the matter.

When & Why to Pay for Free Information

It’s okay to pay for stuff that you could have gotten for free. Sometimes forking over your hard-earned cash is actually the optimal choice! It can save you time and frustration. The people who pay for freely available goods are people who understand the power of cost-benefit analysis. These people are business thinkers who take opportunity costs seriously. They always leverage comparative advantage.

Basically, the reason to pay for free information is the same reason why you might buy a sandwich from the deli instead of making your own. Buying the prepackaged version is easier, more convenient, and often more fun. If you’re low on time but have plenty of money — or at least enough money for the purchase you’re considering — then buying a ready-to-eat sandwich (or an instructional ebook, or a software service, etc) actually makes more sense than spending ten minutes slicing the cheese yourself.

Besides, someone who specializes in making pastrami sandwiches (or researching productivity techniques, or building time-tracking software) is likely better at it than you are. Paying them will not only save you time, it will also get you a better result than trying to roll your own solution.

Here are three things that I personally purchased in the past couple of months that I could have gotten for free:

  • $39.95 for an https certificate and installation thereof from A Small Orange. I could have spent a few hours figuring out Let’s Encrypt instead.
  • $79.98 for tax services from H&R Block. Is it possible to file your taxes without using software like this? Totally. Is it frustrating? Yes, to the extent that I would cry.
  • Any and all nonfiction books. The information that I want is out there on the internet, but it would take a lot of time and energy to assemble it into a coherent, readable format. Instead of skimming all of Brian Krebs’ articles about spam, I simply bought his book.

Amy Hoy addressed this phenomenon in a 2013 blog post:

Quote from Amy Hoy’s Unicorn Free.
Quote from Amy Hoy’s Unicorn Free.

When it comes to services in the professional sphere (as well some consumer goods), people will pay for three advantages:

  • more free time / less wasted time
  • more intellectual resources / less frustration
  • more money / fewer costs

The through-line here is efficiency. People will buy what you’re selling if you can help them get the same inputs to generate better or increased outputs. If you execute well enough, they’ll love you for taking their money!

So, in closing, why pay for free information? Because your time and energy are valuable. You deserve high-quality results.

Product Communication =/= Marketing, but They Both Matter

First things first: what is product communication, again? Quick reminder! Every time you say something about your product in a place where a potential customer could see it — especially if you want them to see it! — you’re engaging in product communication.

Does that mean product communication is just marketing? Nope, it’s not the same thing as marketing. That said, product communication is a subset of marketing, like the folder called “Yosemite 2013” is part of your larger “Vacations” folder. However, the whole big field of marketing encompasses way more than little ol’ product communication.

Product communication is part of promotion, which is only a small part of marketing. It’s important, but it’s not everything. Marketing is far more complex and overarching than promotion. Before you can start spreading the word about your product, you need to evaluate the market you’re stepping into, right? You need to vet the competition and maybe put together a few spreadsheets.

Pitching your potential customers is only the last step in the process. You can’t convince people to try or buy unless you have something to offer! And the product you offer has to be good. “Good” doesn’t necessarily mean “high quality” in a fancy-schmancy sense, but it definitely should be compelling enough to get people to commit resources to accessing it.

Even though promotion should be the last item on your to-do list, after the core product development has happened, it’s still crucial. And promotion can’t be effective without equally effective product communication. You need to understand your product more deeply than you thought you possibly could, and you need to learn to explain your product’s value in a way that potential customers will understand.

This is not a new idea. Recently I came across a 2014 blog post by Brian Clark of Copyblogger that sums up the requirements well:

“First, make a list of every feature of your product or service. Second, ask yourself why each feature is included in the first place. Third, take the ‘why’ and ask ‘how’ does this connect with the prospect’s desires? Fourth, get to the absolute root of what’s in it for the prospect at an emotional level.”

Clark’s advice is useful, but it’s also pretty broad. Not to plug myself too obviously, but… ;) Product Communication Basics drills down into the questions you need to ask yourself. That still requires significant effort from you or your team, but it’s easier than floundering through without a guide. No need to reinvent the wheel when you don’t get better results that way!

The question was, “Is product communication just marketing?” The answer is, “No, it’s only one part of marketing — but not a part that you should ignore!”

Sign up for my newsletter to stay abreast of my new writing and projects.

I am a member of the Amazon Associates program. If you click on an Amazon link from this site and subsequently buy something, I may receive a small commission (at no cost to you).