Sure, we have email, but the MS/Google duopoloy has effectively unfederated that, with their inscrutable block lists and nonexistent appeals processes, allegedly in order to protect you from spam.
Sure, XMPP is a thing, which has been mostly dead for well over a decade.
Sure, Matrix is a thing, but every time I look at it, all I see is criticism of its specifications and poor interoperability between implementations?
What would it take to sort out this mess? More money for Matrix or XMPP? Someone with enough clout to promote them? I'm sure organizations like the UN or the EU would, in theory, be in favour of an effective global communicator. But those same organizations would like rail against encryption and decentralisation.
We do not need federated messaging at the consumer app level, we need a replacement that's available at the cellular network level (just like SMS). RCS (https://en.wikipedia.org/wiki/Rich_Communication_Services) is trying to do this, but it might be too little too late.
In practice RCS is entirely run by Google outside China, the path to federation was killed around 2019 when Google decided every MNO should eventually move to Jibe if they wanted access to a global interconnected RCS, same on the client side.
I don't think it's too late as iOS finally supports RCS. But so far Google hasn't shown willingness to let unsanctioned clients connect to Jibe.
And even within the Google ecosystem, RCS access can be iffy. It was working fine on my Pixel for months, then switched its status to "Setting up..." and hasn't worked for months since then, despite me trying All The Things suggested on various fora short of factory resetting my phone.
Jibe is the only RCS backend in 180+ countries. The few MNOs that had deployed third party solutions (mostly from Mavenir and WIT) eventually killed them off once Google made clear they weren't interested in a federated network anymore.
The US was actually the only market where a federated RCS was tried at scale for a few years (the CCMI) but all carriers eventually gave in as the UX was poor and unreliable.
To my knowledge there are only two other non-Jibe RCS "islands": China (that runs RCS solutions from national providers like ZTE) and +Message in Japan. +Message is on its way out, as carriers are now pushing subscribers to Google Messages and Jibe, anticipating the iOS support.
And Apple is in on it: MNOs don't have a choice here, they now need formal agreements with Google (Jibe is paid through RBM revenue share) and IMS configuration and (de)provisioning workflows that are sanctioned by Apple and de facto tested only against Jibe.
Apple's communication around E2EE in UP 3.0 is also directly following Google's work on replacing their ad-hoc Signal implementation by MLS.
Except RCS doesn't work on anything except phones, while XMPP works perfectly fine everywhere. IM was vastly better on computers back when you could use applications like pidgin or kopete.
The time when XMPP was supported by google (and Facebook IIRC?). Running jabber for small groups was pretty simple, and you had Adium and pidgin, both were simple to use and just neat software
The problem is mobile, and specifically the need for push notifications to have reasonable battery life. The traditional model that desktop IM clients use, where they have a permanent connection to the server, is not viable on mobile. But push notifications require you to design your protocol around them and lock you into the corresponding provider (i.e. Google or Apple, depending on the platform).
I'm not familiar with real world home firewall behavior, but shouldn't you be able to leave a TCP connection open/idle with no keepalive for minutes if not hours? I'm skeptical of the battery life argument around notification lockin, particularly when I see how much Android devices light up a pihole.
I don't claim to understand the specifics, but I was a heavy user of custom XMPP clients on early Android phones, and they did require a persistent notification to keep the app (and thus the connection) alive, which did translate to measurable battery impact. My understanding is that the built-in notification manager helps with this by multiplexing and batching everything.
> Sure, Matrix is a thing, but every time I look at it, all I see is criticism of its specifications and poor interoperability between implementations?
Not sure what you're talking about. Everything is working fine for me, and they even conduct a whole conference about it annually: https://2024.matrix.org/
With a large number of clients and servers and the lack of a walled garden (like with Signal), you will always find something non-interoperable. It doesn't mean that you have to use it.
I'm not talking about the client ecosystem. I'm talking about the server ecosystem. There is only one fully-featured one, Synapse, everything else is in Alpha or Beta, feature-incomplete, or abandoned.
When I looked into writing my own implementation, the protocol seemed underspecified to me. "Do what synapse does" seemed to be the concensus.
This was a few years ago, so maybe things have improved. But given that no new feature complete servers have appeared, I doubt it.
Is it really an open ecosystem if there's only one real implementation? Is there really a specification if the reference implementation is the real specification? Do we want to put all of our eggs into one basket? YMMV, but for me the answer to all those questions is "no".
We need to keep trying and support alternative implementations. Fighting complexity with money is like fighting fire with gasoline. It does not work.
But messaging apps are especially tricky to take off, because the most important feature of the messaging app is how many friends already using it. So I don't really believe in independent open-source apps becoming popular. It's always startups, funded with billions, pouring those billions into marketing.
I think the most valid criticism of Matrix for interoperability is that it was promoted as an interoperability standard but it was made incompatible with everything existing at the time. XMPP was based on XML for example, but Matrix is based on json. So by introducing yet another standard, Matrix creates yet another standards fork and dilutes everything that came before.
We have to get to the point where progress in messaging is incremental, not revolutionary.
How do you tell that an open standard is "dead"? There are zillions of XMPP servers around with lots of people quietly using them. For a standard to be "alive" does there have to be a large revenue stream associated with it? Does it need a large commercial entity promoting it?
I think the real problem with Matrix and interoperability is that there is functionally only one server implementation, controlled by one organization. There are more client implementations, but generally if they want to support encryption, they have to depend on one library implementation.
My main gripe with Delta Chat is that it works poorly for groups: it sends an email for each member of the group. This risks your email account being flagged for spam, or at least rate limited.
It's great for direct chats and very small groups.
Building complex apps is hard. User-facing, feature-rich apps--especially so. It takes a lot of engineering effort, but also management (which implies some kind of a corporate structure). Coincidentally, it also doesn't align well with open (or any) standards.
> we have email, but the MS/Google duopoloy has effectively unfederated that, with their inscrutable block lists and nonexistent appeals processes, allegedly in order to protect you from spam.
How much of a problem is personal (!) email being dropped for reasons other than the recipient account not existing realistically?
No deals sending to the same carrier? That is how it initially was in the US. Some of us had unlimited plans but others had like 400 texts a month paying a rate after, but no quota for texts within the carrier network.
The issue with SMS even if unlimited, in Europe a lot of people need to send text messages across borders. EU mandated free roaming, which makes SMS billing under the same pricing conditions when you're roaming but doesn't say anything about sending SMS abroad when you're in your home country. Also what happens if you need to send an SMS to a Swiss or UK number?
While effectively unlimited plans do exist as carriers have stopped caring in multiple countries, this kind of friction pushed everyone to WhatsApp 15 years ago and most people won't bother checking what's included in their plan. Remember they're very cheap compared to the US, I know people paying 5€/month.
Additionally there's also the immigrant population that need to communicate with their relatives back home on other continents.
I’m surprised there wasn’t competition to deliver a better product from the telecoms. That is how we got unlimited texting and the early unlimited data plans in the US. Carrier arms race. They sure would have liked to nickel and dime but saw competition as more valuable.
RCS should have been that, but WhatsApp came out in 2009 and by 2010/2011 it was already game over in most of the world once cheaper Android smartphones became broadly available. At this point carriers' focus had shifted to data and the most pressing issue was starting the 4G rollout.
No wonder Google eventually took the RCS matter in their own hands, there was way too little incentive otherwise.
Sure, we have email, but the MS/Google duopoloy has effectively unfederated that, with their inscrutable block lists and nonexistent appeals processes, allegedly in order to protect you from spam.
Sure, XMPP is a thing, which has been mostly dead for well over a decade.
Sure, Matrix is a thing, but every time I look at it, all I see is criticism of its specifications and poor interoperability between implementations?
What would it take to sort out this mess? More money for Matrix or XMPP? Someone with enough clout to promote them? I'm sure organizations like the UN or the EU would, in theory, be in favour of an effective global communicator. But those same organizations would like rail against encryption and decentralisation.