I want a decentralized messenger which can delete msgs and sync between devices
5 comments
To all the commenters who are complaining about item no. 6, remote message deletion: Yes, of course you cannot be sure that the message is actually deleted. But in my case I usually trust the receivers not to be evil, but I do not trust them to be exceedingly careful or infallible. Therefore said feature would protect messages in case their phone gets lost at some point in the future later than the expiry, or in case some third party gets access to their phone in any other way.
> Moreover, delete both for me and for my contact. Is that too much to ask?
Keybase chat allows you to delete messages on both yours and the recipient's side after a set time limit.
If this feature made it to any open-source or public protocols, it'd be pretty much impossible to guarantee that your message is actually deleted on the recipient's side. Someone could always make a 3rd party client that ignores the request. Or a user could just take a screenshot/etc.
I didn't see you mention it, so I'd recommend looking at Matrix / Element. It's decentralized in the way that e-mail is decentralized. It's federated and allows e2e.
https://matrix.org/
https://element.io/
If this feature made it to any open-source or public protocols, it'd be pretty much impossible to guarantee that your message is actually deleted on the recipient's side. Someone could always make a 3rd party client that ignores the request. Or a user could just take a screenshot/etc.
I didn't see you mention it, so I'd recommend looking at Matrix / Element. It's decentralized in the way that e-mail is decentralized. It's federated and allows e2e.
https://matrix.org/
https://element.io/
I'm not sure how it works but xmpp with the conversations client has that feature. After sending a message you can edit it to anything or nothing. I don't know of other clients that support that, and obviously someone could have a client that doesn't support it and then they will still see your message. But I think that is the closest you'll get.
> 6. In it you can delete messages. And both your own and your contact's messages. On all devices simultaneously.
Note that the other person may have used a camera to take the photo of the message, and printed it in paper. For important things, assume that the "delete" button is just a "hide" button.
Note that the other person may have used a camera to take the photo of the message, and printed it in paper. For important things, assume that the "delete" button is just a "hide" button.
As it was already mentioned, such system is not able to provide guarantee, that your peer would not find a way to preserve a message.
Also such system already exists - email.
Check delta chat and/or chat over imap projects.
Also such system already exists - email.
Check delta chat and/or chat over imap projects.
Delta chat fails at least 4 of the 7 parameters OP mentioned though.
I wonder why XMPP hasn't released a similar XEP yet. But frankly speaking, XMPP is not the best choice when it comes to decentralization. For me, Tox has always been an example of a good idea. But it still don't know even how to send offline messages.
Bitmessage is very cool, but also very inconvenient and the network itself is slow. So, yes, you can write anything in Bitmessage and it will be completely anonymous, but get ready to wait several minutes to send one message.
I have tried Retroshare. I've tried Session. Tox. Signal. But every one of them was bad in some way. Either they didn't contain what messenger needs, or they were overloaded with unnecessary features, or were frankly inconvenient.
I'm not a programmer, but in general I have an idea of how a normal messenger should work. Even if it's visually awful or only works on the command line.
1. It should be p2p. This means that there should be no servers in the middle, except perhaps relays.
2. ALL messages should be e2e encrypted.
3. It must support offline messages. It doesn't matter how it is implemented. The main thing is that messages should not remain on the relays even in encrypted form after delivery.
4. You don't need ANYTHING but your own desire to register. No phones, no email, no confirmation codes.
5. It must be instantaneous. Frankly speaking, I don't want to wait 10 minutes for message delivery like in Bitmessage.
6. In it you can delete messages. And both your own and your contact's messages. On all devices simultaneously.
7. It must be able to synchronize between devices.
It sounds simple. Moreover, it sounds logical! I reread my post and think: yes, this is how communication should be. But for some reason I do not know any messenger that implements these simple seven points.
Maybe someone knows one? It would even be great if it is unpopular and this post will help it to get promoted.