StreetComplete is an easy to use editor of OpenStreetMap data available for Android. It can be used without any OpenStreetMap-specific knowledge. It asks simple questions, with answers directly used to edit and improve OpenStreetMap data. The app is aimed at users who do not know anything about OSM tagging schemes but still want to contribute to OpenStreetMap.
StreetComplete automatically looks for nearby places where a survey is needed and shows them as quest markers on its map. Each of these quests can then be solved on site by answering a simple question. For example, tapping on a marker may show the question "What is the name of this road?", with a text field to answer it. More examples are shown in the screenshots below.
The user's answer is automatically processed and uploaded directly into the OSM database. Edits are done in meaningful changesets using the user's OSM account. Since the app is meant to be used on a survey, it can be used offline and is economic with data usage.
StreetComplete is regularly cited as soon as OpenStreetMap is mentioned on HN, and with excellent reason (this is a really good introduction to mapping with OSM). Congratulations to the team for the beta!
Indeed, I've been following the issue since it was mentioned here last time and was positively surprised about how quickly they progressed and got the first version shipped.
It's a great app, been using it on Android for years. It has a really low barrier of entry (except maybe OSM account creation) and makes improving OpenStreetMap really easy even for people that have no experience with map editing. There's simple questions, e.g. about road surface or accessibility, with illustrated multiple-choice answers.
Overall, my experience has been pretty smooth. Just look at how little platform specific code is found in the streetcomplete repo and how straightforward these connect with the common code.
Or maybe I have been using it too long so that I don't notice the awkward bits anymore.
Yes, to be more specific, every tool like this has benefits offered and then taxes to be considered. For example, what's the tax for:
- Maintaining a significant new moving part in the dev process. KMP updates, management, integration, futures awareness, this all takes non-zero time.
- If an iOS dev wants to work on a KMP project what's the ramp up time? How much less efficiently can they contribute compared to a pure native app?
- How much time is spent on problems, bugs, issues, related to KMP. This is guaranteed non-zero for any tool.
- Is there less benefit to KMP with coding agents? Previously with two native apps, a bug fix had to be done twice. Currently, say a fix in done on Android, it's quite easy to say "propose an equivalent fix for the iOS repo". I do not claim this removes all benefits of a single code base, just that some things are not as bad now.
Regarding moving parts in KMP, I have the impression that it is quite stable now, and has been for some time. I feel it is less maintenance work than having an Android project that uses the Android UI framework and system APIs. Google loves to deprecate and invent new APIs every few years.
I feel there is very little in the way of breaking changes that need changes in the code in KMP. Most of that comes from some third party libraries on major new versions. The biggest change recently was a change in the Android Gradle plugin that required to change the project structure. Arguably, that again was more of an Android than a KMP thing.
> iOS developers
Well, the app is Kotlin Multiplatform + Compose Multiplatform as UI framework. So, while it runs on iOS, the parts that would feel native to an iOS dev are near zero: There are about 50 lines of code in Swift in the project and about 1000 dealing with iOS APIs, but written in Kotlin.
As Kotlin and Compose is used in Android development, the project will always feel more accessible to Android developers. That said, Kotlin is somewhat similar to Swift and Compose is also a declarative reactive user interface framework, i.e. similar to SwiftUI.
As for the setup, they need at least IntelliJ/Android Studio to compile all that Kotlin to native code before launching the app from XCode in a simulator. That's my setup at least. Certainly one could also just use gradle (the build system) from the commandline.
> KMP bugs
KMP bugs, none that I remember. About platform-specific issues we will see what will surface during the beta test. So far, one thing surfaced, but it was found easily and necessitated changing 4 lines of code.
Compose (the UI framework) is a different matter. At times, I feel it is quite unwieldy when not solving standard problems. Being designed primarily by Google, I also find that best practices change and deprecations happen fairly frequently. Certain features lacking in Compose Multiplatform I need to implement myself. For example, there are still no scroll bars.
> Coding Agents
I have little experience with that, but what I have seen, the agents have no problem generating working code for the platform-specific parts of the implementation. Some un-slopping is necessary as always.
And, as I wrote, the platform specific code takes up a tiny part of the whole code base. Of the 80k lines of source code in the production code, 2k lines of source code are platform specific.
(for context, I helped with the streetcomplete port, and have build and maintained a KMP / CMP maplibre sdk for the past two years, but otherwise consider myself a polyglot proficient in most common tech stacks at least to a moderate degree)
> Maintaining a significant new moving part in the dev process. KMP updates, management, integration, futures awareness, this all takes non-zero time.
If you're already doing that for Android, any additional tooling/infra churn for KMP is pretty negligible, except for a one-time cost of separating common kotlin code from android-specific code. KMP updates are just Kotlin updates.
> If an iOS dev wants to work on a KMP project what's the ramp up time? How much less efficiently can they contribute compared to a pure native app?
Two answers here:
1. Kotlin, the language, is quite similar to Swift, and can call ObjC APIs (or Swift annotated with @ObjC) directly via cinterop, so you're calling the same iOS SDKs. Compose is a declarative UI framework in the same vein as SwiftUI and React (and IMO with fewer footguns and quirks than SwiftUI, though there are some). It renders more like Flutter (via Skia) but it's not hard to embed as a component of a SwiftUI app.
2. KMP libraries can also export ObjC or Swift APIs, called in Swift. It's fairly common for there to be a shared business logic / service layer within an app, perhaps even shared view models, and leave the UI layer itself to SwiftUI and Compose for each platform.
Compared to something like React Native, I find that KMP is much friendlier and less opinionated about how you use it and how much you integrate it. You can use it to share a small module, or the whole app, or anywhere in between, and the seams at the boundary are not nearly as painful as you'd expect crossing languages.
> How much time is spent on problems, bugs, issues, related to KMP. This is guaranteed non-zero for any tool.
Hard to quantify, but in my time working on MapLibre Compose for the last two years, I've run into a handful of Androidx bugs, and much fewer KMP / CMP bugs. Even the same APIs, on the Compose Multiplatform side tend to have fewer pitfalls and bugs in my experience than on the Android side.
That said, the time I've spent dealing with _IDE_ bugs in JB IDEs has been far too much. These days, I spend much less time in an IDE, so it hasn't mattered as much, but I'd _like_ to spend more time there as ideally, even if agents are generating code, I want to read and navigate it in a nice environment.
> Is there less benefit to KMP with coding agents? ... just that some things are not as bad now.
Probably depends where you are on the vibe coding vs ai-assisted engineering spectrum. I'm a heavy AI user these days, close to 100% since Fable/Sol/Astra, but on code I care about, I don't vibe code, I still spend time to understand and refine at least the architecture, if not the line-by-line code. So still I prefer the single codebase because that's one fewer set of abstractions, of failure modes, of guardrails, of test harnesses, etc to worry about.
But if you care deeply about the native UI, using Compose on Android, SwiftUI on iOS, and then KMP for a shared core is an excellent architecture. The opposite, a shared Swift core, I think is also becoming more possible as Swift targets Android, though I'm unsure what the kotlin-on-android -> swift integration experience is like.
I've been building https://maplibre.org/maplibre-compose/ in my spare time for the past two years and helped with this port; happy to answer any questions you have about KMP or CMP
Generally, I'm very happy with the platform and it's only gotten better over the past couple years I've been deep in it.
StreetComplete is great. For me it made Openstreetmap much more approachable and now thanks to me there are a few more public toilets and one small road in osm. Especially with the road it was really interesting to see how quickly Google maps also took in this path. But they still also have the old road in the app. So it's linked but not 100%
I wonder if it's by design. TestFlight apps have a hard user install limit, I remember waiting around for someone to leave previous betas to try them out.
It's a... mix. I can see all the shapes of the roads and areas i mapped in my area, but they seem not to trust OSM naming so they either have no name or the name TomTom gave to the equivalent street.
I can see most POIs i added with the exact name i gave to them, but the reviews and opening hours are pulled from Tripadvisor.
It's explicitly advertised for driving, not walking, so it's optimized to get you to places. CoMaps and even OSMand are much better for walking around.
And there's a simple reason for the search being so bad in most OSM apps: offline search.
The focus of all these apps seems to be a self-imposed "the app should never touch a server, ever, because what if the user is on a 100$/GB roaming plan in Africa", but indexing the maps is not easy.
I run a local Nominatim database (search engine for OSM) for Italy and it's ~57gb of data and indexes for one country only, and it barely supports fuzzy search.
I tried the TomTom app (on iOS) recently but found it incredibly buggy, especially when connected to CarPlay. The speed indicator would often just show 1mph, the dark mode would work about 20% of the time, and searches would show results from other countries ahead of a place 4 miles up the road.
OpenStreetMap is a database, not a map application. The map on the official openstreetmap website is more of a demo to show some of the data. There are many different map apps that use OpenStreetMap data though.
I have been using StreetComplete on Android thanks to a comment here some weeks ago. This is a really great tool, the barrier to contribute is brought to nearly zero.
The only one thing missing for me is a small history of my past contributions. At some point, I made a mistake and entered the wrong information (nothing terrible, the surface of a walkway, it was 30% one surface, 70% another, I gave the 30% value instead of what I think 70% would be better). I would have been glad to be able to quickly "revert" this contribution.
You can actually split the road into multiple segments and answer each separately if you don't mind the extra effort. I think there should be something like "differs along the way" button which then asks you to pick a point where to cut.
The name probably just references the street in OpenStreetMap (OSM) as StreetComplete doesn't only collect street data as the sibling comment already noted.
Every Door has a very confusing UI (lots of unlabeled buttons with unclear icons), unfortunately. I would love to use it, but even the web-based iD editor is so much easier to figure out!
I agree and I've been thinking about making something similar to Every Door but that takes advantage of AI to let you snap a photo or just send a voice note and then have the appropriate tags generated for review based on some very strict schemas. Would something like that be of interest to you?
I was thinking it would be ideal to have something that lets you walk down a street holding your phone out, capture a series of images and then process that in to changes you approve manually at home. Could even be processed locally on a computer after the fact.
Being able to process it later on the computer would definitely be great! That's kinda what I already do via notes but it's fairly painful to match up the photos I took to the notes and times.
The Street Complete UI is just perfect for mobile. If I'm walking down the street with a phone, I don't want to edit polygons or accidentally move a road. I just want to fill in missing data on existing mapped points.
You can choose the type of questions you want to get asked about in StreetComplete. If you want to only enter store names and timings, then go into Settings and pick those.
Maybe I don’t understand how it’s supposed to work, but the very first question I was given had three choices and none of them were correct. What are you supposed to do then?
That's when you hit "uh..." and leave a note with details. In an effort to keep things simple on a small screen it doesn't include every possible option. You can read the wiki to find the best way to tag it. https://wiki.openstreetmap.org/
It’s very confusing to me too. I clicked an icon to see what it was, and it was opening times of a supermarket, which I had no idea about. But I couldn’t find a way to just get back to where I was before. My workflow now is to keep force killing the app frequently when I get stuck.
Same here, I can't believe there is no way to go back. I have to s of things around my house that I can just add because I live here, but I don't remember everything, and once I hit a question that I cannot answer from memory, I am stuck.
Same here, but the GitHub thread actually calls that out as a known bug. Swipe from the left. Intention is that clicking sonewhere on the map closes the dialog.
I click a quest and answer it but the app seems to be stuck on that quest and I can't figure out how to get back to all of the quests available near me. Is that a common experience?
nice to see StreetComplete coming to iOS. Its question-based approach makes contributing to OpenStreetMap feel approachable even if you’re not familiar with the underlying data model
The current demo doesn't seem to cover many places worldwide, but what is there is really neat! To me this already looks better than modern city sim games, because they never seem to get the scale right, among other things.
Not sure what's stopping them from covering more places, since the idea presumably is to generate these tiles from existing OSM data.
It's weird that they fund it given their licensing. Usually government data is CC0 or public domain while OSM is not (maybe Germany is different?). OSM actually has a lot of problems injesting data b/c a lot of map data can't be relicensed under their license.
Ironically.. that you can't contribute map data that requires attribution to OSM...
It's a great project.. but I think they really messed up the licensing in a misguided effort to make the project viral. It's really unfortunate. I hope an alternative emerged eventually
I would say biggest issue with licensing comes from clear attribution being problematic at the scale of OSM not the virality or relicensing problems. That and OSM aiming for being squeaky clean, far away from any ambiguity in terms of third party data licensing.
It is simply impractical to attribute all the sources anywhere in UI or printed copies of map. And whether an attribution hidden somewhere deep in wiki is considered acceptable is grey zone.
The fact that OSM themselves want attributions is another reasons why they have high standards for what's considered an attribution which they can't achieve for third party data sources.
In case of software License.txt and Help/About is considered standard practices. But that doesn't necessarily translate to other mediums of copyrighted work. Something like books or research papers have their own generally accepted practices of how attributions are handled. For maps digital and physical text in the corner is often used practice. You can see it even for something like a building plan posted next to construction site, listing additional map sources used for preparing the drawing. So it's not exactly unique invention by OSM. Back to comparison with software, software can't exactly be printed out so the concerns about attribution are different. Also software licenses typically require listing including a copy of license text not just attribution , which is simply impossible outside separate file or dedicated UI.
In practice the OSM aiming for better than good and thousands of unverified contributors being uncontrollable lands it somewhere in the middle. But if they aimed for barely acceptable all the contributors would definitely push the bar bellow legally acceptable.
On the topic of government data, CC-BY is also common which is somewhat problematic. But more often they have no idea under what license they are releasing their data. They come up with complicated schemes of metadata, which never gets properly filled or parsed, thus resulting in conflicting information about license being used. And if you ask them to clarify they will just say, "yes yes it's open data you can reuse it", with the government employee having no understanding about differences between various licenses and that not all open data is equal.
I understand that there is precedent and there is a logic to it... but to me it rubs me the wrong way. I think text and code are not very analogous situations. If I think in terms of software licenses..:
- I sort of respect the copyleft ethos. You put out a thing with the understand everything it touches is also going to be openly available. I think attribution isn't really part of the central idea there.
- I also respect the MIT/BSD style thing where you're just putting stuff out there in the public domain and it's part of the corpus of human knowledge. You leave your mark so to speak.
The middle ground of "You can use this but you gotta promote our service and stamp our name on it" just feels icky. I don't want to contribute to that. I feel I'm helping OSM the organization and.. I don't know them .. are they good stewards of the data I'm giving them? Are they going to be good stewards in 10 years? Hopefully that kinda makes sense? I guess the same can be said for Wikipedia, but Wikipedia for better or worse is very siloed. You have to attribute stuff you copy from Wiki but ..
A: Realistically nobody is actually copying wiki articles other than lazy high school students. It's just not very reusable outside of Wikipedia
B: This is more of a plagiarism issue. It encourages people to disclose it's not their own words (this is not an issue with maps.. nobody thinks you surveyed your city to draw the map)
I don't get why you consider MIT/BSD fine when both of them have "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software." but when OSM does the same it somehow becomes "you gotta promote our service".
> For practical reasons we require that users of OpenStreetMap data attribute the project as a whole and we in turn provide attribution to third parties via the "Contributor" pages. Licences and terms of use that require attribution of the third party data source directly on derived works are incompatible.
"require attribution of the third party data source directly on derived works" is exactly what OSM requires. It's hypocrisy of a sorts
> It's a great project.. but I think they really messed up the licensing in a misguided effort to make the project viral.
OSM's sharealike provision has never been about making the project "viral". Free map data is enough to do that by itself.
OSM's sharealike provision is, and always has been, unambiguously aimed at stopping bigcos killing the project by scooping up the map data then contributing nothing back - the scenario where Schmoogle Maps takes all OSM's footpath data, combines it with their own motor-centric, sensor-fuelled dataset to create the one map to rule them all, and thereby attracts the flow of new contributors that OSM needs to survive.
I frankly don't understand this kind of hostility towards people making money from what you've shared (b/c that's the subtext here). People building on your work feels like something to be celebrated, but I guess it's a difference of opinion. I'm just generally skeptical that this would be "killing the project" at all.. it feels like it'd be the other way around? If OSM data were for instance used by Google and Apple Maps.. it feels like it'd just have made it more foundational and would get people even more excited to contribute.
Can you imagine if GIMP has a similar policy to watermark all it's output with a "Made my GIMP!" in an effort to "attracts the flow of new contributors" and to make it hard for people to build a product with it?
Oh interesting! So they manage to not watermark their maps. OSM seems to heavily imply you should watermark, but as I understand it, it's not strictly required
Sadly not always the case. The Irish government went with CCBY 4.0 as the primary license which causes some compatibility issues with OSM due to specific clauses. :/
I'd like to see native Apple sign-in, as opposed to via a WebView. When I used the WebView, the password text box was obscured and fiddly to fill in.
There should be an easier way to dismiss something I've clicked on, than having to tap "uh..." and then dismiss two dialog boxes.
Things that I've submitted (e.g. house numbers) should be visible on the map, to visually show my contribution progress (even if pending review or whatever). At present my contributions just disappear into the void.
Satellite overlay would be very useful to correlate houses.
Seeing some indication of other recent local contributions would be nice, to make the app feel more alive.
> Things that I've submitted (e.g. house numbers) should be visible on the map, to visually show my contribution progress (even if pending review or whatever). At present my contributions just disappear into the void.
edits are immediately applied to live database (with delay if you have chose to do so or internet connection is not available). Once a minute update is published to data consumers.
if you want to see house numbers you can enable house number overlay (left circle in top right, select blueish icon with address label next to it)
and why it is not visible immediately on background map? because it is also OSM data, but processed OSM data and updates with delay
(why processed? because globe-spanning map requires some simplification, rendering from raw OSM data is infeasible on a phone)
OSM editor Go Map!! also has a "Quests" overlay that is very similar to Street Complete (even uses the same icons). And you can also define custom quests for data you want to easily gather.
However, it's lacking the nice example pictures for each option - so, with Go Map!! you need to know what you're doing.
139 comments
[ 4.8 ms ] story [ 43.2 ms ] threadStreetComplete is an easy to use editor of OpenStreetMap data available for Android. It can be used without any OpenStreetMap-specific knowledge. It asks simple questions, with answers directly used to edit and improve OpenStreetMap data. The app is aimed at users who do not know anything about OSM tagging schemes but still want to contribute to OpenStreetMap.
StreetComplete automatically looks for nearby places where a survey is needed and shows them as quest markers on its map. Each of these quests can then be solved on site by answering a simple question. For example, tapping on a marker may show the question "What is the name of this road?", with a text field to answer it. More examples are shown in the screenshots below.
The user's answer is automatically processed and uploaded directly into the OSM database. Edits are done in meaningful changesets using the user's OSM account. Since the app is meant to be used on a survey, it can be used offline and is economic with data usage.
Or maybe I have been using it too long so that I don't notice the awkward bits anymore.
Any specific parts you are after?
- Maintaining a significant new moving part in the dev process. KMP updates, management, integration, futures awareness, this all takes non-zero time.
- If an iOS dev wants to work on a KMP project what's the ramp up time? How much less efficiently can they contribute compared to a pure native app?
- How much time is spent on problems, bugs, issues, related to KMP. This is guaranteed non-zero for any tool.
- Is there less benefit to KMP with coding agents? Previously with two native apps, a bug fix had to be done twice. Currently, say a fix in done on Android, it's quite easy to say "propose an equivalent fix for the iOS repo". I do not claim this removes all benefits of a single code base, just that some things are not as bad now.
> KMP stability
Regarding moving parts in KMP, I have the impression that it is quite stable now, and has been for some time. I feel it is less maintenance work than having an Android project that uses the Android UI framework and system APIs. Google loves to deprecate and invent new APIs every few years. I feel there is very little in the way of breaking changes that need changes in the code in KMP. Most of that comes from some third party libraries on major new versions. The biggest change recently was a change in the Android Gradle plugin that required to change the project structure. Arguably, that again was more of an Android than a KMP thing.
> iOS developers
Well, the app is Kotlin Multiplatform + Compose Multiplatform as UI framework. So, while it runs on iOS, the parts that would feel native to an iOS dev are near zero: There are about 50 lines of code in Swift in the project and about 1000 dealing with iOS APIs, but written in Kotlin.
As Kotlin and Compose is used in Android development, the project will always feel more accessible to Android developers. That said, Kotlin is somewhat similar to Swift and Compose is also a declarative reactive user interface framework, i.e. similar to SwiftUI. As for the setup, they need at least IntelliJ/Android Studio to compile all that Kotlin to native code before launching the app from XCode in a simulator. That's my setup at least. Certainly one could also just use gradle (the build system) from the commandline.
> KMP bugs
KMP bugs, none that I remember. About platform-specific issues we will see what will surface during the beta test. So far, one thing surfaced, but it was found easily and necessitated changing 4 lines of code.
Compose (the UI framework) is a different matter. At times, I feel it is quite unwieldy when not solving standard problems. Being designed primarily by Google, I also find that best practices change and deprecations happen fairly frequently. Certain features lacking in Compose Multiplatform I need to implement myself. For example, there are still no scroll bars.
> Coding Agents
I have little experience with that, but what I have seen, the agents have no problem generating working code for the platform-specific parts of the implementation. Some un-slopping is necessary as always.
And, as I wrote, the platform specific code takes up a tiny part of the whole code base. Of the 80k lines of source code in the production code, 2k lines of source code are platform specific.
> Maintaining a significant new moving part in the dev process. KMP updates, management, integration, futures awareness, this all takes non-zero time.
If you're already doing that for Android, any additional tooling/infra churn for KMP is pretty negligible, except for a one-time cost of separating common kotlin code from android-specific code. KMP updates are just Kotlin updates.
> If an iOS dev wants to work on a KMP project what's the ramp up time? How much less efficiently can they contribute compared to a pure native app?
Two answers here: 1. Kotlin, the language, is quite similar to Swift, and can call ObjC APIs (or Swift annotated with @ObjC) directly via cinterop, so you're calling the same iOS SDKs. Compose is a declarative UI framework in the same vein as SwiftUI and React (and IMO with fewer footguns and quirks than SwiftUI, though there are some). It renders more like Flutter (via Skia) but it's not hard to embed as a component of a SwiftUI app. 2. KMP libraries can also export ObjC or Swift APIs, called in Swift. It's fairly common for there to be a shared business logic / service layer within an app, perhaps even shared view models, and leave the UI layer itself to SwiftUI and Compose for each platform.
Compared to something like React Native, I find that KMP is much friendlier and less opinionated about how you use it and how much you integrate it. You can use it to share a small module, or the whole app, or anywhere in between, and the seams at the boundary are not nearly as painful as you'd expect crossing languages.
> How much time is spent on problems, bugs, issues, related to KMP. This is guaranteed non-zero for any tool.
Hard to quantify, but in my time working on MapLibre Compose for the last two years, I've run into a handful of Androidx bugs, and much fewer KMP / CMP bugs. Even the same APIs, on the Compose Multiplatform side tend to have fewer pitfalls and bugs in my experience than on the Android side.
That said, the time I've spent dealing with _IDE_ bugs in JB IDEs has been far too much. These days, I spend much less time in an IDE, so it hasn't mattered as much, but I'd _like_ to spend more time there as ideally, even if agents are generating code, I want to read and navigate it in a nice environment.
> Is there less benefit to KMP with coding agents? ... just that some things are not as bad now.
Probably depends where you are on the vibe coding vs ai-assisted engineering spectrum. I'm a heavy AI user these days, close to 100% since Fable/Sol/Astra, but on code I care about, I don't vibe code, I still spend time to understand and refine at least the architecture, if not the line-by-line code. So still I prefer the single codebase because that's one fewer set of abstractions, of failure modes, of guardrails, of test harnesses, etc to worry about.
But if you care deeply about the native UI, using Compose on Android, SwiftUI on iOS, and then KMP for a shared core is an excellent architecture. The opposite, a shared Swift core, I think is also becoming more possible as Swift targets Android, though I'm unsure what the kotlin-on-android -> swift integration experience is like.
Generally, I'm very happy with the platform and it's only gotten better over the past couple years I've been deep in it.
https://testflight.apple.com/join/K1u3eUU5
I suspect one day at the top of HN's front page, will exhaust that.
That's a big reason I never mention my apps, here.
I tried to use it to list restaurants but the UI reacted like nobody had ever tried that before
However, in my opinion TomTom (https://play.google.com/store/apps/details?id=com.tomtom.spe... or https://apps.apple.com/us/app/tomtom-maps-traffic/id14381065...) is still the best way to use OpenStreetMap for navigation since it combines OSM data with their own real time traffic information without dark patterns or asking for an account like Waze or Maps do.
I can see most POIs i added with the exact name i gave to them, but the reviews and opening hours are pulled from Tripadvisor.
It's explicitly advertised for driving, not walking, so it's optimized to get you to places. CoMaps and even OSMand are much better for walking around.
And there's a simple reason for the search being so bad in most OSM apps: offline search.
The focus of all these apps seems to be a self-imposed "the app should never touch a server, ever, because what if the user is on a 100$/GB roaming plan in Africa", but indexing the maps is not easy.
I run a local Nominatim database (search engine for OSM) for Italy and it's ~57gb of data and indexes for one country only, and it barely supports fuzzy search.
https://cartes.app I can also recommend.
Both projects have a similar goal, to offer a more useful UI around using an OSM based map.
For navigation there's Magic Earth (can route around traffic jams), TomTom, and Scenic. OsmAnd can also do routing.
For cars : avoid highways, tolls. For cycling : follow rivers, less noise, less traffic, etc; for walking : no steps.
>forms can only be canceled with the back gesture rather than clicking anywhere on the map
Well for me not even the back gesture works, I just have to force close the app if I don't want to answer a survey lol
The only one thing missing for me is a small history of my past contributions. At some point, I made a mistake and entered the wrong information (nothing terrible, the surface of a walkway, it was 30% one surface, 70% another, I gave the 30% value instead of what I think 70% would be better). I would have been glad to be able to quickly "revert" this contribution.
But else, a really great tool.
(It only shows edits made in the last 24 hours IIRC, but this limit is chosen quite arbitrarily. If there is a use case for it, it can be extended.)
You can actually split the road into multiple segments and answer each separately if you don't mind the extra effort. I think there should be something like "differs along the way" button which then asks you to pick a point where to cut.
I prefer EveryDoor. It's oriented more towards stores and things I'm interested in on the map.
EveryDoor exist on the Apple store too.
Also open to feedback from anyone.
I'll certainly keep this in mind though.
The current demo doesn't seem to cover many places worldwide, but what is there is really neat! To me this already looks better than modern city sim games, because they never seem to get the scale right, among other things.
Not sure what's stopping them from covering more places, since the idea presumably is to generate these tiles from existing OSM data.
https://osmfoundation.org/wiki/Licence/Licence_Compatibility
Ironically.. that you can't contribute map data that requires attribution to OSM...
It's a great project.. but I think they really messed up the licensing in a misguided effort to make the project viral. It's really unfortunate. I hope an alternative emerged eventually
Sadly, this is very often not true at all.
In some cases you are unable to legally get parts of law without paying for it. For example where law mandates following proprietary standards.
Government funded data creation is very often entirely proprietary.
It is simply impractical to attribute all the sources anywhere in UI or printed copies of map. And whether an attribution hidden somewhere deep in wiki is considered acceptable is grey zone.
The fact that OSM themselves want attributions is another reasons why they have high standards for what's considered an attribution which they can't achieve for third party data sources.
In case of software License.txt and Help/About is considered standard practices. But that doesn't necessarily translate to other mediums of copyrighted work. Something like books or research papers have their own generally accepted practices of how attributions are handled. For maps digital and physical text in the corner is often used practice. You can see it even for something like a building plan posted next to construction site, listing additional map sources used for preparing the drawing. So it's not exactly unique invention by OSM. Back to comparison with software, software can't exactly be printed out so the concerns about attribution are different. Also software licenses typically require listing including a copy of license text not just attribution , which is simply impossible outside separate file or dedicated UI.
In practice the OSM aiming for better than good and thousands of unverified contributors being uncontrollable lands it somewhere in the middle. But if they aimed for barely acceptable all the contributors would definitely push the bar bellow legally acceptable.
On the topic of government data, CC-BY is also common which is somewhat problematic. But more often they have no idea under what license they are releasing their data. They come up with complicated schemes of metadata, which never gets properly filled or parsed, thus resulting in conflicting information about license being used. And if you ask them to clarify they will just say, "yes yes it's open data you can reuse it", with the government employee having no understanding about differences between various licenses and that not all open data is equal.
- I sort of respect the copyleft ethos. You put out a thing with the understand everything it touches is also going to be openly available. I think attribution isn't really part of the central idea there.
- I also respect the MIT/BSD style thing where you're just putting stuff out there in the public domain and it's part of the corpus of human knowledge. You leave your mark so to speak.
The middle ground of "You can use this but you gotta promote our service and stamp our name on it" just feels icky. I don't want to contribute to that. I feel I'm helping OSM the organization and.. I don't know them .. are they good stewards of the data I'm giving them? Are they going to be good stewards in 10 years? Hopefully that kinda makes sense? I guess the same can be said for Wikipedia, but Wikipedia for better or worse is very siloed. You have to attribute stuff you copy from Wiki but ..
A: Realistically nobody is actually copying wiki articles other than lazy high school students. It's just not very reusable outside of Wikipedia
B: This is more of a plagiarism issue. It encourages people to disclose it's not their own words (this is not an issue with maps.. nobody thinks you surveyed your city to draw the map)
The OSM situation seems more akin to GIMP insisting you have to watermark every image with "Made thanks to the GIMP Corporation!"
That’s not true.
> Licences that are not compatible
> Licences that require downstream attribution
> For practical reasons we require that users of OpenStreetMap data attribute the project as a whole and we in turn provide attribution to third parties via the "Contributor" pages. Licences and terms of use that require attribution of the third party data source directly on derived works are incompatible.
"require attribution of the third party data source directly on derived works" is exactly what OSM requires. It's hypocrisy of a sorts
OSM's sharealike provision has never been about making the project "viral". Free map data is enough to do that by itself.
OSM's sharealike provision is, and always has been, unambiguously aimed at stopping bigcos killing the project by scooping up the map data then contributing nothing back - the scenario where Schmoogle Maps takes all OSM's footpath data, combines it with their own motor-centric, sensor-fuelled dataset to create the one map to rule them all, and thereby attracts the flow of new contributors that OSM needs to survive.
Can you imagine if GIMP has a similar policy to watermark all it's output with a "Made my GIMP!" in an effort to "attracts the flow of new contributors" and to make it hard for people to build a product with it?
I'd like to see native Apple sign-in, as opposed to via a WebView. When I used the WebView, the password text box was obscured and fiddly to fill in.
There should be an easier way to dismiss something I've clicked on, than having to tap "uh..." and then dismiss two dialog boxes.
Things that I've submitted (e.g. house numbers) should be visible on the map, to visually show my contribution progress (even if pending review or whatever). At present my contributions just disappear into the void.
Satellite overlay would be very useful to correlate houses.
Seeing some indication of other recent local contributions would be nice, to make the app feel more alive.
edits are immediately applied to live database (with delay if you have chose to do so or internet connection is not available). Once a minute update is published to data consumers.
if you want to see house numbers you can enable house number overlay (left circle in top right, select blueish icon with address label next to it)
and why it is not visible immediately on background map? because it is also OSM data, but processed OSM data and updates with delay
(why processed? because globe-spanning map requires some simplification, rendering from raw OSM data is infeasible on a phone)
However, it's lacking the nice example pictures for each option - so, with Go Map!! you need to know what you're doing.
Now I need to figure out if it's possible to merge my navigation maps with the deflock maps..
https://github.com/streetcomplete/StreetComplete/issues/5421...