About the project
Project Name: XMPP Account Portability
Improving access and portability of XMPP accounts between providers.
Team: Matthew Wild
The XMPP Account Portability project will develop a solution for people to export and migrate their account data easily between XMPP services, regardless of where or by whom they are being hosted.
Achievements from the first phase of the DAPSI programme
During the first phase of DAPSI we created, updated and published protocols and data formats that allow users to export, import and migrate their data between XMPP services. XMPP is an open standard internet protocol, that allows real-time communication interoperability between services.
Thanks to our work during the first phase of our DAPSI-funded project, there now exist formats, protocols and tools that allow users to migrate their entire account and contact list between XMPP services without losing touch with their contacts.
To help bootstrap initial adoption, we built a prototype web-based migration tool to allow users to download and migrate data from XMPP accounts without installing any software, or requiring cooperation from their XMPP service provider.
This migrator has already been successfully used by users migrating away from the Germany-based Blabber.im messaging service, which held around 7000 active users and announced its intent to shut down at the end of June 2021. Using our migration tool, people were able to export their account data and move to alternative services before the Blabber.im service shut down in July 2021.
During phase 2 we aim to integrate support for migration directly into our primary product, Snikket – an open-source privacy-conscious communication solution for families, clubs and small organizations. Through this work we aim to make account migration not only possible, but easy and accessible to all users at all times. We believe that migration of data between providers should not be limited to urgent situations like the one presented above, but accepted as a commonplace activity whenever it is desired.
– XMPP account migrator
These are the technical documents within which our data format and protocol work was published. They describe the standard data formats and protocols that allow users to seamlessly export, import and migrate their data.
– XEP-0227: Portable Import/Export Format for XMPP-IM Servers
– XEP-0283: Moved
Achievements from the second phase of the DAPSI programme
During the second phase of DAPSI we worked to integrate support for migration directly into our primary product, Snikket – an open-source privacy-conscious communication solution for families, clubs and small organizations. Through this work we aim to make account migration not only possible, but easy and accessible to all users at all times. We believe that migration of data between providers should not be limited to urgent situations like the one described previously, but accepted as a commonplace activity whenever it is desired.
To achieve our goals, we implemented our new standards in the open-source XMPP server ‘Prosody’. Secondly we built a friendly user interface in Snikket to access it and allow users to export and import their account data in the self-service account dashboard.
We also witnessed the implementation of our new standards in other XMPP implementations, notably the open-source server ‘ejabberd’.
In summary, through DAPSI we:
- Developed and published new standard data formats and protocols for account portability in XMPP.
- Implemented support for these formats and protocols in Prosody, a widely deployed XMPP protocol server.
- Tested interoperability of our implementation with an independent implementation (ejabberd) of the standards we developed.
- Added support for exporting and importing user account data in Snikket, a modern open-source self-hostable chat solution based on Prosody and XMPP.
Account migration and data portability was on our product roadmap from the beginning of the Snikket project. However, we are an early-stage not-for-profit start-up. The funding from DAPSI was what enabled us to actually work on this feature so rapidly this year in our open-source software, and publish open standards that benefit the broader community and ecosystem. Combined with the valuable business coaching also provided, we’ve seen the project grow significantly. Participation in DAPSI has been a great boost for our project!Matthew Wild