29

In chat, if you notice a typo in a message you have a certain period before the capability to edit goes away. I have no problem with this.

Nevertheless, what is the point of notifying someone that they have five, or three, or two seconds left to edit? There is nothing useful that you can do in that time period. You wind up rushing and maybe even making the message worse. It feels like a bit of a cruel tease.

I contend that the fact that you have just tried to edit a message before the grace period has elapsed ought to entitle you to an extra 15 seconds (I'm just tossing that number out; it could be more, but shouldn't be indefinite). It is utterly useless to try to make an edit in two seconds.

Note that I'm not saying you should be able to do this in perpetuity. Just that if you do squeak in under the wire, there ought to be time enough to do something useful to remedy a problem.

13
  • 2
    For the sake of consistency may I suggest the allowed time be the same as that given for comments on questions and answers? Jun 11, 2014 at 10:08
  • 10
    Or perhaps just that you be allowed to finish an edit if you have started it prior to the end of the grace period.
    – Kit Z. Fox
    Jun 11, 2014 at 10:52
  • 2
    @KitFox: Except in that case you could start an edit and walk away for an hour. I think it is not unreasonable to allow you some time (maybe 15 seconds isn't enough), but I would hesitate to suggest that the edit could go on forever. This is a chat message, not a regular posting.
    – Robusto
    Jun 11, 2014 at 12:44
  • Why implement editing at all in chat? You can't edit in livespeak.
    – StoneyB
    Jun 11, 2014 at 13:43
  • 3
    @StoneyB: No one is asking for editing to be implemented in chat. It's already there. I'm just suggesting an improvement on something that currently exists.
    – Robusto
    Jun 11, 2014 at 13:52
  • And I'm suggesting that it should not have been implemented - that it violates the genre.
    – StoneyB
    Jun 11, 2014 at 13:55
  • 1
    @StoneyB: That is beyond the scope of this question. Apart from that, I disagree with you. I like the feature, and wish it was available in, say, Skype or Google+.
    – Robusto
    Jun 11, 2014 at 13:56
  • 1
    I think you need editing in chat because many times the formatting is off, and you'll want to repair it.
    – F.E.
    Jun 11, 2014 at 16:55
  • 1
    I agree that once an attempt is made to edit, then there should be a reasonable block of time provided for that edit (such as 20 seconds).
    – F.E.
    Jun 11, 2014 at 16:57
  • 1
    I love the idea – but isn't this more of an MSE issue than an ELU meta issue? (Oh, and please don't make the extension a mere 15 or 20 seconds; that only pushes the problem back a little bit. One or two minutes at least.) Jun 12, 2014 at 10:43
  • 1
    @J.R. I agree, in all regards; I wonder whether we can get this migrated? Hence also my comment about MID_EDIT_FACTOR possibly working out better as 1/2 or even 1/1 in my algorithm below.
    – tchrist
    Jun 12, 2014 at 17:11
  • @Robusto. I don't know about Google+, but Skype messages can be edited until such time as a reply comes through. Initiate edit mode by pressing the up key.
    – TRiG
    Jun 17, 2014 at 0:29
  • @TRiGisTimothyRichardGreen: They can be edited for at least 45 minutes, regardless of any replies; right-click on your message and hit "Edit Message" Jul 21, 2014 at 15:43

3 Answers 3

9

This is a genuine nuisance, one that leads to the troubles you enumerate.

The best solution is for the grace period to be till the start of the edit, not until its completion. Once you begin the edit, you should be given enough time to complete it. Being forced to rush anything virtually guarantees a poor result.

The timer should therefore reset once you start editing to the max of the normal time left and some other number, where that other number could be a function of the normal grace period. That way there would never be a useless time left once you began you edit, maybe something like max(time_left, GRACE_SECONDS / 4) seconds to complete that edit.

Being told you have 8 seconds left is horrible. One can bikeshed the second argument to max above, but it should be substantial fraction of the bell.

Perhaps something like this, in pseudo-code:

    ###########################################
    # General constants for editing comments:
    ###########################################

    GRACE_SECONDS    = 2 * 60;       # 2 minutes' worth of seconds
    MIN_EDIT_FACTOR  = 1 /  4;       # or 1/2 or 1/6 or 1/1 or whatever
    MIN_EDIT_SECONDS = GRACE_SECONDS * MIN_EDIT_FACTOR;

    #############################################################
    # Ok, now somebody starts a legal edit before the grace
    # period has expired.  Check to reset the timeout this way:
    #############################################################

    too_late      = post_time()   + GRACE_SECONDS;
    time_left     = too_late      - cur_time();   
    if (time_left < MIN_EDIT_SECONDS) {
        time_left = MIN_EDIT_SECONDS;
        too_late  = post_time()   + time_left;
    }

    let_them_edit();

    if (cur_time() > too_late + 1 && !am_moderator()) {
        reject_edit();
    } else {
        accept_edit();
    }

As written above, you would never have less than 30 seconds to complete the edit even if you started it with only 2 seconds before the normal grace period expires because you were at 1:58s past the post time.

This would not extend the time to start the edit, so if you spend 20s editing, legally finishing after 2:18s due to the extended grace, you couldn’t turn around and try to edit it again, since your 2:00 grace period had expired.

This is much more like the way it works when a question gets closed but someone was already editing a new answer. They are still allowed to post it, even though the post window for new answers has normally closed. Because they were in the middle of doing it when the door closed, they’re grandfathered in.

I almost think you should use 1/2 or 1/1 for the MIN_EDIT_FACTOR, but that’s just me.

2
  • 2
    One thing that might concern the "powers that be" is editing comments after follow-on comments have already been made. Perhaps the tool could be more strict about enforcing the five-minute limit (for, say, JoeTheUser) when someone else has already submitted a subsequent comment that begins with @JoeTheUser. Jun 12, 2014 at 10:49
  • 1
    @J.R.: I don't know, there's already enough time that if you're on top of things you can edit a comment after a dozen comments have followed on, even referencing the comment you want to edit. It often happens that I point out typos for someone up the chain before the edit lockout is invoked.
    – Robusto
    Jun 12, 2014 at 23:26
5

The point of limiting the window during which a chat message can be edited is to prevent a conversation from being changed after the fact. Thus what we want to limit is the maximum delay after which a message can change (moderator actions notwithstanding). The limit we set for this is two minutes, which I think is reasonable, but of course you can argue (and people have) that two minutes aren't enough.

But no matter what value we choose, any change that we'd make to the limiting logic would still ultimately be based on a "maximum time after which a message can still change" number.

If, for the sake of argument, we leave that value at two minutes, but we want to allow at least 30 seconds for the editing itself, that means we would just not allow you to start an edit later than 90 seconds after the message was posted. All this would really accomplish is prevent someone who noticed a typo after 100 seconds from fixing it. Anecdotally, very few of my edits take longer than a few seconds. So the change would prevent me from making a fix that under current rules, I would be allowed to make.

Unless of course I install the user script "Maximize chat edit time" that would surely show up quickly on Stack Apps, and which can't be prevented because the server has to trust the client when it says "an edit was started".

Hence all such a change would do is inconvenience users. Sure it's annoying if you, say, want to make an edit that would take you ten seconds, but upon initiating this edit, you only have three seconds left. But the next time, when all you want to add is the missing question mark at the end of the message, for which three seconds is absolutely enough, but we rather arbitrarily prevented you from making that edit, you would be complaining just as much.

Bottom line: In essence your suggestion isn't a request to extend the editing time, but ultimately a request to prevent an edit from being started too close to the (however valued) deadline, and that's probably not something you'd actually want.

3
  • Nice. Copy that countdown timer to comments, please :-)
    – Arjan
    Jul 21, 2014 at 12:13
  • I think you may have misunderstood my point. My request is not to prevent an edit from being started too close to the deadline. It is to grant additional time in case you did begin an edit too close to the deadline to do anything useful.
    – Robusto
    Jul 21, 2014 at 16:36
  • 2
    @Robusto Please read my answer closely. Granting additional time in that case is equivalent to a) extending the deadline and b) preventing an edit from being started too close to the end of that extended deadline.
    – balpha StaffMod
    Jul 21, 2014 at 16:38
1

I like it. If I know I have only five seconds left, I can give up, rather than wasting that time on what I think is going to be constructive, but instead ends up being Stack Exchange laughing in my face then punching me to the ground.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .