Also see https://github.com/redsolution/xabber-android/issues/634
This is not an issue in the existing version - more a proposal how we may get Jabber/XMPP to become a real alternative to WhatsApp, since I fear that people now think WhatsApp is "good" and "secure" as it introduced end-to-end-encryption. But with WhatsApp people are still depending on one single company - Facebook. And this should not continue like this. But just telling people, they should move to Jabber doesn't really help since many users find Jabber too complicated and only suitable for "tech-savvy geeks".
_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 WhatsApp.
_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 (e.h. jabber.org, jabber.de etc.) with a password which is automatically created locally and which can be displayed or saved for later reference. The list of providers could be loaded dynamically from a server (see point 3) where providers could register their service.
2) Detect the local phone number and/or allow the user a way to enter and confirm it manually.
3) Provide an online service for a central registry where the client can send the hash the telephone number together with the Jabber-ID.
4) Offer a function where the use can look up existing (hashed) phone numbers at the central registry to see, if others in his addressbook already use the service and if yes which Jabber-ID they have - so you can easily get in touch with others without the need of manually exchanging Jabber-IDs.
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. To cover the cost for the servers, backup, maintenance etc. one could either rely on donations or ask for a yearly usage fee by the users with the first 1 to 3 months for free - if a user decides not to pay, the registered hash gets locked with a status "user does not want to use the service any longer", so others will not find it any longer. However - communication is still possible, as the central 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.
It's only a very rough proposal and there may still be things I forgot - but what do you think? Does this sound interesting? Did anyone try this yet?
I've been a professional software developer for the last 20+ years (see http://arnowelzel.de/wp/en/about-me). I have experience in Android development as well as in running and maintaining Linux servers (I run my own Jabber server as well as a number of domains and services for friends and family members) - so I can help wherever needed. But I don't want to do this without the support of others.
I agree with you on the more easy registration.
it would be awesome if you could register through the app easy with popular jabber servers.
thats actually a thing conversations could implement. it is partly already, but to choose from popular providers could be a great feature for starters.
the other thing sounds great, but it isnt in scope for conversations i think, thats more a thing you could propose to the jabber server development teams, and the xmpp foundation.
Well - sending a Jabber-ID and a hash of the phone number from the client to a central registry and asking the registry for existing IDs based on phone number hashes is completely "out of band" communication and has nothing to do with XMPP itself. That's why I proposed this here and for Xabber as well. XMPP itself would not be changed in any way.
Of course it would be nice if the servers would handle this registry stuff as well and automatically synchroize their registry data - but then it would take ages before such a system gets distributed, since all servers would have to be extended and all providers would need to update their servers.
Therefore I think the first step to implement a registry which can be used by the clients is much easier and faster.
Telegram and Signal both do not require explicit registeration and they are both an order of magnitude less popular than Whatsapp. Whatsapp is also popular because it got there first, and it gathered a critical mass of people very quickly, and now everyone prefers it because everyone is already using it.
Telegram and Signal are also a closed infrastructure. XMPP is open for everyone. And WhatsApp is only popular in Europe und America. In Asia "QQ Mobile" has also more than 500 mio. users.
And WeChat >500 mil.
So what's you point ? To prevent centralized networks like WhatsApp we should… create a centralized database of JID ? Email is decentralized and we don't need a centralized database to list everyone.
Note that what you are proposing sounds more like an XMPP(?) standard and not a client-specific issue. XMPP clients generally obey the standard and are not expected to implement non-standard stuff. It might be more suitable to discuss this in the XMPP standards mailing list or somewhere similar.
@arnowelzel @licaon-kter I don't see how that refutes my point. I said that easy registeration is not the only factor involved in Whatsapp's popularity.
Ok - so the XMPP standard does not require such a feature, it won't be implemented in the client. Ok, then i'll try to discuss this with the XMPP people. But I think, before such a thing ever becomes part of the standard, Jabber will be dead anyway :-(
@LogicParrot Telegram, WhatsApp and Signal all needs registration to work (there's no black magic in there), the thing is that they are using your phone number as an identifier and create an account on their server using this info. This could be done on a centralized XMPP server (like [email protected]) but will have some drawbacks because of the federated network.
@edhelas: Yes - because without a way of getting in touch with other users in an easy way, Jabber will stay where it is - a niche system only used by tech-savvy geeks and not a popular platform. Jabber itself will still remain decentralized - it's just about adding a feature to the clients to make it easier to find other people you already know without asking them personally one by one. But I undestand that nobody here wants this in a client as long as it is not required by the standard.
E-mail works that way as it is, because it is totally normal to ask others for their e-mail-address. But due to WhatsApp and others it is not normal any longer that you have to ask others for their messenger address. People expect that messengers work as simple as SMS. The point is not to implement another centralized messaging platform - just a registry. Maybe the registry could also be decentralized and servers could handle this on their own. A user sends his hash to the server and says "hey, here I am" and others can ask their own server "who has the hash XY?" - but this would involve a lot of traffic between the servers and eventually a registry cache which gets synchronized would be there anyway.
@arnowelzel No, nobody is doing this in their clients not because it's not in the standard but because no-one wants to be responsible for a database that handle millions of records of personal data (even if you're a "good guy" you can get hacked…)
This is (partially) relevant: https://github.com/kontalk/androidclient/issues/497
@edhelas @iNPUTmice The database is public anyway - a hacker wouldn't gain anything. Just send request for hashes which cover the numbers 0000000000 to 999999999 (or whatever length is possible). But the idea in https://github.com/kontalk/androidclient/issues/497 sounds interesting - e.g. don't use just one phone number but combine your own number with the number of the person you like to reach to get the hash. This requires both people having each other in their address book, but this should be considered as desirable anyway.
The argumentation is complete nonsense, regarding the telephone numbers.
Millions of users are happy adding contacts to Skype and Facebook. Those are not nichr systems. Just because someone had a bad idea once doesn't make it something we need. People should just return to not acting even more stupid than they are.
The reason why people use WhatsApp is because peers told them that they won't talk to them anymore without WhatsApp because SMS is too expensive; the reason why people do not use Jabber is because noone stands up and tells them they won't talk to them anymore because WhatsApp is too insecure.
@Natureshadow Facebook and Skype are not just messengers
Oh - and yes, I stand up and tell people to use Jabber... the usual response: "too complicated - with WhatsApp I don't need to deal with all that technical stuff".
but the technical stuff they have to deal with in my opinion is not putting in the JID they have to aquire, that is a basic concept. to visit someone you have to ask for the adress, to call someone you have to ask for the phone number. and to chat over jabber you have to ask for the JID. thats a concept everyone knows and gets.
so for me jabber/conversations should focus on making the account creation easier, thats actually a good idea, that has very much effect on usability.
partner with a good jabber server provider. put in the JID and Password, show a note that they have to tell people this JID so that they can find them and they can chat.
instead now if you download conversations, you have to first find through other means a jabber server, learn what that actually is and why you need it. then you have to find a server which supports inband registration, and if the one you choose doesnt support it, it gets even more complicated, you have to register on the site, give your email, get a link, activate your account ....... OMG
so for me jabber/conversations should focus on making the account creation easier [...]
then you have to find a server which supports inband registration
That's a valid point at which I also struggled some months ago during starting with conversations and jabber.de and with convincing friends....
Since conversations already supports in-band-registration, one could push this problem is on the servers side. So I talked to the guys from jabber.de why not using in-band-registration and the told me it's because of spam. So I responded: why not using captchas etc. commonly used in internet? Response: Because no client does support in-band-registration with captachas.....
So the rat is biting into her own tale ... (how I would say in german way)
Can @iNPUTmice say anything about this problem? Could conversations implement any captcha-in-band-registration-standard?
And btw.: Yes, I stand up (or keep sitting) and say to my WhatsApping-friends: XMPP+OMEMO or still SMS. (Where it again gets complicated with iOS :-/)
Since I survived 2 years with a smartphone without ANY messanger, I will try to continue this experiment, how many of the friends will follow...
i think captchas are a bad idea, it would be better to implement some key so that only conversation clients could use the in-band-registration at some server, or something like that.
@therob84 I started a similar experiment.
I'm hosting my own xmpp server and create accounts for friends, once I have convinced them to use it to chat with me. Using SMS is expensive for them and/or inconvenient because of the lack of (cheap) voice, image and video messaging.
The interesting thing is: a soon as enough people in this clique had Conversations installed, the convincing got much(!) easier.
Now I even have people saying the want to be a part of it without me pushing them at all.
Lessons learned: you have to reach a critical mass (depending on the target group) and everything will become much easier from then on.
Whatsapp is a standard for the common user, you just need a common application and you're ready to go. In this regard though, the real advantage of Jabber versus Whatsapp is that you are not stuck with only an app on the phone to talk with your contacts, but this is also its drawback, because every platform doesn't communicate well with each other, so you don't have images preview, you don't have a common multi-platform encryption available by default (like now in whatsapp), and overall it's just a mess.
Also you have to consider the look of the client. I find Conversation useful but a little bit ugly with that blank background and square balloons. And what desktop client is good like Telegram? None.
But then again, I consider Telegram way better than whatsapp even if it lacks end-to-end encryption by default, but people don't care, they just want the "standard". It's not a matter of convenience, it's a matter of uniformity.
Another advantage of Jabber could be the performance, maybe? Or is it negligible if compared to whatsapp?
Another advantage of Jabber could be the performance, maybe? Or is it negligible if compared to whatsapp?
@edo44 Have a look at https://github.com/mgp25/Chat-API/wiki/FunXMPP-Protocol
WhatsApp uses a protocol which is a slimmed-down version of XMPP.
@petmue I see.
Also on the desktop side, Gajim (the only decent client at the moment) lacks a lot of useful features like the ability to delete a message locally, the lack of avatars in the chat window and the option to click on them to see the profile, the automatic image preview and the option to save the file without the hassle of an external window to see the progress.
These are all things commonly used in modern chat interfaces and I can't push my friends over a new platform for all these reasons.
I hope one day XMPP clients will allow even video playback on the user interface itself, but I think I'm asking too much at this point, we don't have billionairs behind the project, just people with not a lot of free time. I'm sorry I'm not a programmer so I can't be a lot of help.
Offer to enter an existing account OR to create an account using one of several well known Jabber providers (e.h. jabber.org, jabber.de etc.) with a password which is automatically created locally and which can be displayed or saved for later reference
Conversations 1.12.0 does exactly this. It adds a welcome screen that lets you create an account on conversations.im.
Regarding your other point (central service to store and lookup phone numbers) I would suggest you create an independent project for this so all clients can benefit of it.
Regarding your other point (central service to store and lookup phone numbers) I would suggest you create an independent project for this so all clients can benefit of it.
@arnowelzel is basically talking about something similar to ENUM and should probably just use that instead of reimplementing the wheel.
Unfortunately ENUM seems to have failed on a global scale but there's no reason a dedicated service couldn't be set up and used for XMPP clients if all client developers agreed to use the same one (there are already existing public ENUM services available). Perhaps the XSF could be convinced to run an .e164.xmpp.org zone to store ENUM registrations if there was enough interest.
@arnowelzel and all
How is Quicksy working out for you?
@licaon-kter The quicksy server is not open source and therefore no real alternative to WhatsApp, Line etc.
@arnowelzel that's both "whatabouterism" and "fake news"
https://github.com/iNPUTmice/QuicksyServer
@licaon-kter this article says, the server is not open source: https://www.golem.de/news/quicksy-mit-der-telefonnummer-ins-jabber-netz-1811-137855.html
Thanks for the clarification, that this is not the case.
Anyway - I gave up using Jabber and Quicksy is way too late for me.
@arnowelzel An old article, right...
Not late to come back! ;)
It does not help me, to have a messenger no one else uses. Also the dozens of people I am in contact with need to be convinced to change their messenger. And they have to convince their contacts as well. So in the end many people would either need to run two messengers in parallel to stay in contact or to move to another platform. To stay in touch with my co-workers I use Slack - Conversations or Quicksy is not an alternative to that either.
So - as sad as it sounds - but I believe Jabber/XMPP has lost many users because usability is often considered more important than perfect privacy.
Edit: that's why I suggested adding some usability even though this means giving up some privacy. But this was nearly three(!) years ago. Now WhatsApp, Line and Baidu Messenger are the de-facto standard for the masses and Jabber/XMPP is mostly either protocol used within companies only or for a very limited number of people.
Also the dozens of people I am in contact with need to be convinced to change their messenger. And they have to convince their contacts as well.
I'm pretty sure people were saying this when Whatsapp came, see they had SMS/MMS... they had to install "another app" so on and so forth. That's kinda a moot point.
/LE: Back in 2016 WA was already the standard, I'm not sure anything else changed in the mean time, so to do look at your post today and the first post here, not sure how the 2016-you would answer to the 2018-you. :)
No - when WhatsApp came there was ICQ, Skype, Facebook Messenger (XMPP based), GMX Messenger (XMPP based) etc.. And WhatsApp not only replaced SMS but literally all other messengers as well.
And as the 2018-me I answer: let it be - it's not worth the trouble.
Most helpful comment
The argumentation is complete nonsense, regarding the telephone numbers.
Millions of users are happy adding contacts to Skype and Facebook. Those are not nichr systems. Just because someone had a bad idea once doesn't make it something we need. People should just return to not acting even more stupid than they are.
The reason why people use WhatsApp is because peers told them that they won't talk to them anymore without WhatsApp because SMS is too expensive; the reason why people do not use Jabber is because noone stands up and tells them they won't talk to them anymore because WhatsApp is too insecure.