Helium314 / SCEE

OpenStreetMap surveyor app for experienced OSM contributors
GNU General Public License v3.0
137 stars 11 forks source link

Automatically open next quest when moving #583

Open Helium314 opened 1 month ago

Helium314 commented 1 month ago

I recently got a request for adding a mode that automatically opens the "next quest" when you're moving along a path / road. This could be usefule when you're in a car, bus, or even on a bicycle (though I don't wan't to encourage this). Might also work for pedestrians, but probably not that well.

So here is a rough idea how it could work, in case it gets implemented:

  1. The first step would be determining what this "next quest" is. Getting direction of movement is simple, and movement could be predicted by using a close highway the user is moving parallel to (though there could be performance issues). Now that we know where the user is moving, the next quest could be determined by distance to user and the highway, e.g. closest quest to the highway, within a distance of 20-100 m from user. Here it will not be possible to be perfect, e.g. because view can be obstructed, and good choice also depends on quest type (like roof shape vs housenumber). Also the highway the user is moving on should be considered, and possibly preferred if it has any quests.
  2. Then this "next quest" is opened and kept open until the user answers, closes, or is too far away (what this actually means can be determined later).
  3. When the quest form is open, the map should show both the user's position and the quest geometry.
mnalis commented 1 month ago

I recently got a request for adding a mode that automatically opens the "next quest" when you're moving along a path / road

Sounds interesting, but I'm not sure how well it would work in practice. Even when I click my own quests (so I know exactly which object that is in real life before quest pops up) while moving on e.g. bus/train, I'm surprisingly often not successful in solving it in time so have to cancel.

Having some AI predict that location better then me, and then me managing to mentally connect the location it has chosen on the map with the object I am seeing in real life, and answer it in time, seems like a not an easy task, especially if solution is to be "one size fits all".

Probably would have to have some auto-learning capacity (per-quest-type maybe, as different quests might take different amount of time to solve), i.e. be able to determine if it is asking quest too close or too far away for current user to solve them in time, and auto-adjust accordingly (like how TCP adjusts its speed depending on available bandwidth by looking how often packets gets dropped -- with additional problem that humans are more easily annoyed than computers if quests get offered too fast / dropped too often, so better stick with conservative methods like slow start ) .

kept open until the user answers, closes, or is too far away

That "too far away" option might be problematic too. Having old quest disappear and/or be replaced by new one "automagically" while the user is looking / trying to interact with the app sounds like bad UX to me. "Until the user answers or closes" part seems fine though, provided "which quest to choose and when" issue above could be solved in satisfactory way...