Welcome all my dear researches, we're here to introduce you yet another cool 😎 shiny ✨ fancy 🔮 protocol for exchanging your sincerest messages!
Please, for the best expirience of using this documentation, download repository and use Obsidian
- User statuses (in-app/online/offline)
- Message statuses (in-queue/sent/delivered/read)
- Message editing (keeping history)
- Message hiding (just becomes "collapsed" or deleted when both parties "collapsed" message)
- Message Reactions
- Independent from Certificate Authorities (SHA224 of server's PK)
- Server-side message storage (optional)
- Chunk-based file delivery, file integrity and fixing
- Post Quantum Diffie Hellman Encryption
- External Message Archiving options
- Storage Quotas
- VoIP and Video Calls
- Stickers/Emojis
- S2S (Server To Server) communication
Message editing (keeping history) Message hiding (just becomes "collapsed" or deleted when both parties "collapsed" message)
You may think why would we make such decisions, and there's quite simple answer - once in a while, there's going to be some people that will implement message deletion prevention and editing history, so, why wouldn't just make protocol to be friendly to such features? There's no way that open protocol wouldn't get such not really privacy friendly feature
Server-side storage (optional)
In future as you seen we're going to implement storage quotas, so users may choose not to use server storage and just store everything locally
Independent from CA
Well, since Lets Encrypt issues certificates to everyone, and nowadays even for IP addresses, wow, but hey, what if our protocol is going to be used in alternative networks like yggdrasil with a .ygg domains? It's impossible to deploy LE certificates for custom internal domains, so that's why there's going to be another challenge.
| E2EE | Max file size | Binary | Federated | Open API | History | Calls | Reactions | |
|---|---|---|---|---|---|---|---|---|
| IRC | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| ✅ | 25 MB | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | |
| XMPP | ✅ | ❔ | ❌ | ✅ | ✅ | ✅ | 📽️ | ✅ |
| Matrix | ✅ | 100 MB | ❌ | ✅ | ✅ | ✅ | 📽️ | ✅ |
| Telegram | ✅ | 4000 MB | ✅ | ❌ | ✅ | ✅ | 📽️ | ✅ |
| ✅ | 100 MB | ❌ | ❌ | 🤖 | ❌ | 📽️ | ✅ | |
| VK | ❌ | 2000 MB | ❌ | ❌ | ✅ | ✅ | 📽️ | ✅ |
| Max | ❌ | 4000 MB | ❔ | ❌ | 🤖 | ✅ | 📽️ | ✅ |
| Signal | ✅ | 100 MB | ✅ | ❌ | ✅ | ❌ | 📽️ | ✅ |
| Discord | ❌ | 500 MB | ❌ | ❌ | 🤖 | ✅ | 📽️ | ✅ |
| Qwitrum | 🕑 | 4000 MB | ✅ | ✅ | ✅ | ✅ | 🕑 | 🕑 |
| 🕑 - Future release |
What's wrong with Telegram?
Earlier, telegram seemed to be a great option as a primary option to communicate. Durov said telegram would be always free, super cool, etc. User friendly! Use Telegram as a cloud!
What do we have now?
It's evolved into some kind of ordinary social network rather that messenger Users have walls, stories, feature paywalls, ordinary things like usernames became a trend of crypto industry, anonymous numbers. I'm not telling it's bad, but telling blockchain and stuff meanwhile all of the things are focused around 6 server and one product - not really good trend. Telegram premium, stars, advertisement in channels, at least thanks it's not using user's conversations. Telegram API rules are prohibiting to create clients that implementing ad-free experience or prevention of message deletion, etc.
So to be fair, we're creating limits inside of the protocol, not inside client side. Users and developers should be free to do whatever they want to. That's why for example, Qwitrum have just "collapsed" messages rather than deleted.
Also, seems like noone cares about optimization now.
What's wrong with XMPP? XMPP was introduced in 1999 and was intended to be a open standard of messaging via XML-schemas. Now what we have? Around thousands of XEP's that's really hard to follow in the most. Of course extensibility is great at some point, but it affects compatibility. Everyone should use Full-featured XMPP servers with Full-featured XMPP clients to utilize common things like calls, message editing, multi-user conversations, stickers, etc. So if you send a sticker to your friend with non-full XEP server - they won't be able to get your message. Also XMPP is super segmented. We have separate server for calls, separate server for file uploads, etc.
What's wrong with Signal? Of course, signal is really great messenger, but it lacks a lot of features, and lack of federations makes it easy to be blocked in countries that are trying to violate privacy.
Future target is implementing a native library and native client, rather than power-draining javascript-mess.