-

@ hzrd149
2025-02-18 17:26:16
To all existing nostr developers and new nostr developers, stop using kind 1 events... just stop whatever your doing and switch the kind to `Math.round(Math.random() * 10000)` trust me it will be better
## What are kind 1 events
kind 1 events are defined in [NIP-10](https://github.com/nostr-protocol/nips/blob/master/10.md) as "simple plaintext notes" or in other words social posts.
## Don't trick your users
Most users are joining nostr for the social experience, and secondly to find all the cool "other stuff" apps
They find friends, browse social posts, and reply to them. If a user signs into a new nostr client and it starts asking them to sign kind 1 events with blobs of JSON, they will sign it without thinking too much about it
Then when they return to their comfy social apps they will see that they made 10+ posts with massive amounts of gibberish that they don't remember posting. then they probably will go looking for the delete button and realize there isn't one...
Even if those kind 1 posts don't contain JSON and have a nice fancy human readable syntax. they will still confuse users because they won't remember writing those social posts
## What about "discoverability"
If your goal is to make your "other stuff" app visible to more users, then I would suggest using [NIP-19](https://github.com/nostr-protocol/nips/blob/master/19.md) and [NIP-89](https://github.com/nostr-protocol/nips/blob/master/89.md)
The first allows users to embed any other event kind into social posts as `nostr:nevent1` or `nostr:naddr1` links, and the second allows social clients to redirect users to an app that knows how to handle that specific kind of event
So instead of saving your apps data into kind 1 events. you can pick any kind you want, then give users a "share on nostr" button that allows them to compose a social post (kind 1) with a `nostr:` link to your special kind of event and by extension you app
## Why its a trap
Once users start using your app it becomes a lot more difficult to migrate to a new event kind or data format.
This sounds obvious, but If your app is built on kind 1 events that means you will be stuck with their limitation forever.
For example, here are some of the limitations of using kind 1
- Querying for your apps data becomes much more difficult. You have to filter through all of a users kind 1 events to find which ones are created by your app
- Discovering your apps data is more difficult for the same reason, you have to sift through all the social posts just to find the ones with you special tag or that contain JSON
- Users get confused. as mentioned above users don't expect their social posts to be used in "other stuff" apps
- Other nostr clients won't understand your data and will show it as a social post with no option for users to learn about your app