Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Add missing way" tool #2871

Closed
Tomagori opened this issue May 11, 2021 · 16 comments · Fixed by #3573
Closed

"Add missing way" tool #2871

Tomagori opened this issue May 11, 2021 · 16 comments · Fixed by #3573
Labels
wontfix idea rejected because it is out of scope or because required work is not matching expected benefits

Comments

@Tomagori
Copy link

Tomagori commented May 11, 2021

Use case
As it stands, the "Create new note" feature is awesome, especially that fact you can upload pictures. However, I've often stumbled upon missing paths and streets in my surveys, and I struggle to adequately convey their location and shape via either text or pictures. Some things just aren't visible on available imagery, so having this knowledge come from people on location would be useful. GPS traces alone often aren't accurate and having people walk down paths would make it cumbersome. I'd therefore propose an option to add a small drawing over the map, attached in the same way a picture is. Let me be clear, this would not be directly editing the map, only giving a more useful visual aid to editors.

Proposed Solution
My proposal would, in essence, be a new option between "Create new note" and "Open location in another app" called "Add missing way". Clicking it, StreetComplete would give you a draw tool, allowing you to create lines over the map.
I'm nothing close to an artist, so, a quick impression in paint, the red line drawn manually:
streetcomplete_566113_full

For convenience, an undo option and (possibly) an eraser would complete that feature. When you've drawn the line(s), you click "ok" at the bottom of the screen and a note is created at the location you originally clicked "Add missing way". Your drawing is attached just like with a note with a picture (so, uploaded to the server), and you get to comment on what you just drew (e.g. "Missing footway, asphalt" or "Example Street, residential").

If we wanted to get more advanced/useful, StreetComplete could then also offer a selection of possible tags from the highway key, as well as the other questions usually asked for ways (lit, surface, etc.) that are then appended to the comment before upload.

I'm not sure having just an attached drawing would be the ideal way of communicating the way's shape to editors, ideally it'd be something they can pull into iD or JOSM directly, but it'd certainly be better than having to interpret comments and pictures on the ground.

@Tomagori Tomagori changed the title Add way drawing tool "Add missing way" tool May 11, 2021
@westnordost
Copy link
Member

What version of StreetComplete are you using, just out of curiosity?

@Tomagori
Copy link
Author

Personally, v31.3. If you're referring to the screenshot, that's just an example I pulled from Google Images.

@CalliOSM
Copy link

For this feature it would be nice if SC could record and show the way the mapper just walked.

@Tomagori
Copy link
Author

#2209

@Tomagori
Copy link
Author

I think this could be its separate thing for a start. It's relatively simple, unproblematic from a privacy perspective and (possibly) more accurate and reliable. Though, of course, I'd welcome GPS tracing as well.

@westnordost
Copy link
Member

Hm, it does add one step between just adding a photo though: There'd need to be a popup menu with "Take photo" and "Show map and let me paint on it". So the vast majority that just want to take a photo will be hindered in their workflow. A little bit at least.

Also, the painting-on-a-map feature would not be trivial to implement. First of all, it'd need be some kind of basic paint clone regarding the UI, then we'd need to figure out how to display that stuff on the map (markers with tangram-es), then it must also be persisted (database table) and finally, it must be exported either to a picture (that is likely actually harder to do) or a GPX track. Finally, the streetcomplete image upload needs to be adapted to also allow uploading other files and so the sc-photo-service must be (separate repository) to accept GPX tracks.

And then finally, a GPX track is probably not even that helpful, because readers of that note can only download it and have to have some knowledge how they can stick it into their JOSM. I'd guess that with iD for example, it is not possible. So a picture would actually be better, but maybe this'll be more complex.

All in all, I find this is too much effort for the gain is not really entirely clear IMO.

@Tomagori
Copy link
Author

Hm, it does add one step between just adding a photo though: There'd need to be a popup menu with "Take photo" and "Show map and let me paint on it". So the vast majority that just want to take a photo will be hindered in their workflow. A little bit at least.

I see that, I wouldn't do it with an interrupting pop-up. Either with a new option, next to the existing "Create new note", or as another symbol next to the "add picture" symbol when creating a new node. I think this can be done without obstruction.

Can't comment on the technical challenges too much, but I see this could be an issue. I'd say the picture option would probably be best usability-wise, but if that's too difficult to implement I obviously understand.

@westnordost
Copy link
Member

Yeah, I'll close this. The estimated effort for this is just too high.

@westnordost westnordost added the wontfix idea rejected because it is out of scope or because required work is not matching expected benefits label May 12, 2021
@mnalis
Copy link
Member

mnalis commented May 12, 2021

For what it's worth, I solve situations like that with two notes like footway to SW starts here and end footway from NE. It usually works even without putting compass direction in notes too (which could be confusing if your map is rotated), but I usually prefer it just for double checking.

So then you just use simple geometry - draw a line through the two notes you've created and you have direction! It also allows to from more complex shapes (eg. adding third note if the way bends to different direction midway etc.)

(Note that I also add a picture in majority of cases, and I keep gpx trail in another app and verify with aearial photos when editing in JOSM. But those extras are mostly just because it is highly annoying to me if I have to go resurvey my own notes, even if it happens very rarely)

@mnalis
Copy link
Member

mnalis commented May 12, 2021

@westnordost one other thing that might be done to help here (if one wants to leave just one note), is that pictures uploaded via SC should preserve compass direction in EXIF data (as well as lat/lon), which many phones record. Currently all EXIF is stripped when Notes pictures are resized and uploaded to SC servers. (I can open new ticket if you want and find the idea reasonable.)

@westnordost
Copy link
Member

That does sound reasonable

@Lee-Carre
Copy link

Lee-Carre commented Jun 15, 2021

Even if the effort to implement this were trivial, I think it shouldn't be implemented anyway.

StreetComplete shouldn't try to be all things to all contributors, lest it fall victim to scope-creep and do less well in its niche.
There are already other highly capable (mobile) editors for adding missing ways. Besides simply capturing a trace to use later on a desktop to add missing ways.

For StreetComplete to become bogged down with features trying to bloat it into a full (not only tagging existing elements) editor would detract from its design and diminish its appeal.

For example; when I encounter a place for which the opening_hours are non-trivial or uncommon, then I simply use Vespucci. I don't complain that SC is lacking, because I want SC to remain simple & easy for the common cases, for that is where some of its advantage lays; making it easy to add common data, rather than being able to add all data at the cost of the common case.

@Tomagori
Copy link
Author

I see that argument and I respect it. An app suffers if it doesn't limit its scope, and I definitely wouldn't want SC approaching Vespucci's depth of editing. I'd argue the described feature would offer an opportunity for people that aren't that deep in the OSM-verse (which seems to be a target group) to contribute meaningfully in a way they couldn't before. With this feature, a casual OSM-contributor could do with just OsmAnd and SC on their phone (a fairly popular setup, for example) and contribute similarly and with a considerably lower barrier-to-entry as someone who has Vespucci. To me, allowing such a low-threshold way for people not in the "enthusiast" group to contribute to OSM is a worthwhile and reasonable scope for SC that still allows for a feature as described above. This is exactly why I'd argue in favour of a feature that allows people to just contribute quick drawings and not of a feature that allows adding and editing ways and nodes, as that would go outside of that scope.

@Lee-Carre
Copy link

allowing such a low-threshold way for people not in the "enthusiast" group to contribute to OSM is a worthwhile and reasonable scope for SC

I relate to that wish, but this starts to hit the concern of quality of contributions. Validity & correctness of data are important to preserve utility. When even experienced contributors (with sophisticated editors) make blunders …

a feature that allows people to just contribute quick drawings and not of a feature that allows adding and editing ways and nodes, as that would go outside of that scope.

There's the rub; adding a way isn't trivial, at least to do it correctly. How should it be tagged (as which type of way, let alone other characteristics)? Some kind of re-survey would be needed at some point.

Though, a hand-drawn line sounds like a poor substitute for a GNSS trace (for which there are apps to make that relatively easy).
I can foresee potential copyright issues, too; where did that line / drawing really come from? Would need to have reasonable assurance that it's the user's own work (or from a source with a compatible license), and not a proprietary map.

For uploading a trace, this could be done within OsmAnd, rather than having to be done with a separate app.

Beyond a point, the learning-curve can't be avoided. I've seen what happens, in other contexts, when design tries to shield users from important internals (think of the mess that WYSIWYG editors often output).

The thing is, I'm in the very group you describe, being an OSM newbie (only started contributing recently, though been aware & reading documentation for a while).
Yet, having a reasonable (if I do say so myself) technical background, I am only too aware of the pitfalls of trying to artificially flatten the learning-curve of an inherently complex system.
Sometimes, non-trivial barriers to entry serve the purpose of requiring a certain amount of learning in order to do more advanced things. Think of it as an entry-exam of sorts. A little knowledge is a dangerous thing, after all.

I, as a newbie, am mindful of my own ignorance, which is a major reason I started simple with the likes of SC (which is indeed a great introduction to contributing for budding enthusiasts) so that the details were abstracted away by those who knew how it should be done. Yet, I paid attention to the changesets that were added under my account, to become familiar with the underlying mechanisms to learn how it would be done manually with an editor with less abstraction (more direct editing of elements).

Lots more reading of the wiki, and I ventured into using a more direct editor for simple (e.g. only tagging) changes.

Rinse-and-repeat for each stage.

As I see it, diving into the deep end of the pool is a bad way to begin learning to swim.

There's something to be said for having the enthusiasm to learn more to self-improve and produce quality work. There's no short-cut for that.

So, when I argue against this, it's based on both experience from other contexts, and as a clueless newbie.

The notes system of OSM is deliberately generic, and free-form, and (I think) the only way that people can contribute anonymously. So, it serves the purpose of allowing those with zero experience to describe (in natural language, as they're familiar) whatever defect or improvement they see fit. Be that a missing way, or whatever.

Even if this proposal were implemented; what happens with the data?
It doesn't count as a GNSS trace to be uploaded via that mechanism.
It's not a note.
It's not a ready-to-upload newly added way (in the sense of valid XML describing a series of nodes, with tags).

So, how is it to be made available for actual contributors to add via a changeset?
Though, in asking this, I'm reminded that I should refresh my memory by re-reading your proposal in full.

I'm also wondering about quality of data; drawing accurately on a free-form graphical input (touch-screen display, graphics tablet, etc.) is tricky. What if the user does it from memory (rather than survey)? To me, this points back to GNSS traces.

You indicate, in what you say, that you want more contributors (or more contributions). Surely the desire to add a missing way, with no short-cut for doing so, would serve as motivation (for some) to learn how. Else, if in drawing where it should be, they feel that they've ‘done their bit’, this urge is quashed and the enticement to delve deeper is lost.

But, maybe I'm just an odd-ball, and thus my perspective is irrelevant. That's for others to decide.

@Lee-Carre
Copy link

Though, in asking this, I'm reminded that I should refresh my memory by re-reading your proposal in full.

Yeah, should've done that first.

GPS traces alone often aren't accurate

While there are a few places which seem to have systemic offsets (though I imagine this would be less of a problem now that we have multiple satellite constellations), this is often addressed by averaging many individual traces (ideally by different users using different equipment), since the averaged path tends to be quite accurate. It can be checked against imagery, too.

Failing that, there's always a survey (setting the node positions relative to nearby landmarks, if satellite reception really is that bad).

One could easily argue that there are at least as many sources of inaccuracy from hand-drawn-from-memory lines, as there are with the likes of GNSS traces (even before averaging). The difference being that the limits on GNSS accuracy are known and being improved, while hand-drawn lines will always be limited by humans.

having people walk down paths would make it cumbersome

Only if accuracy is considered inconvenient. Otherwise, this is the nature of surveying. Might as well use imagery if not gonna actually check things properly.

Depending on the type of way, they could always cycle or drive it. That happened recently, with a rural path, locally.

How will they know where the way should be drawn? I thought that this was intended for those out surveying?

@Tomagori
Copy link
Author

Thank you for your extensive comments. I'm definitely not arguing against GPS traces. If you have the time, energy and hardware to do accurate tracing, SC shouldn't stand in the way of that. What my proposal envisions isn't that people start drawing from memory or trying to imitate existing maps. It's not to substitute tracing, either. The imagined usage scenario is roughly:

I walk down a street and see there's a short path connecting to the street running parallel to mine. The tree cover above that path seems to have hidden it from satellite imagery, which is probably the reason it hasn't been mapped yet. So, I pull out my phone, open SC and draw a line on the map connecting the two streets there. I might also add a picture, to give mappers a better impression of the street. I add the comment "missing path here" and upload it.

Mappers reviewing my note will have the info 1. that there should be a path here, 2. what that path looks like from one end (the picture), 3. an indication of the direction of that path. Of course, I could make a better contribution by running up and down that path a couple of times and tracing while I do this. I could also walk down the path once and take more pictures while I do. But all of those are work that, while adding accuracy, are sometimes simply superfluous or disproportionate if you just want to communicate "here's a small path connecting these two points". In both the case of GPS traces and pictures, unless you either have good satellite coverage (and an accurate sensor) or communicate clearly where you are and what direction you're facing when you take the pictures, data quality and especially usability for mappers may in many instances still be lower than just drawing a line. The way I (and I'm sure many others) mostly use SC is while doing other things like during hikes, runs or walks, and giving people a draw tool allows people doing those activities to add a little more detail to their contributions without having to stop what they're doing for 20 minutes and break out the tracing app. That first drawing might not be the most accurate, but it'll get the path on the map, ready to be adjusted once more data is available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix idea rejected because it is out of scope or because required work is not matching expected benefits
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants