Doug Hoyte on Nostr: Hehe in fact my original attempt at sync in strfry was a protocol called "yesstr" ...
Hehe in fact my original attempt at sync in strfry was a protocol called "yesstr" using my Quadrable library: https://github.com/hoytech/quadrable
It used binary flatbuffers over websockets. It caused a lot of problems since binary websocket messages require a distinct message type from text ones. Since nothing else in nostr uses these, of client libraries were having trouble integrating with it. Using a structured binary format like CBOR or flatbuffers also means clients would have to pull in a (probably heavy) serialisation library.
The nice thing about the current approach is that any existing nostr client already must support websocket text messages containing JSON containing hex data.
It used binary flatbuffers over websockets. It caused a lot of problems since binary websocket messages require a distinct message type from text ones. Since nothing else in nostr uses these, of client libraries were having trouble integrating with it. Using a structured binary format like CBOR or flatbuffers also means clients would have to pull in a (probably heavy) serialisation library.
The nice thing about the current approach is that any existing nostr client already must support websocket text messages containing JSON containing hex data.