Compare commits

...

3 Commits

Author SHA1 Message Date
Mike Wilson
96d8afd7a7 Initial drafting 2025-09-18 17:45:52 -04:00
Mike Wilson
384066f2ce Change HTML title 2025-09-18 17:45:26 -04:00
Mike Wilson
cbc1ffb168 Initial drafting for instant messaging blog post 2025-09-18 16:56:38 -04:00
4 changed files with 37 additions and 7 deletions

View File

@@ -1,6 +0,0 @@
+++
title = "My first post"
date = 2019-11-27
+++
This is my first blog post.

View File

@@ -0,0 +1,34 @@
+++
title = "A comparison of various instant messaging solutions"
date = 2025-09-18
+++
As anyone who knows me could tell you, I am a strong proponent of XMPP/Jabber as the best option for modern instant messaging. In discussing it with other people, I've found myself repeating much of the same information regarding the advantages of XMPP, disadvantages of other options such as Matrix and Signal, etc. Now that I've finally set up my personal website, I figured it was a good opportunity to right everything down in one place so I can simply link to this blog post rather than repeating myself.
## Requirements
* As a privacy and free software enthusiast, a good chat service **must** be FOSS. This immediately rules out many of the most popular options such as WhatsApp, Discord, iMessage, Messenger, etc.
* Must be reasonably self hostable. I say reasonably because Signal advocates will often say you can *technically* self host Signal, if you "simply" modify away the Twilio dependencies, modify the clients to connect to your server and distribute your client to all of your contacts, etc.
* Closely tied to the last point, it must support federation. Self hosting without federation can work, but isn't particularly useful at scale.
* Good mobile support with proper offline message archiving, instant notifications, etc
* Must not require [KYC](https://kycnot.me/about#what-is-kyc) to sign up
Despite these requirements, I will still go into detail about some of the options that were ruled out, in case you aren't as rigid on these requirements as I am.
## Feature Overview
As a tl;dr, here's a comparison table. The table is derived from a now defunct page by the [Divested](https://divested.dev/) team. A mirror can be seen [here](https://divestos-archive.codeberg.page/page/messengers.html).
| Name | Jabber/XMPP | Matrix | Signal | Discord | WhatsApp | Telegram |
| ----- | ----------- | ------ | ------ | ------- | -------- | -------- |
| FOSS Client(s) | Yes | Yes | Yes | No | No | Yes |
| FOSS Server | Yes | Yes | Code over wall | No | No | No |
| Federated | Yes | Yes | No | No | No | No |
| E2EE | Yes | Yes | Yes | No | Yes | Only 1:1 chats |
| [KYC](https://kycnot.me/about#what-is-kyc) | No | No | Yes | Yes | Yes | Yes |
## In Depth
### Matrix
Matrix is a federated and self hostable chat protocol, very similar conceptually to XMPP.

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>MyBlog</title>
<title>Mike Wilson</title>
</head>
<body>

View File

@@ -5,6 +5,8 @@
{{ page.title }}
</h1>
<p class="subtitle"><strong>Created: {{ page.date }}</strong></p>
{% if page.updated %}
<p class="subtitle"><strong>Modified: {{ page.updated }}</strong></p>
{% endif %}
{{ page.content | safe }}
{% endblock content %}