Email or username:

Password:

Forgot your password?
Top-level
Gregory

- Matrix: the absolutely bonkers state resolution algorithm that's so complex that mathematical notation comes out. No socket support, only HTTP long polling.

- XMPP: no packetization whatsoever, just two endless XML streams. Users can hide their real JIDs in chats for some reason.

6 comments
Gregory

- MTProto: once you've figured out the docs written by Nikolay Durov (no small feat!), you realize that chat rooms come in two flavors. Also the "TL" binary serialization is properly weird sometimes. There's a protocol message acknowledgement mechanism on top of TCP. Sometimes you receive "updates" (events) out of the blue, sometimes you have to ask for them, sometimes API calls return them.

Gregory

- Whatever VK does: it's not an "instant messaging protocol", but instead it's a group of API methods. You receive events in real time via long polling, and you do everything else through the API.

Mo Rijndael (archive)

@grishka
VK: anyway, to make your life not too easy, we use arrays instead of objects in API. Please, don't ask, why...

Alexey Skobkin

@termonoid @grishka
I wouldn't be surprised if they're trying to save some bandwidth 🤷‍♂️
VK was written by programming contest winners who can make premature optimization even when it's not necessary.

kaip :xmpp: :archlinux:

@grishka Being able to hide my JID in public rooms is one of the ~two things I like about #XMPP.

The other one is that XMPP is actually standardized by the IETF and not just some protocol by some startup with a website.

Go Up