I mean, there was a while there where XMPP-based and federated chat clients (particularly google chat, along with early facebook messenger) were becoming dominant, and were widely used by "normal people" without even knowing it was a thing.
So I don't think "it's impossible to make a non-shitty federated client" is really a valid argument. That's not to dispute real problems with wide-open federation or XMPP, because they absolutely exist, just that "the clients are hard to use" seems more an artifact of the resources of the people making them than anything to do with technical merit.