Avatar
Scott
0f1b5961795de31168334c0131986126c55d47ba88a3ff10d309de62868242bd
Replying to Avatar fiatjaf

Things that we mostly can't fix, but that maybe could have been done better if they were here from the beginning -- or something like that.

- The `NOTICE` message would have been better if it had structure like `OK` messages have. That would have allowed a more direct communication between relays and users, instead of relays being inside a client black box.

- Choosing secp256k1 felt cool and maybe it still feels cool because it is the Bitcoin curve, but since many people have pointed out that other curves and algorithms are much faster maybe picking those would have been better.

- Writing a spec for direct messages and implementing them was bad. In my defense, it was an attempt to [please the public](https://t.me/nostr_protocol/307), but still I should have not have done that, or thought more about it before doing it.

- Thinking that kind 1 should be used for all the things "text" just restricted the ability of clients to do different interfaces. If we had different kinds for replies, quotes, comments and "root" posts from the beginning that would have been better.

- For a long time I didn't realize Nostr wasn't useful just for "social networking" things. I wonder what else could have been better designed in the relay-client interface if the needs of non-social-networking apps were kept in mind.

- The querying system is sometimes too generic, it could have been better if it was more restrictive, but more complete. For example: allowing generic querying over tags is weird, can lead to O(n²) issues in some cases and relays are left to fend for themselves -- on the other hand we can't query for the absence of some tags. But I don't know how any of these things could have been better even today, so maybe it wasn't so bad.

- Making the events be JSON: sometimes I think this was a bad idea and a binary format would have been better, but most of the times I think Nostr wouldn't have become any popular at all if this was the case -- also binary is slower than JSON in JavaScript, so I guess this wasn't a completely bad choice. Perhaps if something like [NSON](https://github.com/nostr-protocol/nips/pull/515) had been adopted from the start, though, that would have been better for everybody.

When I decided to write this I had one item in mind, but when I started I forgot what that was. I'll add it here back when I remember.

Did you ever remember that one thing?

Get rejected and was grumpy about getting it in the first place. 🤦‍♂️

Since you’re asking, I would say your vibe is a little off. Like when you asked fiatjaf about the soul on your podcast. Thinking out loud here… maybe would say you treat heavy things as trite.

Hmmm, there’s basically bracketing characters available: (), [], {}, <>

And then a handful of others: :, ;, &, @, #, %, ^, *, +, =, |, ~, •

Mt. Celery

#foodstr #grownostr

I think could work. But I think nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr is going more for a pure chronological feed and therefore wanting to treat replies more like standalone feed items.

I think indenting them might go against this philosophy.

Applied for my first credit card ever today. Devastating.

I guess what I would want from a reply would be that it is clearly shows dependency on the parent note.

In the current view, the parent note is displayed the way I would expect if I was quoting it, not replying to it.

In the proposed view, the parent note is removed, making the reply a sad orphan.

So, I do think this needs improvement, but I’m curious about your philosophy.

Do you have an opinion on grouping replies under their parent versus treating replies as standalone objects?

But isn’t the rule against markdown in the nip-01 spec for good reason?

I don’t think clients should be modifying events, but a reasonable option would be to ignore them.