-
@ Lynn Zenn
2023-04-04 09:51:26As I delved deeper into the Nostr network protocol, I found myself struggling to navigate the Nostr Implementation Possibilities (NIPs). Each NIP contains a wealth of information, but it's often obfuscated by noise, making it challenging to understand what each one is trying to convey.
For instance, when I tried to figure out what the
"e"
field would do, I went to read through the first document. But instead of finding a straightforward programming guide, I was confronted with blocks of text that read like a nuclear safety manual. It was a frustrating experience, to say the least, highlighted by the fact that the information I needed was buried in the last paragraph, long after its actual use within the same document.To make matters worse, I'm never sure if the NIP I'm looking at is the right one for my problem. And with so many NIPs available, it's difficult to determine which one is relevant. Moreover, searching for information in NIPs is a pain. I often wonder if all the relevant information is contained within a particular NIP or if I should be looking at other NIPs as well.
Furthermore, I find it perplexing that app layer things are being mixed into the "protocol." Why is there a NIP for browser extensions, for example? This NIP, by itself, blocks developers from creating alternative solutions since it's considered canonical. It's worth noting that there is no Ethereum Improvement Proposal (EIP) for
window.ethereum
, yet everything still works perfectly fine.The sheer number of NIPs is already mind-boggling. As of April 2023, there are at least 30 NIPs in the repository, with nondescript filenames like
01.md
only adding to the confusion. There are also 82 open pull requests (PRs), suggesting that people view NIPs more as a validation for their app ideas rather than a base protocol for notes.In conclusion, I believe that if NIPs are necessary for app layer development on the Nostr network protocol, they need to be improved significantly. They need to be clearer, more organized, and easier to navigate. Otherwise, users like me will continue to struggle with them, making it challenging to contribute to the Nostr network protocol's development. One potential solution could be to make them more like traditional programming documentation or create a ChatGPT-like search for NIP content. Since NIPs are describing JSON objects, we could document them as such, making them more accessible to developers and users alike.