Loomio
October 2nd, 2014 21:30

Feature proposal: Editing of posts

Brent Bartlett
Brent Bartlett Public Seen by 111

A recent proposal showed that a majority support a feature that allows editing of posts. Here's my suggestion for how this would work. I'm mainly opening this thread up for discussion of implementation, though, so everybody can kick ideas around and hopefully come up with something that we all like.

My suggestion is: There will be some kind of indication that a post has been edited, e.g. a string at the top or bottom of the post that says "Edited at ______" with a timestamp. This string will not appear if the post was edited a brief period of time after it was posted (say, 60 seconds). This allows users to clean up small typos and punctuation without being "penalized".

DU

[deactivated account] October 2nd, 2014 21:34

If we're defining parameters, I'd go with five minutes before displaying an 'Edited..." message. I'm not sure I could correct a typo or markdown formatting issue in sixty seconds.

Perhaps offer a small free-text-type box so the author can add a reason for the edit too.

Faldrian

Faldrian October 2nd, 2014 22:35

I think it would be nice if there was a revision-system on posts. So you can annotate on comments what revision the post had when the comment was submitted. You could then browse the revision-history of the post if you need to look up some references (if they would have been edited out).

Beeing a quite complete and transparent implementation, I think it would be not as hard to implement in the federation (send an "new revision" update on a post when it is edited, as well as annotate the revision on comments when they are saved and sent).
It will however introduce new impacts on performance: more messages that will be federated and there will be a bigger post-table for the revisions (or use an extra table for all outdated revisions, so the normal post-lookup is not slowed down).
Also there might be problems when a comment arrives, referring to a revision of a post that has not even arrived at the pod where the comment just arrived.

Just a few thoughts... :)

Brent Bartlett

Brent Bartlett October 2nd, 2014 23:53

I think that having revision history for comments is an interesting idea. The issue I have with it isn't implementation, though...it's privacy. Imagine that I read somebody's post, get upset, and write an angry reply. Well, 5 or 10 minutes later I've cooled down a bit, and I decide to edit the post to make it less angry. The post now shows that I've edited it, and the material that I've deleted is still in the revision history! There's nothing I can do to stop people from looking at the previous comment that I wanted to remove.

Another scenario is that I've posted some sensitive information. Maybe I didn't even know that the information was sensitive when I posted it. Later, I re-think what I've posted, or I find out that I've divulged information that I shouldn't have (The party's supposed to be a surprise!), so I go back to edit...but the sensitive information is still there in the history, available to anybody who wants to do a little digging.

Now, sure, knowing this, I could just copy the message, make the changes, delete the original, and re-post...but that defeats the whole purpose of having an editing feature in the first place. Also, if you don't know this, or you edit in a hurry and forget, it could come back to haunt you later. It doesn't seem like the possible benefits outweigh the possible nuisances.

DU

[deactivated account] October 3rd, 2014 07:12

Should notifications also be sent after an edit?

So perhaps I Liked a post, I should be informed if that post has changed.

Alberto Aru

Alberto Aru October 3rd, 2014 09:22

I don't like the period thing, I think that the best choice is that we could edit the posts when we wanted.

@rich1, why not an option for that in the settings?

That what happens on Pump (or fb).

DU

[deactivated account] October 3rd, 2014 09:26

Hey Alberto. The time limit would only be to control whether the "Edited at...." would be displayed. You could edit it at any time you like, even years later. But if you edit it within say 5 minutes of posting, then no "Edited at..." message would be displayed.

Brent Bartlett

Brent Bartlett October 3rd, 2014 19:51

I like the Loomio timestamp better. Instead of giving a date and time, it gives a length of time, like "30 minutes ago" or "2 hours ago".

A

AlexB October 5th, 2014 17:41

@brentbartlett I think the sensitive information scenario you mention is the reason why "edit" hasn't been implemented so far -- as I understand it, because of federation (which is "pull"), it is basically impossible to delete something efficiently. So the idea was that it would lull users into a false sense of security if they thought all they had to do was press "edit" and their sensitive information would disappear. In fact, all the other pods that their message had already been forwarded to would possess that sensitive information, and there may well be a significant lag before those pods realise they should delete it.

(Maybe someone more knowledgeable will correct me.)

To me, the primary reason people seem to want the edit function (and I keep seeing calls for it!) is to correct typos and such like. It's a feature people have come to expect from a social network/comment system. I don't think we need a revision-system for this, though I don't see why not. But I think this task will be conceptually simpler if we see typo-correction as the reason we're implementing this, rather than getting lost down the rabbit-hole of sensitive-information-hiding, which may well be impossible to solve securely.

On the amount of time before a timestamp (of whatever sort) gets attached, 5 minutes seems appropriate to me.

Brent Bartlett

Brent Bartlett October 5th, 2014 18:35

@alexb I think you make a very good point. Federation might make editing not quite as smooth as on other systems. I think that once all the kinks get worked out of federation, though, it will be just as smooth and error-free as any other social network.

For example, I have an account on diasp.org and JoinDiaspora. I make a comment on JD, and it pops up on diasp.org. Then, I delete it on JD, and it disappears from diasp.org. Edits would work the same way: I make a change on JD, and the comment changes on diasp.org.

A

AlexB October 5th, 2014 18:54

Good point -- if we offer post-deletion, then my explanation as to why we don't offer post-editing doesn't quite work.

I suppose my main point is that we should see this feature as offering aesthetic editing rather than privacy-preserving editing, because the latter can't actually be offered properly (i.e. we'll never be able to change the fact that "once the information is out there it's out there").

Implementing for aesthetic editing should be relatively straightforward, while it would be impossible to try to achieve the ability to recall information that has already been sent out.

In essence, I agree with your original proposal, with the 5-minute amendment, and I'm agnostic about revision-history.

goob

goob October 6th, 2014 10:48

For example, I have an account on diasp.org and JoinDiaspora. I make a comment on JD, and it pops up on diasp.org. Then, I delete it on JD, and it disappears from diasp.org.

This still doesn't happen in many cases - both in posting and deletion. Also, comments sometimes don't get federated on posts which have been federated. Until federation is far more reliable across all pods, there is no way to guarantee, or even to expect, that people on different pods will be seeing (and commenting on/liking) the same version of a post. Therefore time-stamping of edits is not a solution until federation is both instant and reliable.

StefOfficiel

StefOfficiel October 6th, 2014 23:03

I think that would be good too. Or a preview system as the original post. This allows to read before publishing.

Augier

Augier October 7th, 2014 16:50

BTW, the actual preview system for new posts is buggy. It sometimes doesn't display the one being currently written but only highlights the most recent one in the flow.

A

AlexB October 8th, 2014 00:22

I think we need more than a preview function -- people just write, post, and then re-read their post. Even with a preview function available, typos etc still make it to the first actual post. I don't think we do ourselves any good if we expect people to be ultra-careful -- we have to build in some leeway for carelessness!

To me, a simple edit-post function, with some sort of timestamp after five minutes, would sort out this issue for a lot of people. As long as it is clear that we're not guaranteeing that people on other pods will see the edits immediately, I don't see the problem posed by the federation-induced lag.

This feature (as I see it) is just so that people can fix typos -- not a grand motive, but something that I've seen asked for several times by newcomers. And something simple to achieve, I believe.

StefOfficiel

StefOfficiel October 8th, 2014 19:47

"Pas Faux" ! AlexB is right !

R

Rob October 8th, 2014 22:08

AlexB is on the right track.

There is something about re-reading your own "actually published" post that makes you notice errors you didn't notice in a preview.

I always like systems that say something like "edit (for another 15 minutes)" and the number goes down dynamically. This gives you a nice clear indication that you still have a chance to change it before it goes "permanent", and how much of a chance you actually have. I dunno that it needs to be 15 minutes, maybe 5 is fine. Either way, the tricky part is probably making sure that the post doesn't propagate anywhere until the clock hits zero. But once it does it's pretty obvious that you've now "put it out there" and there's no going back. Which is, you know, the Internet.

DU

[deactivated account] October 9th, 2014 00:26

+1 for AlexB

Maybe the pod can prevent publication during a short delay when you post (à la Gmail).

It avoids dealing with the federation and solve incrementaly the problem.

Then another increment would be "how to extend this with federation handling".
But only if the users still complain a lot about edit.

DU

[deactivated account] started a proposal October 9th, 2014 01:19

Pending post proposal Closed 5:07pm - Thursday 9 Oct 2014

Outcome
by [deactivated account] April 25th, 2017 05:15

Failed

As a user,
When I post,
Then the post is not really posted, it is pending.
And it appears in my stream as if it was really posted but is editable
And a countdown indicate the remain pending time

As a user,
When I edit a pending post,
Then the client advertise the the pod of the edit so it is not posted for good during the edit,
And the pending time is reseted when I confirm my edit.

The default pending time 1min, adjustable in settings: 0s 10s 30s 1min 10min 30min

Optionaly:

As a user,
When I click on the countdow of a pending post (or a sendnow button?),
Then the pendind is canceled and the post is posted for good

Results
Agree - 1
Abstain - 1
Disagree - 1
Block - 1
10 people have voted (0%)
R

Rob
Agree
October 9th, 2014 01:26

With a couple caveats: 1min seems awfully short for a default? And I'd worry that a manual override link could be mistaken as something you have to click to complete the post. Otherwise it sounds great.

DU

[deactivated account] October 9th, 2014 01:39

Lets say 3min? and remove the sendnow option.

A

AlexB October 9th, 2014 01:41

When you say "not really posted" -- do you mean that it's not visible to other users, or do you mean that it's not inalterable?

DU

[deactivated account] October 9th, 2014 01:45

Not posted at all in fact. It's a delayed post. But it apprears like posted to the user. When then time is elapsed the Pod process the post and its "really" posted.

DU

[deactivated account] October 9th, 2014 01:48

It is inspired of the gmail cancel feature. It feels like posted so you act like it is posted but if needed and not too late you still can cancel to avoid the mess.

A

AlexB October 9th, 2014 01:49

OK -- to me that sounds like a preview, though. Maybe that is the actually workable solution... but I do think that what people want is the ability to actually post, and it be visible to everyone, but then to be able to correct spelling errors and so on. I feel like this feature is available on comment sections on many media websites.

DU

[deactivated account] October 9th, 2014 02:21

Sounds like preview but is not.

Actually: I post something. I forget to make it plublic. I'm stuck. Must redo all the edit since I can not see the markdow. I probably double post because of the lag.

With the proposal: I post something. I forget to make it plublic. I still can edit and just change it to public.

  • The proposal is not heavy since it does'nt deal with the federation.
  • The concept has been tested and approved by gmail users. If it feels like posted then its posted.
  • It can happen way more faster than changing the protocol.
  • It improves the user experience as a better solution is being searched. And the better solution will just extend the edit time.
  • It may be sufficent: if the complains drop drastically, then no need to deal with how to do the complicated solution.

https://pbs.twimg.com/media/Btm2-6oIIAItR9w.jpg:large

R

Rob October 9th, 2014 03:23

Ideally, the edit period would be after it is visible to others (in your own pod?) but before it gets replicated anywhere -- to other pods, to an email notification, etc.

But since that sounds a little complicated, Antoine's proposal gets the job done with a nifty psychological trick -- technically it's just a preview, but the user doesn't really know that, and the clock is ticking. This creates a feeling of urgency and concern that you just don't get from a preview that can sit there as long as you like. You imagine everyone else looking at your post, hoping you didn't say something stupid, scan through it again... and realize you did.

Brent Bartlett

Brent Bartlett
Disagree
October 9th, 2014 03:26

Brent Bartlett

Brent Bartlett
Disagree
October 9th, 2014 03:26

I dislike countdowns. They feel "stressy" to me. I'd like to be able to feel like I can go back and edit at any time, if I want.

Brent Bartlett

Brent Bartlett October 9th, 2014 03:34

Is the federation problem actually that significant? I can delete comments, and the deletion seems to propagate out to the other servers fairly quickly. And if it doesn't, that's an issue with federation, not the delete function. Nobody says that we shouldn't be able to delete comments because federation might be inconsistent. Why is editing any different?

R

Rob October 9th, 2014 03:48

Editing is different than deleting because it opens the possibility to two different versions of the same thing. Deleting just brings up the question of whether the thing exists or not, which isn't as liable to cause confusion and problems.

DU

[deactivated account] October 9th, 2014 04:07

@brentbartlett
The proposal is a step forward the goal of a post that can be edited anytime. But rather making a bing step we start with a babystep that allow to having editing in a short delay with a time restriction rather than nothing until we figure out how to deal with it. As @rob12 stated, it's not that simple. Let have something in the mean time. It will help to get traction. Or at least reduce frustration of actual users.

The golden solution implies:
* having revisions
* when to allow revision
* how to store revisions
* how to display revisions
* how to propagate revisions
* notifications when revised
* how comments fit in all this mess
* a lot more work to implement the possibly wrong solution

Brent Bartlett

Brent Bartlett October 9th, 2014 05:17

@rob12 Mike McGirvin had pointed out earlier that Friendica allows unlimited edits, and there haven't been any problems with it. I can think of about a dozen other systems (social networks, message boards) which allow unlimited edits and I haven't heard of any problems with them, either. They just prominently display a notice that the message was edited (often with a timestamp), so that if somebody did abuse the system like that, it would be pretty obvious. So, if there haven't been any problems with these other systems, why would there be any with Diaspora?

To me, it makes more sense to implement editing and then see what (if any) problems crop up, and then go from there, rather than assuming a worst-case scenario up front.

R

Rob October 9th, 2014 07:55

I forgot about the timestamps. That does help ward off obvious abuse. So now I feel sheepish about my example. But I'm in luck: Loomio also allows me to edit my comment at any time. So I did, and now your response to me makes less sense.

Except... Loomio also saves the full revision history. Which is good cause now we can go back and see my original comment to make sense of your response. But which is bad for the reasons you pointed out at the beginning of this thread. So if we don't save the history then you're left looking nonsensical.. unless you also edit your response, and the next person his response... and it starts to look more like a wiki than a discussion thread.

I dunno, maybe it wouldn't be the end of the world. Depends on the kind of users you've got. A bunch of software geeks can handle it no problem, other demographics might run into trouble. Or they may not. It would be interesting to see I guess.

NicoAlto

NicoAlto
Disagree
October 9th, 2014 08:17

Faldrian

Faldrian
Disagree
October 9th, 2014 08:34

Too stressfull. Also: The user can use preview to get this straight, this pending post thing is nothing more than a preview with a auto-submit feature.

Maciek Łoziński

Maciek Łoziński
Disagree
October 9th, 2014 09:33

It's too complicated - in code and user experience. It's not worth the complexity.

StefOfficiel

StefOfficiel
Disagree
October 9th, 2014 09:45

It's too complicated... Better edit for a change a button. Already understand what Diaspora is not an easy task, if necessary to understand complicated things further we will lose all !!

A

AlexB
Disagree
October 9th, 2014 09:57

I like some aspects of the proposal, but I think it should be a proper "edit" feature -- i.e. the post actually is posted when you first press post. (personal pref: 5-minute rule + discrete version history if easy to code.)

Augier

Augier
Block
October 9th, 2014 10:13

This solution is definitly a way of postponing the problem, not solving it.

antiphasis

antiphasis October 9th, 2014 10:19

IMHO the preview enough. Keep it as simple as possible - for the users and the infrastructure.

antiphasis

antiphasis
Disagree
October 9th, 2014 10:20

Augier

Augier October 9th, 2014 10:20

I think this discussion concerns far more than the simple question of editing posts. It concerns the entire federation.

diaspora* is the first attempt to to build a decentralized social network. It causes a lot of problems that don't even exist in a client-server architecture. These problems are really important ones. We can't deal with them just by providing workaround. Otherwise, we should just go back to a client-server social network. This workaround won't improve the federation protocol and we all know it needs to be improved.

This is a very complex question that concerns more than only diaspora* itself. It's an algorithmical and mathematical problem. Finding just bandages to fix these kind of problems will just throw us through the wall. The federation must be improved to deal with it's structure, or solving further problems will be harder and harder each time until diaspora* is just stuck.

Jakob

Jakob
Disagree
October 9th, 2014 10:44

I can't say I truly grasp the federation thing, but I think postponing a post would feel wrong. It would be as if there was no real point where you decide to submit. It would feel like lag.

DU

[deactivated account] October 9th, 2014 14:01

@rob12 loomio allows to edit the comments but not the proposal. I've seen it when I tried to change the default pending time and remove de optional SendNow.

@faldrian "The user can use preview to get this straight, this pending post thing is nothing more than a preview with a auto-submit feature." You will always make some mistake.

"Too stressfull" So not being able to edit at all is zen ?

@macieklozinski @stefofficiel "It's too complicated" ? Anything dealing with the federation is more complicated. Revision + federation is worst.

Pending post is:
* add a pending timestamp
* having a process that handle pending posts
* some UI

Federation + revision is:
* having revisions
* when to allow revision
* how to store revisions
* how to display revisions
* how to propagate revisions
* notifications when revised
* how comments fit in all this mess
* more UI

@alexb The proper edit is the next step if only possible. Lets enhance the user experience now with something we know is feasable in a shorter time. The user will see incremental improvement. If we want the proper edit, the user is stuck with nothing until it's done.

@augier "postponing the problem" It is about solving the user problem with a bicycle so it can avoid walking. Then we can see how to provide a car. But in the mean time the user is not stuck with is feets.

"I think this discussion concerns far more than the simple question of editing posts. It concerns the entire federation." This discustion from my point of view is about the user experience. You can improve it with a big step that will take a lot of time and is unsafe and if it's not feasable ot if it fails you're left with nothing. Or you can make a small step that improve slightly the UX and then have more time for a better solution, if it exists, since the user in less angry about no being able to edit at all.

@all
It's not about the proposal itself it's about improve the UX in 3 month with this proposal or anything else rather than maybe in 3 years with the "proper" edit.

Again: https://pbs.twimg.com/media/Btm2-6oIIAItR9w.jpg:large

That will be my last comment on this proposal since I can not see any other way to argument on it.

Augier

Augier October 9th, 2014 15:02

“postponing the problem” It is about solving the user problem with a bicycle so it can avoid walking. Then we can see how to provide a car. But in the mean time the user is not stuck with is feets.

Nope, postponing is about proposing the user to take him on your back and hoping that you won't feel any backache one day...

Solving the problem is improve the federation to let it do what it should do. So yes, it's a bit tougher, but it's the right solution. Timestamp is a bad one.

We should not patch diaspora* to provide functionnalities while the good solution would be to make things right. Because one day we will have to deal with a spaghetti code, a lasagna of code and nobody will have the willing to maintain it anymore...

StefOfficiel

StefOfficiel October 9th, 2014 15:05

@antoinecezar :

“It’s too complicated”

For the user. I was not talking about the design ! ;-)

StefOfficiel

StefOfficiel October 9th, 2014 15:11

It does no good to make little bits here and, other way ... It's better to focus efforts, do something solid and the proposed update instead of doing small patch from time to time.

DU

[deactivated account] October 9th, 2014 15:19

@augier spaghetti code comes from doing things wrong not doing the wrong thing. Doing the right thing with wrong coding will end in spaghetti anyway.

@stefofficiel my bad. I still disagree. But it doesnt' matter the proposal is closed now.

Augier

Augier October 9th, 2014 15:21

@antoinecezar : Well, mayby should we try to do the right thing with the right code, so ? ;)

shirish

shirish October 9th, 2014 15:39

What I usually do (might be the dumb thing) is to delete the post (usually typos or I forgot to put something or something equally stupid) and then re-post after cleaning or adding it up. I do wish there was an edit post but do understand that it would need some sort of patching of messages and could quickly be convulated for pod admins.

I have no idea when I do delete posts, are the posts eventually removed from other federated network (within the diaspora fold at least) or do they remain forever ?

R

Rob October 9th, 2014 16:42

I'm totally on board with doing things right the first time, and if the pending-timeout thing has no support so be it. But I think there's two debates that need to be had now:

  1. Is it really a good and desirable thing, coding effort aside, to let people edit their historical comments at any time? I don't think it is, for reasons I've outlined above, but perhaps I'm in the minority on this.

  2. If we decide it is, then we can debate about how that can be correctly done.

R

Rob October 9th, 2014 17:41

A recent proposal showed that a majority support a feature that allows editing of posts.

Can someone point me to that proposal? I just don't understand the rationale behind needing to be able to edit old posts. Maybe the other discussion will clear that up for me.

shirish

shirish October 9th, 2014 18:38

I wish it was not closed, I would have agreed to the proposal. I didn't like the fact that only 3% were able to state their position and the poll was closed in less than 24 hrs. if I understand the loomio timeline.

DU

[deactivated account] October 9th, 2014 18:52

@shirish with only on agree and one (unfair imho) block, the proposal is not ready to be accepted. Maybe it need to be discussed futher more, refined? May be its the concept of doing the right thing that need to be discussed? It seems to me to that the intent of the proposal was not fully understood by some people. And some advices feels like some people did not even read the discussion or try to understand the point.
But I also admit that I'm not good at communicating stuff.

Veni, vidi, failed. It's your turn to try. Run another proposal.