[jdev] How to make open communication with Jabber more popular

Arno Welzel privat at arnowelzel.de
Wed Apr 13 16:57:50 UTC 2016

Hello everyone,

I suggested the following proposal as a feature in Conversations and
Xabber (see <https://github.com/redsolution/xabber-android/issues/634>,
<https://github.com/siacs/Conversations/issues/1802>) - but some people
suggested it would be better to think about this as a part of XMPP
itself and not to add features to the client which are beyond the standard.

So I do now (with some refinements) ;-).

I run my own Jabber server (based on ejabberd) and I've been using
Jabber for many years now (with Xabber on my Android devices and Pidgin
and Adium on desktops). Also see <http://arnowelzel.de/wp/en/about-me>
if you want to know more about me.

When I noticed that WhatsApp now also has end-to-end-encryption and even
the EFF says that WhatsApp is "secure" (see
<https://www.eff.org/de/node/82654>) I thought that Facebook will
eventually rule the world and either you have use e-mail or WhatsApp
when you want to reach other people... really?

My dream is to have an alternative to WhatsApp which is *not* depending
on a single provider (like WhatsApp, Threema or Signal) but which is
also as easy to install and use as WhatsApp, Threema etc..

What makes WhatsApp so popular?

Well - you don't need to create any account using a username/password
and you don't need to know the account names of your friends - their
phone numbers are enough to check, if they use WhatsApp as well and to
reach them. And as you already have the numbers in your phonebook you
literally can start to chat with your friends instantly after installing

How to achieve the same goal with XMPP/Jabber?

My idea:

1) Offer to enter an existing account OR to create an account using one
of several well known Jabber providers (maybe the ones listed on
<https://xmpp.net/directory.php>) with a password which is automatically
created locally and which can be displayed or saved for later reference
OR can manually be set.

2) Detect the local phone number AND/OR allow the user a way to enter
and confirm it manually.

3) Provide a way to send the hash of the telephone number together with
the Jabber-ID to a central registry OR the selected server which takes
care to handle this data to be synchronized with some kind of central

4) Offer a function which allows to find other users by the hashes for
the existing phone numbers in the addressbook at the central registry OR
by asking the selected server which will then return the Jabber-IDs for
the given hashes if there are any known.

I'm aware, that the central registry may be seen as "evil" - but this
should be implemented as open source and should be run by a non profit
organisation. But technically it is not possible to know if and where
other people have an account with some kind of registry.

To make this clear: the communication itself is still possible without
any central registry. The registry is only needed to find others more
easily, not for the communication itself. Of course you still can
contact Jabber-IDs directly without using a registry server. But in fact
people expect that they can use a messenger without first asking all
their friends for some kind of ID - they already have an ID: the phone
number. So it's just a logic decision to use that for messaging as well.

It's only a very rough proposal and there may still be things I forgot.

Did anyone try this yet?

Kind regards,
Arno Welzel

More information about the JDev mailing list