Sometimes (eg. this question) more than one user will simultaneously attempt to edit a post, particularly to fix poor formatting by the OP. It looks like in that case, I finished 30 seconds sooner than @marcog, but I don't know who might have clicked "edit" first.
Anyway, a useful usability enhancement would be to keep track of who is (or might be) editing a post at any given time. With this enhancement, the second user to click "edit" might see something like:
The following users may currently be editing this post:
- marcog (21 seconds ago)
If a message like that were available, I would immediately choose not to edit at that time, and maybe come back later if the formatting still needed fixing. This saves effort, frustration, and duplicate "hey I fixed your formatting" comments.
It is important to note that this feature would not attempt to prevent multiple editors, everything else would work just the same as it does now.
This feature could be implemented by adding a new table, say "editors", with the columns (post_id, edit_start, user_id). When a user clicks "edit" on a post:
- Check the editors table for old entries for this post, say > 5 minutes. Delete them.
- If there are any current editors, show the list as above.
- Insert a row for the current post and the current user with the current time.
When a user submits changes to a post:
- Delete the user's record from the editors table for that post.
- Scrub old entries from this table (if a user clicked "edit" but never submitted a change for that post).
- Provide a "Cancel" button on the edit page. Cancelling would remove the current user's record for the current post, but obviously not submit any changes.
Update: After saying in the comments that I've never seen the edit notification, I actually did just get it today editing this question. However, it showed the orange bar at the top (1 other users edited!) for a brief time just after I pressed "Save". What good is that?