I am working on a new cycling platform and would love your feedback. In my experience, bad routes are caused just as much by missing or faulty OSM tags as they are by inadequate routing profiles. While commercial platforms like Komoot or Strava encourage OSM editing, the process is entirely unguided. Instead of seamlessly funneling route corrections back to OSM, user feedback on route quality is often captured and locked inside their closed databases.
I am building a platform that closes this loop, and would love your feedback. My idea is that users can directly login via OAuth. After a ride, the app can then check for segments with missing tags such as `cycleway`, `surface`, `smoothness`, `tracktype` but also `mtb:scale`. Users can then be prompted to add these tags. Furthermore, users can edit wrong tags if a given segment of their ride struck them as particularly good or bad.
I would appreciate your thoughts, especially also on these two questions:
Does the community see value in this workflow?
Is my understanding that this does not fall under organised editing correct?
I can already envision some potential data quality issues. For example, users might intentionally set surface or smoothness to something worse than it actually is just to force the router to avoid that segment. I believe allowing users to set personal “no-go zones” in the app—and reporting that segment to me instead of changing OSM tags—might prevent this.
If you have more ideas on mitigating bad edits, please let me know. Ultimately, requiring clear changeset comments and analyzing the edits via OSMCha might be the most reliable approach.
I’d love to be able to do this easily live as I’m riding. Though I can see how a suitably seamless workflow for that might be hard to design.
But at least being able to add markers for the after-ride edit (e.g. surface change here). And maybe have highlighting for ways missing certain tags so I know to pay attention while riding, or even make detours to check.
I wouldn’t underestimate the effort involved, as to do this properly you need to at least support splitting ways and all the issues that come with that (relation handling in general, turn restrictions, and so on).
Remember that OSMTracker is a good choice for making notes on the go. They won’t be directly attached to ways like a SCEE tag edit but it’s better for desktop editing.
Yes, I am aware that this is not a small project. For the initial version, I plan to focus on a web application, as I do not currently have experience building native apps. I will also restrict the tool to a small set of specific tags to keep the scope manageable, and simply provide a link to the iD editor for any other issues.
In the long term, a native app would be ideal. It would open up more possibilities, such as using the phone’s accelerometer data to automatically detect surface and smoothness mismatches. However, from what I understand, implementing this while keeping battery consumption reasonable would be rather challenging.
You might want to take a look at MapComplete. It allows osm-savvy techies to create a Theme for not-so-osm-savvy non-techies, allowing them to edit OSM directly (within the definitions of the theme, using presets), on their mobile devices. I think there is a full-blown cycling theme, including pictures of cycling-related POIs.
MapComplete seems to have multiple cycling themes, and is fairly confusing.
If I select the Bicycle infrastructure theme, the filters still have options like “what kind of agricultural cooperative is this” but absolutely nothing that’d help find missing details about bicycle infrastructure (i.e. “highlight all cycleways where pedestrians are allowed, but separation has not been defined”
In general I don’t understand how to discover things I’m “supposed” to do. Like I can browse around and see textual interpretations of the tags on features. I guess I could act if I know something is wrong, but I don’t see any guidance (“this way lacks surface, do you know what it is”, “this cafe has opening hours and hasn’t been updated in 10 years, are they still valid”).
If I select a cycleway, the lack of is_sidepath=* tag is interpreted as is_sidepath=no in the GUI. That seems like the wrong default assumption, and I don’t understand why I’m even being forced to care about this particular tag with unspecified usefulness. All usages of this tag in this country are in one city, presumably by one user.
Maybe I just don’t understand something fundamental here, but what I’d want from an “easy to use editor” is not hiding tags behind walls of text, but rather focused discoverability of features that lack useful tags, and a streamlined workflow for adding it.
I’d love to see an editor/website/thingamajig where I can upload a GPX track of my bike ride and I’m being told that “based on current OSM data and your ride this is an error you could correct like so and so”.
Earlier this week I was on a bike ride, took an unplanned turn in a small village and ended up in front of some stairs[1]. We continued that ride, but if your platform could highlight this after the ride (e.g. your ride with a road bike went over some stairs) that would be cool!
That sounds like a great idea, a lot of work though, good luck with it. Do you have a time frame in mind or is it to be an on-going thing?
In my experience there still isn’t a truly trustworthy cycling route maker out there. If I try and make a local route (where I know all the roads/paths/alleys etc.) they always want to take me on an unnecessary detour somewhere along the way and why is not clear at all. The walking route with a few alterations is often more accurate. So hopefully your project will help to address these short comings.
I hope I have something public by the end of the year. I have been working on a cycling platform for quite some time so at least I have most of the routing engine and interface ready. :)
Yes, I think adding of obstacles, barriers and stairs would be very useful. Here in Berlin, many paths are still blocked by a storm that happened a year ago. I do somewhat wonder how many cyclists needed to turn around because the trees were never mapped.
Both JOSM and Vespucci have concepts of “todos” that can contain references to OSM objects and can be systematically worked through (this definitely wouldn’t be a big thing to add to iD either).
Generating a list of these would seem to be one way of attacking the issue without all the issues of writing yae (yet another editor).
But naturally the issue is how does the app know that you took a different route there because of the stairs? In the end you are back to using a mobile device to jot it down (for example even if you didn’t want to immediately fix it in Vespucci, you could add a todo to do it later).
This was just an example I’ve encountered last week.
The envisioned use-case would be that the proposed router checks your route and “complains” if you rode over highway=steps (for example).
I suppose the ultra simple version of this is simply to automatically generate a marker (of whatever kind) when you didn’t take the planned route (with suitable tolerance for small changes).
I plan my hike ; I use the gpx in OsmAnd to navigate ; I track my hike and make photos of things I want to check or change in OSM.
I load the tracked gpx into JOSM, and import from OSM along the gpx.
I go over the gpx in JOSM from start to finish, checking unexplained differences, using the photos, memory and other sources such as recent arial photografy to edit OSM where necessary.
These steps could maybe be made more efficient, but I dont really need them all in one app; the standard available specialised apps work fine.
Only the flagging of situations as possibly needing attention, is entirely up to me. I can use JOSM’s validation right after importing the data for a gpx trail, but that gives me many flags unrelated to my hike, and skips many things that are correct but could use some extra tags. So I never do that.
One possible approach would be just to streamline the transfer data from phone to an editor on the computer (gpx, geotagged photos and notes/action items).
The collection could either be live: the app acts as a navigation map, records its own gpx (or imports a planned gpx), uses the phone camera to take photos, user can make additional geotagged notes… Or post-ride (import gpx trace to the app, app gets existing photos the phone that are along the route (with timestamps matching the route).
But the main feature would be just bringing all this stuff to a usable editor.
Implementing some kind of editor or question/answer based mapping tool on top would be an additional step.
Presets are there already. A selected object in JOSM shows the relevant presets, clickable. I don’t know if JOSM presets could ask questions instead of just offering text and options.
PS Or, display the keys/tags as questions. What is the surface of this cycleway?, instead of Surface:
Agreed, what I typically do is Ctrl+Shift+Up, that is Upload Data and it will run the validator just for whatever you changed or added. Those Error, warnings and information I typically try to solve so, I typically repeat this step a few time before I do the actual upload.
As far a App that helps during my trip, I do not see how that should work, when I move there is no possibility to control a device. I the past and nowadays but very way less frequently I did use a Columbus V-900, there is even a Josm plugin for that.