Streetcomplete: Undoing mistakes

Created on 9 Apr 2017  Â·  29Comments  Â·  Source: westnordost/StreetComplete

Here in Bonn, city planners seem to sometimes plan under influence. They create grossly complicated crossings for the fun of it so it is quite easy to attribute a wrong street surface as you mistook part 7164 of the intersection as part 7187 only to notice the mistake seconds later. It would help a lot if you could undo your mistake (i.e. re-open the quest) in order to correct it stante pede. I currently fire JOSM when I'm back home to correct the mistake - in order to keep track of the mistakes I use a combination of "Geo Lesezeichen" and "Todo.txt". I am also writing a tiny app that allows for geolocation-enhanced notes that I could use for this purpose. This would simplify the task but not actually improve the situation. IMO removing the mistakes should take place ASAP - as soon as you notice them.

enhancement help wanted

Most helpful comment

An alternative might be a 60s cooldown before publishing; and a cancel feature. I have accidentally input a wrong answer to quickly realise I had made a mistake.

All 29 comments

I understand your reasoning for an undo function, unfortunately, this is not in the scope of this app at all yet. Such a function goes far beyond the current abilities of the app.

However, sooner or later I will add a feature to add public and private notes, this will at least help this a bit.

So, if I ever implement this, it lies far in the future.

I use Vespucci on Android to "undo" mistakes in SC.

An alternative might be a 60s cooldown before publishing; and a cancel feature. I have accidentally input a wrong answer to quickly realise I had made a mistake.

Or an option to show solved quests to reenter.

Oh yeah, that would work (both suggestions). The latter is more complicated to implement but does not have less limitations.

Same here.
For me an 'undo last entry' button, or a list of answered quests that I can look through and delete. Personally I don't care about re-opening as much, more about not entering misinformation.
I made a couple of mistakes, part of dozens of filles quests. I noted them, so I can correct them in JOSM later, if I find the time.

+1 for a delay (even 30'' may be enough) before sending the data and allow a "undo last quest" button.
Would be much appreciated.

I really appreciate your efforts to keep the app as simple as possible!

On the other hand I do believe, that the correctness of the input data should have the highest priority. For me it happens way too often, that I do a mistake (and immediately realise) to feel comfortable with it. I think even a 10s undo button would do. But I think if a list of the last 20 changes (with a small undo-button next to each item) would pop up , if you tap on your star it would be even nicer.

+1 for a list of solved quests and the option to delete single ones (in case one made a mistake)

I think I should put this higher on my prio list.

I will implement this as a button with which one can undo the last change. (There is a delay of a few minutes for the last change to be uploaded.)

So, if i solve a quest, then i solve an other one. Will the first response be sent immediately to OSM ?
Or do I have to wait -also- "a few minutes" for the first quest ?

If answer to my question is : no first response will be sent immediately (because you make a second response), then i'm ok.

Thanks! I need this too! I'm not a hard core OSM contributor by any stretch and I feel bad and bewildered as to what to do next when I input a mistake.

Done, finally!
device-2017-08-17-230324
This was even more work than I imagined, but now it is quite elaborate:

  • You can undo any number of changes made within about one day
  • It does not matter whether the change has already been uploaded or not. If it has not been uploaded, the quest is simply reset to its original state (classical undo). If it has been uploaded, a reverse of the quest is being generated and uploaded as another change (classical revert). Technically, this change is handled like another quest answer, only that it is stored in a separate database table.
  • As the screenshot shows: the appropriate icon and the appropriate full title for the given element is shown. This was not trivial, as this information was simply not available before. That it is now is necessary preparational work for #35 and #80 (and alike)
  • There are no technical hurdles for enhancing the implementation by presenting the revertable changes as a list/map or whatever and pick the change to be reverted from there now. (PR welcome)

Limitations:

  • as the revert-quests are uploaded as normal quest-answers, a revert adds to the :star: quest counter instead of subtracting from it. I _could_ have implemented it another way to count the stars correctly, but then the revert-quests wouldn't be uploaded in the same changeset. I think it is more important to upload it in the same changeset than to have the :star: quest counter being absolutely accurate.

Help wanted

However, this is a sensible and critical change. I would very much appreciate if some people would test this feature out thoroughly (especially both undo of not uploaded changes and undo of already uploaded changes) before I merge it to master.

The branch to checkout is named undo.

@Natenom perhaps?

Built successfully. Will test tomorrow.

  1. Can you remove the undo icon if there is nothing to undo?
  2. If "Auto sync" is on and if I undo a quest I cannot see it anymore, even not after a rescan. Works if "Auto sync" is off.

1.
Ill rather leave it like tgis right now.

2.
Yes, thats normal. See my explanation above. There are two different operations: undo and revert. To the user, they are presented as the same thing but technically they are very different.
A reverted quest doesnt turn up again because of the quests cache.
Perhaps I have an idea how to "reactivate" the reverted quest again

On 18 August 2017 22:07:25 CEST, Natenom notifications@github.com wrote:

  1. Can you remove the undo icon if there is nothing to undo?
  2. If "Auto sync" is on and if I undo a quest I cannot see it anymore,
    even not after a rescan. Works if "Auto sync" is off.

--
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub:
https://github.com/westnordost/StreetComplete/issues/116#issuecomment-323449173

--
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

As for 1. At least grey it out as every application does it. If you just hide it or remove it completely, that is both bad UX.

As for 2. maybe still add some internal cooldown phase to the auto-upload feature, so at least you have some seconds or 1 minute before the quest is upload.

I'd like to add another question, so:

  1. Is it planned or do you think it would be a good idea to add an "undo undo button", ehm… I mean a button, which just reverts the undo in case you accidentally clicked on it or so… (You know that button from most office applications – often called "restore" or "repeat".)

3.

No, not planned and I do not approve. Every undo precedes a confirmation dialog, so it is hard to accidentally undo something.
I am working on that 2. doesn't have this effect anymore.

Oh, nice!

Today I entered levels=50 to a quest and I am very sure that I used the undo button, got a dialog and clicked ok, but it didn't undo, see https://www.openstreetmap.org/way/37006067

Auto-Sync was on and there was an internet connection available.

I may know what I made wrong. Just tried the same again, answered a quest wrongly and undid it, then the "stars" in SC show x (-1) but do not upload. Needed to manual press "Upload answers" to undo it online.

Why doesn't SC upload the undos automatically?

Undos are uploaded only when a new quest is solved. I think it should be done instantly.

BTW: Is it possible to show the entered value for a quest that should be undone? This would be helpful in case of "level=" quests.

You mean in auto-sync mode, an undo doesn't immediately trigger an upload?

BTW

Not for now. Users are not exposed to the actual tags. I'd add that for the mentioned expert mode.

You mean in auto-sync mode, an undo doesn't immediately trigger an upload?

Exact.

Ok, should be solved. Additionally, the quests should immediately pop up again (in auto sync mode) after they had been reverted. Would you test that as well?

(Additionally, a quest that depends on another, i.e. the roof shape quest on the building levels quest, should now be shown immediately after the user's answer has been uploaded. So, in auto sync mode, ~almost instantly. In manual mode, after the user pressed "upload".)

Jupp, pops up after undo :)

Cool.

Will test the other stuff tomorrow.

(I did not forget your bug report, it's on my radar and will be fixed )

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tordans picture tordans  Â·  4Comments

Atrate picture Atrate  Â·  3Comments

nmxcgeo picture nmxcgeo  Â·  3Comments

rugk picture rugk  Â·  3Comments

Helium314 picture Helium314  Â·  3Comments