Many people may not think much about how they are communicating with each other over the internet, since most humans are using popular “
social ad networks” and all kinds of popular messengers already. What they may not realize is that these services are trade-based. Facebook, WhatsApp, Zoom, Skype and the like want something from the users: be it currency, data, or attention (ads). Therefore the communication between people is made at the expense of such trades. This is an issue since the companies behind these tools are more incentivized to get something back from the users rather than provide them with a private, secure and feature rich communication tool. But, are there alternatives to this? Are there trade-free tools to communicate with anyone around the world?
Communication means text, emoji, gifs, group chats, video and audio, or even screen-sharing. So, a lot of tools. The problem with communication is that you may need some central point to receive and deliver messages. Let me quickly explain:
Ana wants to communicate with Bubu. Send text, or images, or voice/video chat, and such. They are half a world apart. They have an internet connection. How can they find each other and exchange information?
If they would use a trade-based service like Facebook, then all they need is a browser (think of it as an “app”), visit a specific website (like facebook.com), register an account with Facebook, and then they can search for each other using the Facebook search for example. They will need a unique ID on that network, so Ana cannot choose her username as “Ana” since someone else has it, therefore she will choose Ana_Banana_Mau. Same for “Bubu”. Her ID is then easier for Bubu to find on Facebook. Ana will also be given a unique URL, something like facebook.com/Aba_Banana_Mau. Now Ana can connect with Bubu via this centralized platform by using an app (a browser) + an account. All the messages, photos, and such that they send to each other are stored on Facebook’s servers, then delivered to the other one. When Ana sends her private thoughts and photos to Bubu, she first sends them to Facebook, Facebook stores them, then they send them to Bubu.
Even if the messages are encrypted, Facebook has the power to still collect data about the users (when they send the messages, from where, and such); Facebook still has the power to insert ads into the messenger; Facebook has to power to force users to pay for this service, and such. That’s because Facebook is the central point and such a great power comes with a great incentive for coercion and abuse. Also, relying on a single central point means that if Facebook disappears, all that Ana and Bubu talked to each other and sent to each other will be lost. Forever.
But we need such “servers” like Facebook to enable communication, else Ana and Bubu cannot find each other in this great sea of Internet. Facebook wants user’s attention (ads), and data in order to let them use their Facebook service to communicate. Facebook can also censor and limit what users share with each other. Therefore Facebook is a trade-based communication tool. Users trade their privacy and data, their attention, and are subject to limitations in terms of communication. WhatsApp, Telagram, Zoom, and pretty much most of these popular communication platforms are trade-based. WhatsApp collects data, Telegram can censor content, Zoom limits you unless you pay them, and so forth.
To reduce the risk of a centralized power grabbing service, we can create “nodes”. Nodes are like servers, but multiple of, and independent. At times nodes can be other users. Let me explain:
LEVEL 1: A GOOD FACEBOOK
Although multiple nodes seem like an excellent solution, there are trade-free communication tools that rely on a central point (server). If these services are supported by donations and they do not have a business model, then it is likely for them to be trade-free. One such example is Signal Messenger that relies on a central server, yet they do not want any trades from the users: no ads, no premium features, no artificial limitations except (perhaps) technical limitations. What Ana and Bubu need is a phone number to create an account with Signal, so that they can find each other and communicate. In this regard Signal is the same as Facebook, only that it is a “good” Facebook that wants no trades from the users. The messages between the Signal users are stored on a central server, but they are encrypted so Signal cannot know what users are doing. Therefore, they cannot censor any content or interfere with the communication between the two.
If the organization behind Signal gets into financial problems, then it is possible for them to push trades to users such as ads, data collection, premium features and the like. Relying on a centralized system can be a weak foundation for a communication platform. However, as long as the service remains trade-free, then it should not matter how that is achieved.
LEVEL 2: MULTIPLE SIGNALS
Ana and Bubu want to communicate with each other. To do that, they use a browser or a messaging application that, at its core, is set up to connect not with one central point like Signal, but to multiple of. Imagine many Signal’s independent of each other. So, say Ana and Bubu use the browser to visit the www.riot.im/app website. Similar to facebook.com, this website allows users to register with a unique ID. Ana and Bubu register. Then they share their ID’s with each other either by using another way of communication (say email or phone) or searching for their usernames in the Riot’s database. In this regards Riot is very similar to Facebook or Signal.
The main difference is that Riot is based on a technology called [matrix] and this [matrix], to put it simply, allows for many clones of Riot anywhere in the world. Ana’s and Bubu’s accounts do not belong to Riot, but to the [matrix] network that Riot is built upon. Therefore if Ana wants to use another messaging app like Fractal, and not Riot, she can install Fractal and log in with the same username and password. Riot is like the shell, and [matrix] is the core. You can change both. If Fractal does not support video calls, then maybe Riot does, so the user can choose what to use. If one has limitations, then other may not. Alternatively you can change the core. Riot promotes their own [matrix] server (matrix.org) to register with. The registration is trade-free it seems. Ana registers there but when she logs in with her ID through Riot, she sees that Riot pushes a notification about the matrix.org paid-service “modular“. She hates ads and such an approach, so she decides to use another free [matrix] server from the many lists available online. She registers with converser.eu and gets rid of that annoying ad, yet having access to the same features through Riot as before. Again, she uses the same Riot messenger but a different “node”. If Ana has the knowledge, she can create her own server (node) and host her own [matrix] so that she makes her own rules, and she can use Riot, Fractal or any other messaging app together with her own [matrix] server. Ana and Bubu have a much greater choice in terms of how to communicate online.
LEVEL 2 communication tool is great. It allows us to choose our “signal”. Variations of such protocols allow for users registered to on server to communicate with users from another server. So Ana and Bubu do not have to register with the same server. And the fact that users with experience can create their own servers means that the power is distributed so no central server can decide and govern over users. Since the LEVEL 2 communication relies on hopping from one node to another, and choosing between this and that, it can become a bit cumbersome for some users. Changing Riot with Fractal, the shell, is super easy, but changing the shell means you have to export your settings (if possible), from one node, and move to another.
LEVEL 3: A HOME MATRIX
What if instead of relying on nodes to register and manage the communication, we only use nodes to connect people and all of the hard work is done on people’s computers? LEVEL 3 is the best, easiest and the most robust trade-free of them all. Ana wants to talk to Bubu. They only need to install an application and register locally, on their computer (choose an username), and then share the uniquely created ID with the other one. That’s it. Now they are connected. But how?
When Ana writes a message to Bubu, her message (encrypted) jumps to all kinds of nodes, such as other users, or servers, that only connect the two. They do not and cannot store anything more than that. They are the phone lines between phones. And the fact that there are so many and randomly distributed around the world, it means that it is nearly impossible to cut the connection between Ana and Bubu. It also means that their communication cannot be censored or limited in any way. Ana can send as many photos and messages to Bubu as she wants. They can video call as much as they want. They can talk for as long as they want and whenever they want. And they also act as nodes. So the more people that join this network, the better. Beautiful. Distributed. Decentralized. Private. Robust. Local. Yours.
The downside of such a system is that the connection, at times, can be slow. Also, if Ana sends a message to Bubu then she goes offline, and Bubu is also offline, when Bubu returns back online he won’t see the message, since the message is hosted on Ana’s computer only. Bubu will receive the message when Ana comes back online. There are ways in this LEVEL 3 communication for messages to be stored by these random nodes and delivered even if the sender is not online anymore. The good part is that conversations are stored locally so no one can remove them, but you. In all, this level seems to be the best one so far. At LEVEL 3, Ana and Bubu can truly communicate trade-free, without any artificial restriction in place.
Trade Free alternatives
To sort out the trade-free apps that we will recommend, we will rely on the LEVELS of communication and 4 core features to showcase the usefulness of these trade-free apps (needless to say all of these applications use encryption – we are also going to ignore all email clients since they require you to have an account somewhere else, probably trade-based):
qTox is installed as default in TROMjaro for a reason: because it is the most complete of them all and the most trade-free of them all. You can easily create a local account and share it with your friends. Create group chats, send files of any size, do audio/video calls (although it does not support screen sharing), and more. It looks like a normal messenger, it works like a normal messenger, yet it is is fully decentralized and trade-free. It is yours, and you control it.
Signal Messenger is, for now, mainly meant for mobile. The desktop application only works in tandem with the mobile one, but we thought it is worth mentioning that such an app exists. On desktop one can send as many files as they want (however they are limited in terms of file-size), preview files in the app, send encrypted messages, emjoi and stickers, and more. However the desktop app does not allow for audio/video calls and group chats have limited function. In this sense Signal is simply a text-based companion app to communicate.
On Riot you can organize teams, voice/video chat in a decent way, and the text-based communication is very rich in terms of features. It allows the integration of a variety of tools such as document sharing, bots, public chats, and more. Riot, depending on the [matrix] server one uses, will have a file-size limit in terms of file sharing – a technical limitation being based on centralized servers. Overall Riot is one of the most complete and modern messengers out there.
Fractal is a very simplified version of Riot that is mainly geared for text-based communication. In a way, it makes communication of this kind better by removing most of the options you’ll see in Riot, allowing users to fully focus on the conversation itself. It does not provide audio/video chats, and same as Riot, it has a file-size cap for file sharing.
Jitsi is entirely focused on audio/video chats despite it providing a text-based chat for the participants. In terms of audio/video chatting Jitsi is the gold standard of trade-free applications. It allows as many participants as you want and great control over the audio/video stream. One can stream live these meetings or record them. You can also share your screen (per window, per monitor, or the entire desktop). Anyone can install Jitsi on their own server, or simply use public instances. Jitsi requires no account and the conversations are encrypted.
Cabal relies entirely on multiple nodes to create streams of communication. It is very easy to set up and use. Perhaps too simplistic. For basic communication (text) and group chats, Cabal does a good job. It does not support video/audio calls or file sharing. Therefore if you only want to text with your friends, then Cabal is perhaps the easiest to use and set up.
RetroShare provides perhaps the most complete suite of decentralized communication tools out there: chat, group chats, email, forum, channels, or advanced file sharing (with synchronization and all). It does support audio/video chat but it is experimental, very difficult to setup, and not reliable. You can organize teams with RetroShare in a very easy manner, and share as many files and folders with your friends as you want.
This is a very simple IRC (chat) app. Text based and channel oriented. Very simple, maybe too simple. It is a bit more complicated to understand how to connect with Ana, but once is done it is a simple chat messenger.
Jami is one of the best trade-free messaging apps as it is fully decentralized, it supports audio/video and file sharing, and it is very easy to use. It is true, it is not geared towards group-chats, but it does support video/audio calls between multiple peers. It is modern looking too.
Yet another Matrix client. This one does not support video/audio calls but the interface is very simple and cute. Group chats and file transfer are supported.
This article will be updated from time to time to add new apps to the list.