Recently I was locked out of my own Ghost blog platform because they decided they were going to add Email 2FA. I also cannot add any other authors because that requires email verification.
Today I was looking at installing Bonfire and came across this:
Bonfire requires working email for user signups, password resets, and notifications. Most installations will need email configuration before the instance is usable.
Setting up email is a pain in the ass, costs money, is dependent on 3rd parties, violates privacy, and is just completely unnecessary. Why wouldn’t you give users the option to not use it? It’s infuriating!


XMPP? Matrix?
Why do I need a messaging system in the first place?
XMPP and Matrix are not near universal.
Most people have no idea about that the hell the first one is, and are even more confused as to why you start talking about a movie when you just complained about email.
How are they not universal?
Most people have no idea they exist.
That is my point.
If you write software, and need a way for it communicate with the user outside of the app, implementing email is simple, just about everyone with internet access has an email address and it is free.
XMPP/Matrix is a lot of added work that will only benefit those who:
I think you will find that the groups of persons who all three critera fits is vanishingly small.
So, please tell me why a developer should focus their time doing that rather than building the core features of the app.
EDIT:
I write this as someone who has used Jabber/XMPP and Matrix in the past, they are great services and I wish they had a longer reach. This is not a hill for you to die on.
It’s a whole lot less work than configuring email.
How much work do you think it is to add a toggle that makes email optional?
It’s a crapload more work to support XMPP/Matrix/whatever messaging on any platform than just using a robust, reliable, resilient, widely supported good old SMTP. For you it might be easier to input your account (which at least on XMPP resemble quite a bit of email address) but for the developer it’s totally different thing. Also practically everyone accessing a website has an email address and if they’d decide to support some mesaging platform it’d make more sense to use whatsapp than XMPP since it’s vastly more popular.
For the minimal of sending out a message to their accounts, they are just as easy as each other. Heck, there are simple packages to send XMPP messages from the CLI.
It’s absolutely not.
It’d make far less sense considering both the fact that it’s a Meta-owned proprietary data collection and advertising product, and also that they simply don’t support such a functionality.
And you know this since you’ve written code to manage both on different environments, right?
Also, whatsapp supports all kinds of “bots” and it has absolutely massive userspace compared to pretty much any other instant message application. It doesn’t matter if you create the perfect protocol and platform for this kind of thing if there’s 7 people globally using it.
You don’t have to write code to configure Matrix/XMPP.
You keep saying this as if user adoption is the only thing that matters. 99% of self-hosted stuff has tiny “userspace” so I don’t know what you’re on about.
That’s cute, but very much a bubble view. Usually not worth the effort unless the devs themselves are users.
You might not need one, but the majority of users want and/or need one for user management, password reset, notifications etc.
And it is being developed for the majority of users.
Is it too much to ask for self-hosted users/developers to use something slightly more modern, convenient, and easier to implement? Or to simply make it optional? As long as it’s not even an option we’re pretty much doomed to the dinosaur-era of internetting permanently.