Nothing older than May
I went looking in Slack last week for why one manufacturer’s products are excluded from every sale on a client’s store. I know the answer exists, because I was in the conversation. February, in a channel, and I remember disagreeing with part of it.
Search gave me nothing older than May.
We’re on the free plan, and the free plan keeps the last 10,000 messages. Not per channel, not per person, the whole workspace. Past that they’re still in there in the sense that you can’t see them, which is a sense I’ve decided not to find comforting.
There are about 20 of us. If everybody posts 20 messages on an average day, and that’s a low guess, we get through 10,000 in something like 25 working days. So the searchable history of this company is five weeks deep and moves forward every night. I had never once thought about it.
Slack isn’t hiding this, it’s the first line of the free column on their pricing page. Nobody read it, me included, because nobody adopted Slack here either. It showed up the way it showed up everywhere, which is somebody making a workspace for a project. Then 18 months later the whole company is in it and email is the thing you use to talk to clients.
The move was right
None of what follows is an argument for going back. Written-by-default fixed something real, and it fixed it for the people email was worst for.
When the medium was desk-side conversation plus email, the two people who aren’t in the studio on a given day were structurally out of the loop and had to be caught up by whoever remembered to do it. That was never malice, it was seating, and good intentions had not been fixing it.
It also lowered the cost of asking, which matters most to the people who won’t go and stand next to somebody’s desk waiting for them to look up. I’m one of those people. I’ve watched coworkers who would never say a word in a meeting turn out to be the most useful person in a channel, and that’s not a small thing.
Anybody know why we did this?
We all told each other that channels would stop decisions living in one person’s inbox. That was true, and it’s the part I’d defend hardest. The old shape of a project was a handful of threads with different subsets of people on them, so the reason a thing got built the odd way sat in a mailbox that the next developer couldn’t open.
I hadn’t worked out that an inbox is a bad archive with a custodian, and a free workspace is a good-looking archive with nobody minding it at all. An inbox loses the reason when a person leaves. Ours loses it on an ordinary day for no reason at all.
And the decisions I most want are exactly the ones that never make it into a document anyway. Somebody asks a question late in the afternoon, three people answer, one of them happens to know something about the client’s supplier contracts, and that is the entire record. It’s the corridor problem I complained about in January, except the corridor is searchable right up until it isn’t.
The fix is money, of course. The paid plan is a per-person monthly fee, so the cost of remembering scales with the number of people doing the remembering, which is a peculiar shape for a bill and a very easy line item to keep not raising. I don’t think Slack is doing anything wrong here, storage costs money and they’re a company. It’s that “searchable” was doing an enormous amount of work in how all of us described this tool to each other. It turns out to be a property of the paid tier that we’d been quietly crediting to the medium.
Paste it in the ticket
So the habit I’m trying to build is that when something gets decided in a channel, the conclusion leaves the channel the same day. Into the ticket, or into the README, or best of all into a comment sitting directly above the code that would otherwise look like somebody’s mistake.
// This manufacturer's supplier agreement says their products can never go
// on sale. Not a bug. If it ever changes it's a call with the client and
// not a code change.
if ($product->getManufacturerId() === self::NO_DISCOUNT_MANUFACTURER) {
return false;
}
That’s the whole technique. It takes about 20 seconds, and it’s the only copy of that sentence that isn’t being rented by the month.
I like the code comment best because it’s the one place the reader is guaranteed to be standing when the question occurs to them. A written record only works if opening it isn’t a decision somebody has to make, which is the whole of what I got out of a style guide I built and then never opened myself.
I do this maybe half the time. The other half I read the answer, feel the relief of having the answer, and go straight back to what I was doing, which is roughly how the last one went missing.
It’ll only take a second
The rest of this, and I go back and forth on how much of it is specifically my problem, is what the channel did to the day.
The pitch is that a message is cheap. You ask, the other person answers when they get to it, nobody’s blocked. Instead the cost of asking went to about zero while the cost of being asked stayed exactly where it was, so the volume went up and the price of the volume gets paid by somebody other than the person setting it.
A question that takes 10 seconds to answer does not take 10 seconds. It takes 10 seconds plus however long it takes me to climb back into whatever was in my head, and if what was in my head was the kind of layout bug that turns out to live seven ancestors up then that number is not small and it doesn’t scale with the size of the interruption. There’s a study people like to quote at each other putting the recovery at around 23 minutes. I have no idea how well that survives contact with a real office, but the direction is right and I can feel it by about 4 in the afternoon.
Slack added threads in January and I had genuine hopes for them. Here about half of us use them and half of us don’t, so a threaded reply gets missed, the person who threaded it learns not to bother, and the loudest way of talking wins by default. I suspect that’s what happens to any feature that asks a group of people to change a habit on the same day.
And I’m not above a single part of it. I ask questions in channels constantly, for precisely the reason I’ve spent this post objecting to, which is that it’s cheap for me. Knowing that has changed my behavior by an amount I would struggle to measure.
None of this makes me want the inbox back. The old version left the reason with one person and everybody else guessing. It fell hardest on whoever wasn’t in the room, and I’ll take the version where the reasoning is at least visible while it lasts. I’d like us to stop describing chat as though it remembers things, because it doesn’t remember anything we haven’t paid for or copied out somewhere else. Every night the workspace forgets a day, on schedule, and the parts of the last 18 months that still exist are the handful somebody bothered to write down. I got my answer in the end by asking the person who’d been on the call, who happens to still work here. Is anybody actually paying for their history, or is everyone five weeks deep and quietly asking each other?