3 ms·
People keep repeating this mistake at all layers of the stack because they fail to see different layers as managing different sets of concerns and want to treat
by treyd 2y ago
People keep repeating this mistake at all layers of the stack because they fail to see different layers as managing different sets of concerns and want to treat it as a monolith.
A very recent and high level example of this is how the Matrix protocol was architected. By defining all the message formats in terms of JSON-over-HTTP it makes it difficult to only use part of the protocol and not all of it, and makes it difficult to use it over alternative transports since the assumptions of HTTP idioms are baked all the way down.
- Arathorn 2y agoThis is not true. For instance, https://matrix.org/blog/2021/06/10/low-bandwidth-matrix-an-implementation-guide/ https://matrix.org/blog/2021/06/10/low-bandwidth-matrix-an-i... shows how you can (very easily) swap http+json for coap+cbor as an alt transport for Matrix.
- treyd 2y agoThis is a great example of what I mean. They had to swap for formats that were designed to be equivalent to HTTP and JSON in order to not have to rewrite large parts of the protocol. And that project was just a prototype that was never productionalized to my knowledge.