The Universal Communication Bus

From the desk of Eric Migicovsky

Chat is only the latest incarnation of human communication. Technology gave us the ability to extend in-person conversations over large distances beginning (probably) with papyrus + carrier pigeons and continued with the postal system and telegraph, reaching its pinnacle recently with the invention of the Yo app.

The problem, now, is that basic communication is too complicated and time consuming. Today, even with fancy smartphones and LTE networks, exchanging bits of text is getting more difficult instead of easier! There are too many different chat apps. I can’t search across all of them. I can’t even remember which of my friends are on each app. It’s become even worse than the rats nest of cables we had to deal with before USB.

This is meant to be human communication. Technology needs to fade into the background, so I can simply chat with my friends, family and work colleagues. We need a universal communications bus.

Chat Woes

Network Proliferation

XKCD on chat

In general, there are two distinct types of people:

  1. Siloed — People who only use one chat network (eg iMessage) and force other people to use their preferred network in order to get in touch with them.

  2. Ambi-social — These folks use many chat networks, have 5+ chat apps on their phone, need to keep track of which friends are on which network so they know how to contact them.

Maybe life would just be simpler as a siloed chat user but probably less fun! Many of us are cursed blessed with having friends in different countries, or in different age groups. We’ve experienced the proliferation of chat apps first-hand and fall into the ambi-social club, with a few good friends on every single platform.

Keeping track of which networks are friends are on is a communication tax. It’s extra cognitive load on simple stuff, like remembering where my friend sent me the name of the restaurant, or thinking ‘Should I send the photo I took to her via Whatsapp, iMessage or Instagram?’

My pet theory around why business is gets done so much faster in China: because there is only one channel for everything — WeChat. No confusion about how to get in contact with someone. One scrollback to WeChat makes it easy to introduce friends to each other. Voice and video calls just work. And because the default is chat, not email, everyone sends shorter messages, responds quickly and keeps their inbox at zero. I want that world! Minus the authoritarian overlords reading all your messages.

Known caveat: sometimes the medium is the message. A postcard is noticeably more personal than an email, a phone call conveys more emotion than a text, an Instagram message is more friendly than a Linkedin message. TBD how this is works out if all chats are merged into one.

Slow-to-no innovation

WhatsApp is fine, but how come you still can’t make a voice or video call from the desktop client? Signal may finally let you sign up without a phone number as the main identifier…5 years after the ecosystem got its move on?

There is a dearth of innovation in chat. It’s all weighed down by network effects. If you’re a developer, not only do you have to create your cool new feature (see Houseparty or Squadapp), you also need to bootstrap a network so that your users have friends to chat with.

How come I can’t search across all my chat networks instantly?

Why don’t my ‘work’ WhatsApp notifications switch off after 6pm?

Why is there still a risk of losing message history when I switch phones?

How many tabs do I need to have open on my laptop at once just to stay in touch with my friends?

Why can’t I reply by voice to a text from my wife on my Google Home, or an Instagram message while I’m driving?

Compare the speed of chat innovation with email. Front, Superhuman, Inbox (RIP😢), Substack and more continually push boundaries of what is possible with email. It feels like there’s a new email app every week on Product Hunt! On the work chat side, Slack has certainly enabled some great new features with bots and integrations, but switching between workspaces is still a pain.

Most new chat apps die before they build a network. And since all the major networks are closed-source and not federated, it’s hard to hack on top of an existing network and add in just one or two new features. It’s sad that there is nothing like Gmail plugins for WhatsApp. Even Signal, an open-source chat app, enforces a ‘no-federation’ rule — which means that you can’t host your own Signal server and add new features.

Enter the Matrix

A year ago I discovered Matrix. It’s an open-source federated, encrypted and decentralized database protocol. The main use for Matrix is chat, but theoretically it could be used to synchronize any bits of data across a network of federated servers.

Matrix actually caught my attention because it solves the exact problems that I outlined above, without exacerbating everything by creating yet another chat network. See, the Matrix folks know their XKCD. Instead of creating a new siloed chat app, they enabled developers to write ‘bridges’ between Matrix and other chat networks, like Whatsapp, Telegram, Discord, Skype and even more obscure networks like Keybase. Now, instead of keeping 5+ different chat apps open, you can use just one app (Matrix) and talk to friends on their preferred chat network. The other person won’t even know that you’re using Matrix!

Image credit

I had been searching for something like this for years! I loved using Trillian and Meebo back in the day.

When I started getting into Matrix last year bridges were still missing to many networks I used regularly. I wanted to contribute but since my coding abilities peaked on my TI-83 20 years ago I started by funding developers to create open source Matrix bridges to popular chat networks. Bounties start at $500 or more per bridge — I’ve had fun funding the Hangouts, Slack, Instagram, Facebook, Twitter bridges and pressured my friend into building one for WeChat. I still have bounties out for Line, Linkedin, Airbnb, Tinder, Gmail (getting a jump on jwz’s law), Snapchat and more. Ping me @eric:nova.chat!

Image credit

These bridges are actually just an intermediate step. Since Matrix itself is an amazing chat network, eventually as more people start using bridges on Matrix, they’ll notice that their friends are already on Matrix, eliminating the need for bridges gradually over time.

I really believe that the world will be a better place when everyone is in the Matrix. Matrix is the non-proliferation treaty of chat. I think Matrix could form the basis for a true universal communications bus.

The only downside to Matrix is that it’s still very complicated to set up and use with bridges. That’s a pretty big downside! A few Matrix developers and I are working on a way to make it easier to use — we’re building an app called Beeper. Our goal is to make Beeper the best chat client for ambi-social people. Beeper (client) is to Matrix (protocol) as Gmail is to email. Interested?

Life on the UCB

Cool, we’ve started using Matrix and bridged all our chat networks into one client. Now what’s possible?

  • Glorious productivity and time-saving. One desktop client that contains all your chats — no more alt-tabbing between apps and switching slack workspaces. Search across all networks instantly

  • Sort your chats into ‘work’, ‘friends’, ‘family’ regardless of which network they are on. Avoid context switching during the workday, and switch off all work notifications when you need a break.

  • Merge all communication with an individual person into one continuous timeline. I’m excited about this feature. My mom still hasn’t mastered the art of using one communication channel, she prefers to sprinkle messages throughout the week across Whatsapp, SMS and email.

  • Hackable interface on which to experiment and build new chat features. It’s much easier to prototype new features if all your chat messages are in one database. We’re envisioning a plug-in framework allowing Gmail addon-like extensions.

  • Escape Sauron’s eye. Matrix itself is a fantastic chat network. It’s end-to-end encrypted and federated, making it hard to block. The Matrix team is even working on portable identities — don’t like your host? Switch to a different provider. They even have a prototype of a p2p server that runs entirely in your browser.

  • Communicate beyond the display. Networks like Facebook, Instagram and Twitter rely on ad impressions to make money, so there’s little incentive for them to work on devices without a display. Matrix can easily support new platforms like AirPods, Google Assistant and Alexa.

If you’re as interested in chat clients as I am, you should try out Beeper. We built it to solve this problem :)