I was a weird XMPP nerd in high school and tried to switch friends from AIM. So here's my experience.
* Onboarding was difficult. There was no obvious choice of server or client to use.
* Adding friends was difficult. You needed to send a subscription request to a contact, and they needed to send one to you. If anything happened during this process, you couldn't chat.
* Popular XMPP clients, like Pidgin, also supported the other chat services (AIM, ICQ, MSN, Yahoo, etc) so people just continued using those.
* Network effect. You need to convince a mass of people its better, otherwise nobody's using it because no-one uses it.
* No obvious benefit to the user. It's decentralized sure, but there weren't many improvements over AIM that people actually used.
* A lack of good iPhone XMPP clients.
In 2005 Google added XMPP support to Google Talk/GMail Chat and they were federated, but nobody federated back and they closed off its successor (Hangouts).
* Onboarding was difficult. There was no obvious choice of server or client to use.
* Adding friends was difficult. You needed to send a subscription request to a contact, and they needed to send one to you. If anything happened during this process, you couldn't chat.
* Popular XMPP clients, like Pidgin, also supported the other chat services (AIM, ICQ, MSN, Yahoo, etc) so people just continued using those.
* Network effect. You need to convince a mass of people its better, otherwise nobody's using it because no-one uses it.
* No obvious benefit to the user. It's decentralized sure, but there weren't many improvements over AIM that people actually used.
* A lack of good iPhone XMPP clients.
In 2005 Google added XMPP support to Google Talk/GMail Chat and they were federated, but nobody federated back and they closed off its successor (Hangouts).