Also chat users care more about GIFs than security.
So the product better be good.
Also chat users care more about GIFs than security.
So the product better be good.
To eliminate the "argh, what server?" step we focus on invites which guide you through the process, and ensure you have an initial contact or group, not an empty contact list.
I tested it on many people while working on it. The vast majority (with no familiarity with XMPP or decentralized systems) were signed up in just a couple of minutes.
Invites seems overly complicated. Can you make it 1 question? what's your email address?
Then you just sign them up for a server and tell them after the fact, hey look, you are all setup with server SpiffyXMPPServer Tell your friends to contact you at: <full xmpp address here>
The idea behind Snikket (as I understand it) is more along the lines of having a tech-savvy person in your environment who’ll set up a Snikket instance for you and where they all invite the folks important to them.
That means reduced centralisation while providing a lean user experience. The invites are (especially on android) super low-friction (you are presented with a nearly-complete signup after app install; you only have to enter a username (not a domain name, that’s included in the invite; just a username)).
Thanks to being federated with the entire XMPP ecosystem, it can still interoperate with users who are on Quicksy or any other XMPP service out there, which is nice.
I think an invite-based approach is a good middle-way to avoid encouraging centralisation (think matrix.org, jabber.org, or worse) and keeping the onboarding friction as low as possible.
The problem with just a username, is that's not what you need to converse with ANYONE in XMPP land, you need the full XMPP address, and last I checked, no client makes that easy for you to figure out. The full XMPP address should be easy to find as that's what you actually need. Just a username doesn't work, give up on only a username being all you need, it isn't.
I think doing invites from a tech savvy snikket server instance makes sense FOR THAT USE CASE.
For Tito's Grandma, where Tito & Grandma are not tech savvy people.. that's not easy. Tito gets setup on server Y and Grandma gets setup on server Z, and neither of them can talk to each other because the client only shows the 'username'.
Again, I haven't knowingly used Snikket, but last time I played in XMPP, it was non-trivial, even for a tech savvy person.
Other parts of the XMPP ecosystem also have easy invites that can be shared via QR code, SMS or any other messenger. Example: https://yax.im/i/#user@example.com or https://conversations.im/i/user@example.com See also https://yaxim.org/blog/2020/01/31/yaxim-0-dot-9-9-fosdem-edi...
Also worth mentioning, when you have privacy in mind, Jabber/XMPP is very easy to join as most operators don't have any problem with Tor users, and Tor support (also other proxies) is well supported in most clients.
This is why it is so important that the devs care about the security and just make it part of the app without needing the user to do anything other than use the app.