One of the priority features that were voted on for Prav is custom username support. This was supposed to be implemented before our Public Beta launch, but was delayed as we could not find anyone to work on it. We are now in touch with a company, Softrate India, who has agreed to take this on, but we need your help raising funds amounting to 23,000 INR (~300 USD).
The Softrate team has already started working on this, so if we meet our goals we will hopefully see custom username support come to Prav very soon!
What is this “custom username” we are supporting?
Currently, Prav addresses are of the format phonenumber@prav.app, e.g. +919876543210@prav.app. That means anyone who can see your XMPP address (i.e. your XMPP contacts, admins of public channels, and members of private group chats) have knowledge of your phone number.
Our planned custom username feature in Prav will allow users to optionally choose a username instead of a phone number, creating an XMPP address that looks like username@prav.app.
Contact discovery using the phone address book will still work after choosing a username, thanks to the XMPP address ⟷ phone number directory which Prav inherits from Quicksy.
This directory already allows users to link any XMPP address to a phone number, and lets users look up the XMPP address associated with a phone number (but not the other way round).
Why is this important?
By default, your phone number becomes your username, but this means it gets exposed publicly in contexts you might not want:
- In private group chats, everyone in the group chat will be able to see your phone number;
- In public channels, where admins are allowed to see everyone’s XMPP address, they too will be able to see your phone number;
- When connecting to IRC via a Biboumi bridge, your username (and therefore your phone number) is exposed;
- When connecting to a Matrix room via Bifrost bridge portal rooms, you phone number is exposed; (plumbed rooms don’t have this problem)
- If you want to text someone who doesn’t already have your phone number, you’ll end up sharing your phone number with them;
- Even if your full XMPP address is not exposed, you have to set a nickname globally or on a per-group basis. Some clients default to using the beginning of your XMPP address as a nickname - which is currently your phone number.
We are seeing similar problems being addressed by other messaging services too - Telegram gives the option to set a username instead of sharing their phone number with contacts, and Signal also recently added this feature.
If it’s so important, why are we keeping it optional?
While setting a custom username is a privacy boost, it adds an extra step to the signup process. People who are not likely to join public groups or don’t mind their phone number exposed may still prefer less steps to get started.
A greater potential problem is that people are used to connecting to each other by sharing their phone number. If they set a custom username, they can still connect to other Prav users through their phone number thanks to contact discovery. However, users of other XMPP apps and services will require a username in order to get connected. So Prav users who opt for this would have to get used to sharing their full XMPP id rather than their phone number.
Since this is a new and crucial change, we feel it’s important to test this in the field before making it the default. Depending on how people end up using to this option, and based on their feedback, we can revisit this decision later (and possibly make this the default).