How chat and email cause ineffective communication

Recently I’ve been thinking about how information propagates in companies through their choice of communication software. The reason I started this thought journey are the recurring problems I see happening at diesdas and other organizations using popular tools like Slack, Microsoft Teams or emails.

Since most communication tools make the same mistakes, I’ll highlight the problems with today’s communication tools by analyzing the one I’m the most familiar with: Slack.

Slack creates unstructured information

In Slack information is shared via messages. In chat (and email), the model of ownership is that messages belong to the sender, therefore only senders have full control over them. This design decision creates multiple problems.

Senders own information

Only senders can edit their messages. This prevents other members of the conversation to rephrase or remove unimportant messages. Therefore information in Slack is usually untouched after being sent and is almost never improved for future consumption.

It‘s also not possible to edit messages without losing their original version. This removes the quality of truth from information. It’s impossible to see what information was really shared at which point in time.

Senders control the place of information

Where conversations happen is also completely in the hands of the sender. If a message related to a project is received via a private message, receivers have no way to move this conversation to the appropriate channel without starting it from scratch. If the sender continues using the wrong place, the receiver needs to join in. This quickly leads to information being inaccessible to other people that might need it, unless it is repeated again elsewhere.

It’s also not possible to make private channels public in case people feel that the information shared in there should be accessible to a broader audience at a later stage.

The place of information is a one-off decision in Slack and cannot adapt to the flow of information.

Stream of noise instead of valuable conversations

Slack also provides no way of adding additional meta data to messages.

Neither the sender nor any other person in the conversation can group messages into conversations and give them a topic. Information is solely organized by channels, which are, as the name suggests, the vehicle or medium and not a semantic label. When searching for information this leads to complicated thought processes like: “Which group of people discussed this information with me?” or “Which channel could have been the right one for this topic?”

There is also no way to highlight important information inside a conversation or summarize multiple messages into one. Therefore finding important information inside a stream of messages is much harder than it should be.

Slack also has no way to add public or private notes/labels to important messages. This is a common need that arises to organize and sort information. The only way to do this is by moving the information out of Slack via copy/pasting, which again repeats it in multiple places.

References are static

If there is no single source of truth for information, it creates the problem of finding the most reliable source of information.

Slack offers no way to reference conversations or multiple messages. In combination with the missing ability of moving information, this results in duplicating the same information in different ways at various places or making it completely inaccessible for others.

At least there is a way to reference a single message, but this functionality comes with a caveat: references are static. Any update to the information won’t be visible in the reference, which means it’s not a reference, but rather a built-in feature for copy/paste.

The result is chaos

Slack’s design decisions lead to companies constantly losing information despite repeating it over and over again. There is no source of truth, no possibility for organizing it and a lot of unpreventable noise.


These are not just Slack’s problems. Most of them also exist in email, Microsoft Teams or other tools like Basecamp. The general problem is that we use separate tools for communication and structuring information, although these are in a direct relationship to each other.

Information creates conversations and conversations create information.

In Slack communication is quick and easy, but the possibilities to structure information are extremely limited. Basecamp provides better ways to structure communication, but only when it’s done upfront.

Therefore I was wondering: What can we learn from this to improve communication software?

Four Principles for Communication Software

  1. Information can be edited without losing its original version.
  2. Information can be moved without duplicating.
  3. Information can be labelled publicly and privately.
  4. Information can be referenced.

Without editing information, it cannot be simplified or improved. Without keeping the original version, there is no truth.

Without being able to move information around, it will be duplicated and destroy the source of truth.

Without being able to label information, it will be moved where this is possible, which again leads to duplication.

Without being able to reference information, there is no way to structure information in different ways without repetition.


Note: most of these principles are inspired and maybe even invented by the email app Hey.