I feel like compatibility between clients is good, people just aren't used to having independent implementations anymore. It's easy to cook up your own protocol and have compatibility by being the only game in town but if you look at the bigger picture you have just created more fragmentation. We need more instant messaging standardization and XMPP serves an important role as the IETF internet standard for IM.