Easy Onboarding

From XMPP WIKI
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This page is about streamlining the First-time User Experience for newcomers to XMPP. It is aimed as a cheat sheet for XMPP client developers but also a discussion area for inventing new exciting XMPP protocols to make onboarding easier.

Classic XMPP Onboarding Challenges

When a new user approaches XMPP, they typically only have a JID of a friend they want to talk to. They need to complete the following challenges

  1. Find a suitable XMPP client: there is a huge number of XMPP clients for most platforms, however only a small subset of those are still maintained or actually support modern features.
  2. Install the client: that can be a challenge of its own.
  3. Choose a server: servers are located in different legislations, have varying terms of service and support more or less of the modern extensions that are needed for a flawless operation. But in the end, it is all about a funny sounding domain name.
  4. Create an account: some servers allow in-band-registration from the client, with others you need to use a web form that you need to google first.
  5. Add your friend: through the client UI, you need to enter the JID of your friend and wait for their approval.

Possible Optimizations

  1. Suitable client: We need a shortlist of recommended clients per platform.
  2. Installation: provide ready-built packages with integrated automatic updates
  3. Server selection: we need to create a public list of XMPP servers, with their respective XEP support, and possibly also uptime statistics. Or we just hardcode a default server into each client.
  4. Account creation: much can be done to improve the UX.
  5. Adding friends: there is PARS and mod_invite and plenty of potential for more.

Ideal Future

  1. The newcomer receives an invitation link similar to https://yax.im/i/#friend@domain.com
  2. The link opens a generic landing page with a short explanation and suggested clients for the newcomer's platform
  3. The client can be installed / opened easily, and starts with an onboarding wizard
  4. The onboarding wizard provides a way to enter a favorite nickname and puts everything else into advanced prefs
  5. The onboarding wizard auto-adds the friend who initiated the invitation