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.

Website: docs.modernxmpp.org/projects/portability


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.

Software links
Snikket
XMPP account migrator

Technical specifications
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.
  • Developed an independent web migrator prototype in Javascript that allows any XMPP user to convert their account data to and from an XEP-0227 XML file, regardless of server support for the new standard.
  • Added support for exporting and importing user account data in Snikket, a modern open-source self-hostable chat solution based on Prosody and XMPP.

Pitch


Testimonial

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

Team

    Matthew Wild

    Matthew Wild is passionate about open-source and open standards, and has been working on XMPP since 2005. Along the way he has founded multiple projects including Prosody, Snikket and ModernXMPP.


    Entities

    Snikket CIC
    Snikket CIC
    Snikket CIC is a not-for-profit organization working to provide safe and private digital communication software based on open standards.

    snikket.org

    XPORTA