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

Sonya Mann's active website is Sonya, Supposedly.

Money or Reputation?

“Nobody’s vote makes very much difference, so people are happy to vote for signaling/psychological reasons rather than financial ones. If casting my vote to help the poor makes me feel like a good person, but losing money in redistribution schemes makes me poorer, well, my vote 100% determines whether I feel good or not, but only 1/300-million determines whether I get poorer.” — Scott Alexander

See also: “Most people discuss political ideas not in order to help other people, but in order to signal how concerned and intelligent they are, or as part of group bonding rituals.”

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!

Middlemen Are Crucial: Open-Source Software & Economic Growth

Disclaimer: I’m open to disagreement that is expressed respectfully. If you have an argument against my interpretation, please share it. (Of course, I can’t guarantee that I’ll agree with your critique.)


I want to elaborate on a conversation about the economics of code from Hacker News. User wrong_variable said:

“Programmers get no respect — and its our own fault.
The computing industry is directly responsible for 1/3 of global GDP in 2016.
Its time that this is reflected in our paycheck.”

Leaving aside the assertion that programmers aren’t paid well, I responded:

“Keep in mind that code is not useful or economically impactful without business and community management surrounding it.”

User overgard chimed in:

“I think that’s demonstrably untrue — open source and free software has had a massive economic and cultural impact with precious little of that originating from the involvement of business people or community leaders. (For instance, the GNU project or the linux kernel — not to mention how many commercial products must use zlib). Business support almost always comes after the value has been created.”

I disagree. There are two threads here that I want to tease out:

  1. Writing and testing code on the scale of a project like Linux or Ruby requires a community. Some people in the community, even if they are adept programmers, will be needed to support the project in other ways.
  2. Once a program / framework / whatever is ready, it can’t promote economic growth unless it’s deployed by a business. In other words, software for its own sake is economically pointless. (By the same principle, outside of the open-source world, managers, salespeople, and marketers exist for a reason.)

People who make things tend to underestimate the importance of middlemen. I mean “middlemen” broadly — anyone in between production and consumption. In this case, programmers are production and regular end-users are consumption. However, before any product can be consumed, you need distribution.

Photo by Florian Pircher.
Photo by Florian Pircher.

Prior to the internet, distribution was limited by physical location and thus geographically specific. Particular companies controlled particular regions; they maintained relationships with individual stores. On the internet this dynamic is fundamentally different because the cost of distribution is negligible. Digital goods are effectively free to replicate, meaning there is no marginal cost. (Ben Thompson’s “Aggregation Theory” describes the consequences: value comes from being the layer that users interact with, which compels suppliers or advertisers to use your platform.)

When it comes to software, distribution is simple but difficult. It consists of two crucial functions:

  1. Making people aware of the software’s existence.
  2. Convincing them to use it by providing a compelling value proposition.

For the most part, those things don’t happen spontaneously. You need evangelists (as much as I hate that word). And those evangelists need incentives. The creators and proponents of open-source software are usually not paid directly for their labor (there are exceptions) but they are rewarded with social capital that can be leveraged into professional remuneration. You need people to write documentation and blog posts, organize / host meetups, and generally nurture the project’s ecosystem. This is the “community” part of the “business and community management” that I cited as being vital.

Even more saliently, free and open-source software projects only have an economic impact when businesses exploit comparative advantage by using them. For example, Super Body Fuel’s online store was made with WooCommerce, which sits on top of WordPress. The owners didn’t have to hire a developer to build a site for them. Using PayPal [1] as their payment processor also lowered the up-front cost and hassle.

Because of this, businesses like Super Body Fuel need less capital to get started. The owners can spend more time focusing on factors that differentiate their business (in SBF’s case, formulating a healthier and less expensive competitor to Soylent). In terms of investment and payoff, growing their business is a higher-return activity than setting it up in the first place. Efficiency increases, which result from technological innovation, are the only impetus of non-zero-sum economic activity. In a word, growth.

Of course, none of this could happen if the Super Body Fuel owners didn’t know about WordPress and WooCommerce, or if they didn’t have access to the intermediary tools necessarily to deploy them. Some amount of information seeps around without anyone making an effort, but awareness and resources that will reach thousands of people almost always require intentional promotion. Thus, coding is not enough to propel the open-source world. Other types of labor are needed to keep attracting more contributors and users.


[1] Like every large software company, PayPal both uses and develops OSS. For example: OpenStack and Linux.

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).