Many of us (or at least me) would probably like to see Signal getting decentralized. Here are a few thoughts I had about this recently.
First let me define three persons:
- Peter (using the official signal.org instance)
- Ted (using the example.com instance)
- Andrew (using his own instance under andrew.chat)
Couldn’t we use the upcoming username feature to build a decentralized signal network? For example with a modified client or maybe just a modified libsignal library we could parse the instance from the username which would look like an email address (ted.42@example.com or andrew.62@andrew.chat). If the username doesn’t have a domain part it just uses the default instance (so Peter just has the username peter.94).
Maybe we have some people here who are already familiar with the Signal codebase and willing to assist?
EDIT: Yes I know Session and Matrix exist but Session is to extreme and technical and Matrix is more focused on communities and groups which aren’t even encrypted. Besides that both of them have a much smaller userbase compared to Signal.
Signal fails as a useful solution as long as:
- I can’t switch devices and keep messages.
- I must give them a phone number.
- Multiple devices can’t cooperate to allow me to chat continuously from any device.
- Messages can’t be sent/received arbitrarily because the server decided my client isn’t acceptable.
Signal is not reliable and very user-hostile.
@mintdaniel42
Okay so I’ve been using Signal for over two years now and would like to address your critical points:
In terms of reliability in general I never experienced any issues with Signal. It works great even in bad internet connection scenarios.
I could have guessed that you used Android before your previous message simply by your positive impression.
Try switching the OS and keeping your messages then you will discover the difficulty. It’s worse if you began on iOS.
I just recently had the Signal servers silently stop communicating with the app. I had to create a debug log to find that the server was sending an error for some reason when it was working the previous day. Switching apps was the only solution remaining.
@mintdaniel42
Did you use a forked client? If yes which one?