So conceptually, type is part of the metadata, it is just hidden inside the content objects. In case of a metadata redesign, I'd want to move it to the actual metadata.
yes, but I don't want to have something like that outside the cyphertext on encrypted messages.
In some sense, explicitly transmitted timestamps sacrifice user experience (in the form of performance) for developer convenience
Apart from bandwidth, I doubt this would make a measurable difference to performance, once it's combined into the entire application. And how much % smaller does it make the bandwidth?
The sorts of changes you are proposing would take a lot more groundwork to roll out than just a new encoding format. perfect is the enemy of good. good is still better than bad. If we can deploy an improved protocol, we can deploy another one. Given there are a lot of aspects of ssb I could be working on improving, and I can't work on all of them, I'd rather focus on the most rewarding things and balance that with how much work it will be. This is too much for now.