For protocol info, see http://matrix.org
For seeing how it works, check out https://riot.im (only one of the numerous federated home servers, and only one of the chat clients). Or, better yet, host your own home (public or private) server across the matrix network! ;-)
XMPP was created for and by geeks who roam from workstation to workstation, not people who need to preserve history and state while using multiple devices at the same time under spotty connectivity.
Google Allo is launched in late 2016 and it is strictly bound to single device. This is marketed as feature, because only geeks and rocket engineers use workstations, normies do internets on cellphone (and only terrorists and drug dealers have more than one cellphone).