My reasons for using emails instead other systems:

  • Decentralized, I run my own mail server
  • Open and free
  • There are many clients with many user interface styles: computers: outlooks, thunderbird..., mobiles:android, mail in iOS, web: nextcloud client, terminals: mutt, alpine...
  • Private, the messages are sent over encrypted channels between trusted servers, the messages themselves can be encrypted and sent through untrusted servers. More about messaging privacy and How I keep my privacy
  • Instant delivery: mails are delivered within seconds. It is also asynchonous and the destination can be offline for days.
  • Enables group chating with threads
  • Ubiquitous, I can interact with anybody with an email address
  • Mailing list are very good for forum discussions with many people
  • I can organize the messages in anyway I want, most often automatically with filters
  • I can have multiple account and multiple addresses (aliases)
  • Email software is lightweight and emails are simple plaintext
  • Handle large volume of messages
  • Easy to send emails from tools like: jira, redmine, gerrit, jenkins, scripts, command line...
  • It is easy to archive mails for long period of time, I save my emails in the maildir format (one file per email) and use notmuch for searching my mails
  • Mail are simple text, it is easy to search in the archive
  • Many clients allow organizing the mails in a tree like the file systems
  • Easy to send messages from command line, for example: send status from development tool, I have created lots of tools that send emails to me automatically
  • Fast, there are even chat applications using email like deltachat
  • Can use syntax highligting on the messages

Some drawbacks:

  • Spam, mitigated by spam blockers and filters, I keep the mails from my contact list in my inbox and other mails are moved to another folder
  • People change email overtime, losing contact. This is like other communication systems
  • When new people join or are added to a group, they don't get the history of the group unless it is mailing list with a public archive
  • Large attachments are limited. I propose to split large attachments in multiple mails
  • No invisible emoji reactions. Clients can add support for this
  • No voice chat or video chat. Clients can add voice and video services
  • Delivery is unreliable, the sender doesn't know if the message has been received. Client can send a received message
  • Leaks metadata. The metadata can be stored in the encrypted part of the message
  • Lacks identity authentication

Running my own email server doesn't take a lot of time. I installed it in 2019 and since then I didn't need to do any maintenance. Delivery to major email services is good: gmail, microsoft, yahoo.

Why not use Matrix?

  • The clients and servers are heavy, not efficient
  • Can't organize messages easily
  • Can't handle high volume
  • Specification is too big and not stable
  • The system is too complex and getting even more complex since p2p will be added soon
  • Open source but the development requires lots of financial resources
  • Search is bad
  • Missing spam filtering
  • There is no terminal client
  • The client user interfaces are slow