When it comes to social media software, people care about two tightly-coupled things: if the people they need to talk to can be reached with it, and if the UX is good. (People abandoned IRC because its UX, which was never good, degraded to unusability in a multi-device not-always-online embedded-media world.)
But there's nothing about federation that inherently requires bad UX. But federation generally means open-source (because there's no market pressure for interoperability), and open-source means bad UX. Mastodon owes 80% of its success to having been principally developed by somebody who knows how to make a goddamned webpage. The other 20% is that it's pretty easy to host.
I think the really interesting takeaway is that the giants only don't support interoperability because they have a monopoly on good UX. If something highly usable and open-source appeared in the chat space and started gaining serious traction, the enterprise players would have to entertain the notion of playing ball and supporting the protocol – and if one of them did it, the rest would follow.
(Most) Users won't care whether or not they are using something decentralized, they only care what they can achievement with that software/service. Is it doing better than others on the market?
Back to the topic, about why Slack defeated IRC & XMPP: A product -- whether or not it's a online service or a hardware -- needs to keep up with the world. For example: If one day, people started to sharing photos and videos and voices during their online chat session, and your software can't keep up with that, then you will likely loose those people soon enough.
Currently, centralized software made upgrading very easy. You have all the control you need to force users to upgrade to your newer and richer client. While in the decentralized world, you may need to beg somebody to upgrade their server to support the newer version of your client (Due to that, you may not dare to upgrade your product that often).
Also, decentralized software usually hard to develop, while harder to generate enough revenue to be commercialized or be profitable. When clever people needs to survive, they will save the trouble and feed themselves (make money) first.
I'm not saying work on something decentralized is a bad idea though, we need decentralized service in today's very centralized world for sure. But make sure you can deliver the same level of experience (or be better) of your centralized competitors, then maybe people will start to use it.
This is a good point, and it is demonstrably the case even among cryptocurrency users who have a coinbase wallet. Coinbase is not decentralized, and for a lot of users this is actually a nice feature because you can transfer BTC balance from one coinbase user to another without incurring any miner fee or waiting a long time for confirmations.
If most people who wanted to use bitcoin actually cared about decentralization, coinbase (and other similar services) would have virtually no users.
Or maybe Bitcoin isn't good enough just yet (e.g. Lightning)?
Hm ... does IRC count as federated?
> XMPP left by the wayside by Google and Facebook?
Google and Facebook want to lock you into their ecosystem, that's why they dropped federation.
Give me a few thousand developers, a multi billion dollar ad budget, and the ability to signup every facebook user on the planet to my messaging service, and I'll also win against XMPP. In fact, with those resources carrier pidgeons would've won against XMPP.
Slack was a side project by a failing game company. Its growth was largely organic.
I think the original premise is right that user experience is more important than ethics or philosophy or whatever the heck it is we're talking about when federations come up
And it's the real issue — not enough people contributing.