Mail Order Apocalypse is live!

If you have followed this blog for a while, you know that I do a lot of crowdfunding as a backer. Kickstarter alone lists over 200 projects that I have backed in some way.

Well, now it is time for me to jump into the other end of the pool: I have just launched the Zine Quest 4 campaign for Mail Order Apocalypse! Follow this link to the campaign:

What is it about?

Mail Order Apocalypse (or MOA for short) is a dark future roleplaying game, where capitalism eventually shut all humans out. Paradise is within humanity’s reach, but our ancestors made sure we cannot afford it.

This may look to be a game about survival, figuring out how to eke out an existence when the machines have claimed everything worth anything. But that isn’t entirely true. This is a game about daring heists and robberies!

See, the machines don’t hate us. They don’t actually want to kill anyone, but the laws humanity put into their programming don’t allow them to give us anything for free. And we don’t have currency to pay with. So survival takes the form of trying to make a living in the wastelands, trying to farm algae, or to recycle the scraps we find.

But the more efficient and much more fun way is to trick or rob the machines:

We hijack their communication network, set up a pretend address and then have a drone deliver your order while the fake credit score is still good. Or you hold up one of those post trains that link the factories, overcome the guard machines, and live richly!

Some have learned how to infiltrate the automated farms. One can live well there, provided the machines don’t recognise you as the pest you are.

Of course, there are also those who live on the work of others, who raid settlements for their own gain. Maybe you are one of them?

Spam everyone and use your filters

For over two years now, polypoly is working as a remote-only company. Most of the time, this works well, but there are of course wrinkles and roadblocks. The major one is in how and where we communicate.

We have all the tools: Email, Chat, a wiki, a ticket system, a CRM-system, a design system, and so on.

And still, during our first in-person company offsite, a common concern was „I don’t know what X does, nor how they work.“. This was voiced across all levels, from trainee to C‑Level.

An investigation ensues

That is because we don’t get a chance to observe others communicating or working. I peeked at the statistics of the messaging service we use to talk to each other, and it showed that 84% of all communication happens behind the virtual equivalent of closed doors! That may be not all of it, but it surely feels that way. Most of our chats are ad-hoc groups of three to four people, and these chats are closed and invisible to everyone else.

This is the equivalent of everyone having a private closed office and private corridors to visit the other offices. Yes, quite like in the dystopian TV show Severance.

We do have watercooler talk, but it is limited to the already-established small groups, not random encounters when fetching coffee.

I spent a whole day of our offsite workshopping this, talking to colleagues all across the company about this issue. The people who complained the most about the missing information are also those who fear of being inundated with information, and of course do not want to spam others. In the end, I realised that a key reason for this is that our social tools aren’t very social, and that fact forms the wrong expectations:

  • There is the expectation that there is the perfectly fitting tool for every context, and that if everyone would only use them in the right way, everything would be fine.
  • The other expectation is that the onus is on the creators and senders of information to figure out who needs what and then to make sure that these people see it.

My take

I whole-heartedly disagree with both of these expectations. People use the tools they are comfortable with, and in the way that fulfils their needs the quickest. So they will always make mistakes, put things into the wrong wiki page, or use a superfluous label. One can minimize this, but never get it perfect.

And once your company passes a certain size threshold, probably at around five people already, no one can have perfect knowledge of who needs to know what.

(That does not meant that you wouldn’t need working conventions within a certain team or domain. Of course it is important that the documentation of your backup for example is set in a way that it is structured, and at a known location. I am talking about cross-domain conversations here.)

What is needed for these tools is to make information discoverable to people outside your immediate team, and to facilitate serendipitous connections.

So what do I propose? Three steps, ideally all taken together:

  1. Communicate a guideline of what kind of information should generally live in which system. Tasks go to the ticket system, documentation and asynchronous discussions in long form to the wiki, and everything that involves short-form and/or live communication goes to the messaging platform. A corollary is to establish an etiquette on what tagging someone in a message means. For example, if I add someone to the “To” field of an email, this contains information they need to know and to act on. If they are in the ““CC” field, I just want them to be aware of the conversation.
  2. Encourage everyone to communicate as much in the open as possible. Make people not be afraid to use a channel, contact a person, or edit or comment on a wikipage. Allow questions everywhere. People should feel comfortable to ask if someone can use feedback on something. Everyone should feel free to make noise and be observeable.
  3. Teach everyone rigorously about filters. They need to understand how to effectively condense the noise into the background, but have the important signals stand out.

That last bit is crucial. It shifts the responsibility of managing the information flow away from the sender, to the receiver. This is because as a sender, I cannot ever reliably know the potential receivers state of mind, their load, their interests, and so on. Heck, often enough, people do not even reliably know who the potential receivers should be in the first place.

So the only chance we have is to communicate in the open, using keywords and making sure that bystanders have a chance of discovering whatever I send.

Managing the information firehose

The result is that any given person will have a potential firehose of information coming towards them. Lots of chat channels with an unread messages icon, full email-folders, a Wiki timeline that is chock-full of entries.

And that is fine. It means that one can get a sense of where the action is. You can see in which area of the virtual office everyone is congregating, where a lot of discussion is happening.

But it also means that one needs to learn to let go. Not every message needs to be read. Not everything needs to be commented. And even when people CC you, they probably just want you to be aware of something that is happening, nothing more.

So, figuring out how to make the important signals float to the top is important:

  • set up email filters that for example move all of the system messages that you don’t need to read all the time go away into a subfolder. Those ticket-system updates that someone logged work on something? If that isn’t something actionable for you, make them disappear.
  • On the other hand, ensure that things with words like “task assigned to you” or keywords relevant to your job get a highlight and stay in the queue you actively monitor and work on.

Setting up those filters and tweaking the notification settings is time very well spent, and everyone should be familiar with those settings. When choosing a new tool for your team, choose the one that has a better way to adjust these settings. And when you onboard a new team member, spend some extra time on showing them how to set up their own filters.

As an aside: In over 20 years of working in IT, I have never missed a message or notification because it got drowned out in useless noise. And I was nearly always one of the persons who had to be at least low-key aware of everything that is going on. The first thing I do for every new communication tool I get, is to figure out how to tweak the notifications.

In a former job, there were a few magic words that would summon me to any conversation happening on the company slack. I didn’t advertise those words, but when someone would use the word “tracking link” in any of the Slack channels I had access to, I’d be notified — because I knew that in 9 times out of 10, this was a problem I needed to know about.

Thankfully, I also knew that I could otherwise safely ignore these channels, as they would be talking about things entirely irrelevant to my job. But knowing that a conversation happened there, and how much, would help me gauge how much business is flowing through that part of the company. Kind of like the restaurant owner who can see the stack of order slips grow during the evening, knowing how well his business is doing at a glance.

Not everyone in a company needs to keep track of everything. Generally, the further down the ladder one finds oneself, the less sources of information one needs to watch. But in the other way around, the broader your responsibilities, the more interconnected you are in the work, the more you need to be able to gather a good view of what is happening.

This is not a call for having very precise summaries and statistics on all fields all the time (although there is use for that). This is about the feel of communication, and feelings are, by their nature as messy as us humans involved in it. One cannot expect a whole company to always communicate precisely and only to the exactly right persons. So it is important to factor in these imperfections.

Make asynchronous communication and work easier

The other reason to foster such a culture is because it makes asynchronous communication and work a lot easier: If I do not need to worry about whether my information comes at a convenient time and in a convenient channel, then I can do this a lot more efficiently from my end. But I can only do so, when I can rely on the receivers to actually not be inconvenienced by my actions. And that risk is significantly lowered when everyone has good filters.

So, go ahead: Spam everyone, but use your filters!

Home Office — redux

About a year ago, I shared how my home office setup looked. It is now not only a year later, but I also moved back to Hamburg and moved everything into a combined office&hobby room. And with that, I also upgraded a few key features of the space.

Let’s start with the room itself: It is a rather small one, so I had to think of space economics. In the end, I settled for the traditional center aisle with desk, workbenches and storage along the sides, keeping the window free so I could move about the room at ease.

That meant that I had to get rid of the door, as it opened to the inside of the room and would have been blocked by the storage shelf. As a replacement, I fulfilled that inner nerds dream and built a secret door!

The room now houses not only my desk, but the printer, the filing storage, a workbench, all my tools and hobby supplies, two 3D printers, a borrowed laser cutter and all my roleplaying games and comics. Pegboards on the walls keep the more frequently used items in easy reach. Otherwise, I took full advantage of the laser cutter to have nice labels on all the drawers, so I don’t have to remember where the different tools are.

And yes, the motordesk and treadmill are still there, and I also managed to put the remote control holder into a fitting place on the workbench. That green button is a Logitech POP button that I use to switch the treadmill and 3D printer on or off.

But to the actual desk setup: Since last we met, I added and swapped a few things.


I ditched the Bluetooth headset for a DECT one. That has a lot better range and audio quality, while also sitting quite easy on the ear. It is a Yealink WH67 with built in speakerphone. As soon as I put the headset into the cradle, it switches from headset to hands-free operation. This happens entirely on the device, any computer or phone connected to the WH67 not seeing that change. I love this, as I never have to twiddle any software settings. And yes, the WH67 also has Bluetooth, so it connects to the computer and the phone at the same time.

Also, I’ve splurged for the QI-charging module, so the phone gets juice without any hassle too.


The SLR camera is now hidden behind a black box that acts as a teleprompter. I rarely use that for the usual purpose of reading a script, but to be able to make eye contact during conference calls. It is entirely self-built from foamcore, wood glue and black paint, with the only bought addition being the 12″ USB‑C screen and proper teleprompter glass, that reflects from the front surface of the glass instead of the back, providing crisper contrasts to me. It does eat some of the dynamic range, but not too much to be a bother. (Eventually I might update to a brighter screen to compensate, but that’d need some more serious budget).

Also, the standard webcam is right now a Lumina, some crowdfunded, allegedly more intelligent camera with better colour calibration and more processing. Might go back to the Logitech BRIO eventually, but for now, I am giving the makers a chance and see what the software updates bring…

Lights and Buttons

On the other side there is an Elgato Stream Deck. This is mostly a toy / luxury purchase, but it does come quite useful when hosting online events. Routing my camera through OBS I can easily blank my video feed, swap backgrounds, pipe in waiting music, etc. Just having a hardware button to mute myself or blank my video is already a godsend. Also, it controls the room light!

Speaking of room light: I splurged and installed a light-up ceiling. Six 4m RGB zigbee powered lightstrips that are hidden behind a semitransparent white cloth. They could be a tad bit brighter, but for now, this is pretty good to keep the winter depression at bay. And I have a button for „Red Alert“ :D

SO many calbes needed to be attached and sorted for the ceiling
admit it, it’s pretty.

Hacking Runs for Fun and Profit

A key element of modern games is often the heist, caper, or in the case of cyberpunk-esque games, the „run“. The common part here is that the target is usually a complicated and large system, full of people, computers, security systems and other components.

In movies and books, we follow the crew through their preparations and then see them pull off the perfect caper, where each element more or less seamlessly enables the next part, until it all comes together in a showdown and ends with the heroes walking (or running?) off with their ill-gotten gains.

There are quite a lot of attempts to map this into game mechanics, and here is my own one:

It introduces two concepts:

  • the network map of the entity that is to be robbed
  • failure cascades

Lets start with the network map. It could look something like this:

The goal is to escape with the loot from the vault. Except that as long as there is someone or something to call reinforcements, things will go bad. And if the vault door isn’t opened, they can’t get to their loot in the first place.

Researching this network is the usual preparation phase for the players, where they can dig for information, ask around, bribe people, steal floorplans, and so on. It might even be that you, as the DM, don’t even have the network map prepared but you create it with your players as you play along.

In the end, the map shows the possible choke points that need to be taken out, as well as the objectives that need to be met. Either directly, or indirectly. 

And that is where the second core idea comes into play: Cascades. I’m stealing those from the boardgame hit Pandemic. Disease occurrences are marked by adding little cubes to a city. Whenever there are three or more cubes of the same type in one city, there is a virulent outbreak. That means that every neighbouring city also receives a cube. If that tips them over the 2‑cube-is-safe limit, there is an outbreak too.

Let’s apply the same idea here, but with a lower limit: If there are two incidents at one place, it triggers the cascade. So if Joe the Guard does not get his coffee from the Cantina AND the toilet is clogged, he’ll fail at his job (calling the reinforcments in case he sees anything). And that means that the „Reinforcements“ node gets its first little cube. 

A similar effect could be achieved by simply taking Joe out (kidnapping, poisoning or bribery for example), but that might not always be possible — and it won’t create a cube at Reinforcements.

So, the planning and execution phase means that the crew selects points in the network, take them out and hopefully create cascades that take out adjacent points for them.

This isn’t playtested, but I think it should be fun to run things this way!