An Open Architecture for Content Types on Nostr
Nostr is a protocol for communicating events between clients and relays. Events can be anything from adding posts, deleting posts, reacting to posts, editing profiles, and on and on. Each kind of event is designated by a “kind number”. Even different types of user generated content get their own “kind number”.
In theory, any client or relay can send or receive (or invent) any event kind number. In practice, however, new kind numbers for events are designated by adding a NIP to the protocol. In this way, developers can coordinate with each other to build clients and relays that work well together.
But clients and relays should have the freedom to update and invent new content types for novel use cases. They are the front line of “great user experiences”, and should be able to share new and needed content types with each other “ad hoc”, without having to be “approved” by the NIP standards.
This article explains why we should care, and how to resolve this conundrum with minimal fuss, before it gets out of hand.