I remain squarely in the “No Edit” camp.
I prefer the authenticity of un-edited notes. There’s something raw about them, especially in contrast to the manicured, artificial feel of most social* media nowadays (which means we should probably expect Gen-Z users to prefer No Edit, as well).
For one, typos are not that big of a deal, at least in the microblogging context. If anything, they’re endearing. And I hadn’t even considered the attack risk that Derek is pointing out, before today.
Furthermore, retracting a bad take with honest accountability is a lot more meaningful than editing or hiding something you wish you hadn’t said.
I don’t imagine a “maximum number of edits” would really gain traction, either. Who picks the number? Do we increase the blocksize (er, I mean, edit count) when more users join the network?
It just feels antithetical to the “freedom and user choice” ethos of Nostr.
*Outside of social media, it’s possible that other event types, such as long-form notes, or events used for things like healthcare in @AviBurra's NosFabrica, could benefit more from editability.
But even then, there would be issues. One strength of Nostr is that (unlike Bitcoin) we don’t require universal consensus: different relays hold different content, and that’s okay. It’s okay primarily because we know that “1 nost = 1 nost”. This flexibility makes nostr more dynamic and scalable, but it depends in part on No Edits.
Edits would not be universally implemented, so what happens when some clients and some relays implement edits? How does a user verify that a specific signed event is actually the right version? How do relays stay up-to-date, especially if some relays are No Edit on principle and insist on storing and serving the original (or all versions) of a note?
For the more “formal” use cases, perhaps implementing multiple versions of a note could work, where a new (“edited”) note is signed with a reference to a previous version. This would be backward-compatible with clients or users who consider themselves “edit disrespectors” (ha).
If some clients do choose to honor edits, they should give their users the option to ignore the feature, and simply display a so-called “edited note” as a second, separate event with a reference to the original note.**
Because that’s the reality of what transpired, and truth is good. It’s like @farooq said: no edits in life.
**Having not reviewed the edit NIP (and I assume there is at least one), it’s possible that this is exactly how it’s intended to be implemented. But even so, it seems clear to me that the drawbacks of editing easily outweigh the benefits.
No Edits also incentivizes us to write a little more carefully, a little more thoughtfully — a habit that is woefully lacking in traditional social media.
To me, it’s an easy choice. I love the authenticity of unedited notes.
I’m grateful that the @damus team has (at least historically) viewed edits this way, as well. I’ll continue to vote with my time, attention, and sats, through my choice of client, and by requesting every version of everyone’s notes from every relay.
All of that said, I would appreciate the opportunity to read a well-laid-out argument in favor of implementing edits. I believe in what I’ve written, but it doesn’t mean I’m right. (“Strong opinions, loosely held”). I could be missing some key technical aspects of Nostr that would satisfy the objections I raised, and I’m here to learn whenever I can.
I want Nostr to win (whatever that means), so I’m a fan of nearly any good-faith efforts to #grownostr 🫡 nostr:note1e4xlux4r4gda2sq50yn5tm8gl2xpq4906xtud72yeuw74c542ggs0xmfpf
Also, how do you enforce edit counts or timestamping when this is not centralized?
How about a typo filter that one can apply to notes…some AI thing to highlight possible typos and ask OP “is this what you meant?” OP could reply or zap the AI to signal agreement.
Editorial overlay as a service?
Sounds like a perfect idea for nostr micro app 🤙
You might not want edits, but every user should make that decision for themselves. Not the protocol.
Edits are not edits. They are just replies that replace the original post. It's as simple as that. Nothing is actually edited.
You can attack Nostr in the same way with tons of replies. The edit is just a nicer interface.
That's why I am in favor.
I think edits can be facilitated entirely within the client. When people post a note or a replay, the client could delay broadcasting for a period of time (60-90sec), during which time the note is essentially a draft that can be edited. Once the time limit is up, the posted note including any potential edits are broadcast. This removes any necessary work within the protocol, or programming of the relays as it's all done within the client. And each client would be able to choose whether to support the feature, while edits would automatically be seen network wide.
I would agree if it wasn't for the issue that many edits are made after 90 seconds. Usually when the user comes back to read it again and sees all the typos and grammar issues.
It's not a wide open solution, but in my experience people notice typos, which is the type of edit that should be facilitated, right after they post the note. And if users knew they had a 90sec buffer to make those minor changes, I think they'd be more likely to review their note after posting. I think such a solution would be a lot better than what we have even if it's not perfect.
Other than Vitor’s point below, this is a pretty smart approach 🤝
It wouldn't require that every client and relay dev commit to a unified solution. Each client could for themselves whether of not to implement it. And to make it more useful, users could be able to modify the delay time. This would have the dual purpose of personalized config, and raising awareness of the feature.
Ooh. I dig.
I love that idea of the (optional) user-determined time delay, before a note is released.
Kind of like how more email clients have started offering a brief “unsend” period for when you second-guess that snarky reply to your boss 😂
Yes, exactly. That's where I got the idea.
i like this approach a lot
Estoy contigo Vitor, muchas veces tengo error de tipeo y para eso sirve una edición. En ésta estoy contigo 🫡
I think editing a note is the equivalent of a photograph with filters. It simply does not represent what we are in the non-virtual world. If I understand the objective of all this correctly, do we not seek to be as authentic as possible? If we offend or make a mistake in the non-virtual world, we must take responsibility through dialogue, an apology, a footnote, etc. What is not representative is the permanence of our mistakes because if this is like speaking outside of the protocol, the mistakes are forgotten (not how we make others feel, of course). Perhaps the core of the discussion is that: the possibility that an error disappears over time. Ultimately, I believe, no one remains static in their thinking. We evolve, we grow, even our last breath. So expiring notes? 😉
I don't think correcting typos and technical errors takes away from authenticity.
Of course not, but when you open the edit door you can't filter the kind of edit.
You can if there's a time limit and a one-time edit restriction. If users had a 90sec window after posting a note to make corrections, I think the focus of those edits would inherently be on technical errors (punctuation, spelling errors, missing words), and not on the substantive content of the note.
I agree with you about user choice. I guess where I get stuck is the “replace the original post” part. There’s something about it that feels disingenuous, or maybe just less “raw”.
If my client showed an “edited” note, with an indicator that it’s been edited, along with a way to view previously signed versions, that wouldn’t bother me the same way.
As I’m thinking through this, it’s not that I have a problem with simply revising or improving content, but more with giving users the idea (similar to “delete”) that something they signed and published can ever actually be removed. That’s the part that feels problematic, the false sense of security it may give a user.
This is true of the internet and digital information as a whole, of course. But that’s what is so refreshing about “no edits” on Nostr — the honesty about information (and especially signed content).
It sounds like what I wrote about “new versions” is actually how the edit feature would work. So in that case, it comes down to the client, and whether it honors the fact that previous versions were signed, if it hides/obscures past versions without letting the user know.
> If my client showed an “edited” note, with an indicator that it’s been edited, along with a way to view previously signed versions, that wouldn’t bother me the same way.
That's exactly what Amethyst does. Full edit history is available and the edited post is marked as such. Which is way better than the standard replaceable events used in nostr's blog clients for instance.
Well, that’s awesome. Never realized this! Is it an amethyst-specific spec or just a NIP that other clients ignore? How would one of these edited posts appear in another client — multiple similar notes from the same npub?
Now I’m starting to wonder if some of the “accidental double posts” I see are actually edits where I didn’t notice minor revisions 🤔
You’re making me rethink my position, Vitor. Dammit. (Although I still think I wouldn’t edit my OP even if I could 😉)
It's a NIP proposal right now https://github.com/nostr-protocol/nips/pull/1090
I’ll be very curious to see how it plays out across different clients. Thanks for taking the time to discuss it here; this was exactly the sort of counterargument I was hoping for, to flesh out gaps in my own knowledge.
Now I’m curious, as a Damus/iPhone user, what our friend @jb55 thinks about this prospect. I recall us agreeing that no edits are better, a year or so ago, but (as with anything) there’s nuance and I get to expand my perspective by simply hanging out with you guys here.
Will, is this something one might see implemented in Damus, if the NIP is merged? Would users have the choice to disable/ignore it? Makes me wonder whether the UX of ignoring edits would actually be worse, despite being more “honest”.
I guess it’s back to the asterisk of pointing to previous versions, rather than “pretending” a note had been that way all along. That satisfies my objection to the misleading nature of edit/delete on the internet.
I do still like the concept of “once it’s sent, it’s sent” and how that could subtly shift behavior toward more thoughtfully written notes. But that’s not for me to push on others 🤷♂️
I like the delete and redraft edit spec by fiatjaf. No issues with determining what version a user is replying to. You retain "whats done is done" semantics.
Interesting, I’m not as familiar with this one. If it deletes… doesn’t that “hide” the initial post (and thus give the illusion of a delete)?
Did a quick search but couldn’t find fiatjaf’s NIP, but someone on Reddit recommended delete.nostr.com if that’s related?
The really tricky part is when relays implement edit and delete. Then it's a weird combination of client and network choice. Maybe relays that don't support censorship, err, corrections, will become more popular? Though relays aren't fairly compensated right now, so I suppose they get to make that choice.
The lack of easy backward-compatibility definitely bugs me a bit. I guess a relay or client that doesn’t honor edits would just show it as a new note, with some reference to the original version being edited.
As much as I’d like edits, I do agree with “No Edits also incentivizes us to write a little more carefully, a little more thoughtfully — a habit that is woefully lacking in traditional social media.” It definitely makes me reread my posts and think twice before I hit send…
Nicely put, I hadn’t considered it like that. On the Fediverse my posts auto delete every two weeks. I hate when people dig through old social media posts to compromise people. It’s similar there in that a post never really deleted unless every server clears its cache but I liked the idea of slow decay too. Part of me still wants social media to be ephemeral but I’m old enough now to not give a shit.
Yeah that’s a good point — cleaning up old or embarrassing content, or having ephemeral/auto-deleted notes (like in Signal) would be nice. My issue though is that it’s really just an illusion; there’s guaranteed to be a relay soaking up all the content and never deleting it, so I think it would create a false sense of security