I am considering enabling Amethyst to write a replaceable kind 1 (new kind:30111) to allow users to edit their past posts at will. It would work in a similar way Habla News works, but using Kind 1's style of small posts instead of markdown and long-form content of kind:30023. Of course, we could also write kind:30023 (blog posts) directly, but it would pollute most of the Blogging interfaces with short posts. What do you all think?

Replies (127)

This one's getting a lot of attention. I still like my idea of making edits a comment kind, then the client can determine how to implement the edit, such as displaying as a normal comment, in its own section, or find-replace with the option to view the original.
False. There are tons of questions I wrote in my profile that we ended up not implementing or implementing a variation of it based on people's feedbacks. This has been happening since January.
you can look into how wikipedia handles this. they have a very sophisticated system for editing posts i think a lot of people could learn from.
Blog content I think is different. It would be nice if it had a history that could be audited, but I think people expect blogs to update their contents more than they expect one-off statements to be modified. One-offs are very granular, they don't have multiple component parts that may need adjustment after the fact. Even so, most blog updates usually take the form of "Update: I was wrong in point 37, @person corrected me."
Not for much longer. Now that Twitter and Threads do provide editable tweets, its only a matter of time to get into everything else. But yes, ideally we show the history of edits.
Sure. And there are 10,000 event kinds in the range to be replaceable, including communities, blog posts, lists, etc. So, sooner or later all of them will have to learn to work with these kinds.
Short-form content is typically different from long-form content. It’s quick thoughts or updates, meant for quick reading. I rarely read short content twice; editing them is pointless. If your content has mistakes, just delete it and post a new one.
As an admin of a relay with censorship (though still not public) I am against it 😅 If people start thinking they can edit notes, I will have to censor 10 times more, and I don't want to.
it doesn't matter if they come close or not. Today we already have more non-kind 1 clients than kind1 clients. It's only a matter of time. Kind 1s will be nothing in the future. Messaging alone has 1000x the expected size of "Tweets".
I'm not up to date on the various note kinds, but I'm mostly: * NACK: nostr notes don't need editing, period. And it does screw up the context for, potentially, the entire reply / quote ref interactions. * or meh, even with editing, the original versions should always be available (when possible) in the UI. And / Or always have to assume that some relay somewhere still has the original version around, anyway. Or some clients refuse to show the updated version. So the worst case scenario can't be resolved (no such thing as truly erasing a mistake) while the more innocuous cases (just a little cleanup) aren't enough of a win to justify the effort / hassle / UI muddle of a somewhat clunky solution that maybe / probably won't get broad adoption anyway.
> base from which familiarity with Nostr begins. for now... Notes are not the future of Nostr. Believe me, I am a kind 1 author and have an interest in making Kind 1s survive. However, it's very clear to me that this kind 1-main party is not going to last very long. :)
Actually I'm just kidding, but honestly the load on the server will really increase and it's not even clear for what. There are less pros than cons. Yes kind 1 is dumb and probably won't last long, but still Nostr is at the beginning of the road and it's a bit early to kill kind 1 🤔 Especially since people are mostly used to notes that can't be edited.
How about... the "edit" is just the creation of a new post but bound by the initial post / post's ID? Ex: Post-id-1:0 *User edits and posts new edit Post-id-1:1 And there'd be a "view post edit history" section that shows all of the posts they've edited before the latest one with the highest numeral value (ex: post-id-1:10 is shown, and :9 to :0 is shown in history) So instead of adjusting data, it's creating new ones, and showcasing the latest one and filing previous ones.
No, please don't destroy Nostr. This is a tool for scammers, and politicians will love this feature of you. If historical posts could be edited, Nostr would become a den for scammers. I like the feature of Nostr that posts cannot be deleted, because the posts made by each of us, regardless of joys, sorrows, typos, and emotional opinions, represent our true selves on Nostr. Blogs are academic essays, while short posts are about life and yourself.
I disagree. I remember when no client showed long-form content. We implemented it blending the new post into the feed and, it took some time, but others followed. Same for custom emojis, etc. If there is use, it helps people prioritize them. If there is no use, then no one needs to worry about it :)
They can already delete the post and rewrite it with the past date. You won't even notice that they changed it. What you are seeing is an illusion. There is nothing blocking politicians and scammers from changing their posts today. This proposal simply creates an easier way while display the last update time for the honest folks out there.
Do you mean the "edits" would be diffs against the original post? Because if so, none of the history is lost and the client can let the reader see older versions through an interface extension (if the client supports it). A diff format (last update note1xxx + diff) could potentially be backwards compatible with clients that don't support applying the diffs and the timeline could show the old post as edited again as a fresh note (similar to a repost).
No one will blame you if you fail to stop politicians and liars. But if you prepare tools for politicians and liars to deceive people more easily, you will be denounced by people. I know this is not your original purpose, it is just a technical discussion. Please don't do evil. This is not the purpose of our coming to Nostr. Short article posts on Nostr are historical records of our life thoughts. In real life, we will say the wrong things, make mistakes, and have emotional breakdowns, but these are real people, not a perfect academic paper. Or not a politician who is packaged as flawless and perfect.
Not today. But @fiatjaf has been thinking on a way to do that. Today this approach would just use the regular replaceable event kinds where most relays delete past events (up to them to keep it or not)
Only if everyone switches to the new kind, kind 1's are here to stay, and deletions will only get implemented if people care about them (side note, next release will have some deletion support).
If your purpose in coming to Nostr is to make better tools for crooks and politicians, rather than building tools of freedom for people who pursue freedom. You can indeed do this.
Hi! Sorry no speak English Creo que el no tener la opción de editar hace que se piense realmente lo que va decir ,hacer una autocrítica y asumir una alta responsabilidad de lo dicho.. sabiendo que tampoco se puede dar [del] . Saludos desde Uruguay 🇺🇾
Can’t comment on the technical implementation you’re discussing with others, but from a user perspective an editable note (ideally time bound, 3min? 10min?) is clearly in demand and a nice feature. Like others I’d like to drill down into a history of previous versions. I don’t think the history should truly disappear.
While it might sound useful, I think, starting with myself, many nostriches got used to the immutability of Nostr notes. Edit history is something else as it keeps the record, but even that might not be needed for shorter posts. Unlike blog posts that are better modified in case of typos and content updates.
My initial reaction was sure, why not. Delete is important, and edit is just like deleting + posting + some UX sugar. But on the other hand much of Nostr’s power is its simplicity. Adding another kind puts a little more burden on new clients. Maybe good enough delete is good enough. Twitter didn’t have edit for a very long time.
The issue with delete is that some clients dont delete yet. So, if their user is only they end up seeing 2 posts. Which I think it is worse than not showing some new kinds yet
Hm, good point. But I think most of the clients that don’t support delete do so for philosophical reasons. So are they more likely to display the kind 300111 maliciously and not respect the edits or to not show it at all? I think in the long run if 300111 gets traction they will just show it without edits and we’ll be back to square one. It’s an assumption though.
Yes, they are very annoying to deal with, but that is made simpler by the fact that they are not expected to be displayed in realtime in a constantly updating feed that may or may not be cached locally and/or by relays. Kind 1 notes are easy to deal with in this "live" scenario: they either exist or they don't. All events always have the same id, so it's easy to match and cache and I'm probably forgetting a dozen other arguments that me and others have given in the past against having editable events.
Event Twitter has a lot of trouble with editable posts, sometimes you are reading a post and it has a message saying "there is a new version", and then you click on that and it doesn't exist anymore or other shenanigans. I don't know how it's implemented internally, but I imagine it wouldn't be too different than this, except for the fact that they have a single codebase. In Nostr it would either be unusable chaos or everybody would just resort to using the same client.
So do you prefer that we just delete the event and send a new one with dates in the past? I initially didn't want to do that because it would create duplicated events in the feed of clients that don't implement deletion yet.
I think that is bad too, accepting the fact that things don't change is probably the best way, but seems much simpler to implement and not very harmful to clients that don't implement it. Probably the most honest UI, if you want, would be to have a "nuke" button that tries to delete everything, but decouple that action from the act of creating a new note. Let people manually delete and then make a new one.
If there is more stuff to implement that makes it so there are less "complete" clients. Users flock to the more complete clients, they get better and the other clients are left behind. With fewer clients they can agree among themselves to invent more and more features that make it even harder for other clients to compete.
Agree it is good to keep the kind segregated. Makes sense as it will definitely create some noise in the signal. But this will happen one way or the other. The question is what is best. Obviously we want to avoid as many legacy creations as possible. But no one knows the future exactly!
This would work for simple typo fixes. Could even be just kind1s like "s/bitocin/bitcoin". You could issue these manually if your client didn't support a custom UI for editing, and read those manually if your client didn't support magically editing the original post in the UI. Or is this a dumb idea? Clients would have to self-impose a limit on these though, we can't have giant edits. Hopefully it remains a niche feature.
Why do people always assume all clients must implement every new kind? I am not expecting people to implement this one. The feed will just look different in every client, as it SHOULD be. Some will see more, others less, others just a different set of NIPs, etc. There is no such thing as one feed.
For the long-form stuff I think this is fine. People get that these articles are "different". They assume they must go to some dedicated page to read them, so it's not actually causing much harm. I think it's actually bad UX when one of these articles shows up in the normal microblogging feed. But if we had just another note kind that showed up in some clients but not in others that would be interpreted as a bug on clients that don't show it.
Seriously though. I don't understand this need to display the same stuff everywhere. Clients are different and there is way too many NIPs already. It's fine. Don't want to display the new editable posts? Not a problem. Maybe somebody will not want to display kind 1s, just replaceables.
I think that would work for typo fixes, prioritized comments (addenda/annotations) would be better for substantial changes.
I like @fiatjaf 's take. Let's focus on more usability so we can onboard users with an experience that rivals twatter. Gizmos later.
To me, kind:1 should always be uneditable. It's the whole point. Adding more editing functionality feels like bloat. It makes sense for a blog post, but not for a tiny post.
+1 for decoupling. You can "delete", and then post a new one. Clients following the delete request can choose how to display it in the UI. In all other clients, it would be cool if it just looks like a quote tweet of the old note. == Benefit of quoting each of the edited versions - you can wee what engagement/comments were there with the specific previous versions of the note. == UX-wise, in terms of other users experience (who might have responded/boosted/quoted) your old note - I don't see any clean way how to allow edit without actually NOT hiding the previous versions.
Default avatar
deleted 2 years ago
I think unnecessary. I like that things cant be edited here, makes it more authentic. 🤙
I'm not a developer and I'm not paying close attention to what's happening with the evolution of the nostr protocol, so maybe this already exists or maybe it's nonsense, but my understanding is that there's a danger here to bloating the protocol. My thought is that, without modifying the underlying nostr protocol, is it possible to build a parallel styling protocol that clients can implement in their own way, or choose not to implement? An analogy would be that this could serve sort of like a CSS layer to nostr's HTML? The solution in this case for editing could be some kind of "tag" that indicates the user intends the post to be "deprecated" and if the user goes back to the post and assigns the tag, the clients can honor it or not using their own implementation of the style for that tag—for example, greying out the text or adding strikethrough? The idea being that the style layer can be separate from the data protocol—and optional and customized—and that way not bog down the underlying framework? This also gives the clients some room to flex differentiation in their interpretation of the style tags? @Vitor Pamplona @fiatjaf View quoted note →
Se la nuova nota evidenzia ciò che è stato editato sarebbe interessante. Anche se in realtà habla.news è già ottimo per questo. Sennò personalmente preferisco l'immutabilità tipo blockchain. Siamo già liberi di scrivere quello che vogliamo, almeno che ci sia un po' di responsabilità in ciò che scriviamo.
Just thinking: Maybe a reply to one's own post could be considered as "update" and the clients can then handle this (either per default show the latest update, show full history, etc.
It’s not “ruggable” if the edit history is there. If you’re saying that a client can choose not to show the edit history, isn’t the same for annotations? (Harder to make a UI around annotations than edit history anyway)
Annotations would be impossible to show as an edit. So either you have the old note, or the old note + context. Editable notes would just get shown unless the client bothers to build an edit history feature, which they probably would not do.
Why would a client show annotations but not edit history? The UI for how to show annotations seems a lot harder to think up and get right. Meanwhile edit history as been done in many non-nostr apps already
I'm late at the party. I agree with the position of @fiatjaf, @hodlbod, @semisol, @Cameri🐦‍🔥 and many others: no new kind for kind-1 edits. However I like the patch idea, for small edits/addendum. It could be implemented as a simple kind-1 reply with a special tag. This way it would be always visible in the same thread; clients can choose to use it to overwrite the parent and let the user inspecting the history. In this case they should also manage (merge?) replies and reactions. But to make it usable on every client the patch format should be really simple and understandable in plain text, something like like a quote (>) paradigm. This would also permit to use the edit manually on clients that formerly doesn't support it. Examples of edit and append: ~the bat is on the table the cat is on the table +PS: the original source is xxxxx
I love that my notes are forever just like a #blockchain even with all the typos coming from my new spellchecker-less #android keyboard. It is certainly a good thing for documenting this wild ride into the new frontier of social media and for accountability's sake if we want to be better than X. View quoted note →
lesson in how one can be so right and so wrong, vitor has had some good ideas pity as amethyst has not expanded on its good points but become super focused on dms there is already a 100 messenger apps one can switch to kind1 is central to what nostr is about and if a dev cant see that he is lost
popular clients will direct changes and dumb changes like this will damage the client and nostr siloing content in new kinds is antithetical to what makes nostr successful already we have an unnecessary divide of kind1 and kind42 amethyst is not improving but getting worse now many are calling for features that are not being done like better filters and views, reddit view for example, antispam filters
you dont understand the need to display the same stuff yet want amethyst to display everything ie the same stuff lol for me you dont understand what amethyst is good at and are making it worse in many ways
practically. It feels like it exists only because of Twitter. Like, "Oh, well, there was something similar on Twitter many years ago, we should have it too.". And now, "Damn, it was a so-so idea. Nobody needs Twitter in 2023"
you can do lots of things with kind1 like chat, reddit, forums twitter is just one aspect, point is we have this large data set we can share between apps in different ways i think because of that we will do better than twitter where we switch views, i am interested where we can do chat in a thread but later view it like reddit