Facebook and ESRI announced they were adding additional data-sources into their iD fork called rapiD. They’ve collected data sources, performed schema translation, and created a conflation tool, but after being asked to follow the import process, they’ve insisted it’s not an import and they don’t need to solicit community feedback.
So here’s some feedback which they might have gotten from the community, if they had asked.
The Services Data is made available to you under the terms of the MIT license.
You may not ... reverse-engineer any of the software
you accept any changes to the Terms by continuing to use the Services after We post the changes
Remove this feature
Lack of import proposal, lack of solicited community review on the proper channels, lack of response to community feedback. Read the import guidelines. The import process is designed to govern exactly the activity that you’re engaging in, and prevent exactly the problems you’re creating.
Mapwith.ai should be taken offline until Remove this Feature button is addressed and changeset tags are added. Then bring it back, fix your license and documentation, publish the data sets, and solicit broad community feedback through established channels. The Esri dataset should be removed from circulation until they have gone through community review. I’m worried you’ll look at the issues I point out and just fix those. That is the incorrect response. Even if you can’t accept that you’re running an import (because politics or some internal policy?) you can still follow the process designed to ensure a happy community and prosperous map.
Remove this Feature
This is just the feedback from a single person, imagine what you might get from the rest of the community. I hope that large organizations could be held to a higher standard. I’m disappointed (but not surprised).
For transparency, if you respond to this rant, please indicate if you’re an employee of FB, esri, or one of their partners, and say if your message is your personal opinion, or the opinion of your employer. If you’ve signed an NDA, blink twice.
I just finished the Maine address import and thought I might share a narrative.
In early 2019, I was driving home, getting directions from google maps. I had grown apathetic to fast food restaurants highlighted on the map, but on this trip, the google lady vomited forth: “Turn left at People’s United Bank”. She might have said “turn left on Main Street” or just “turn left” but the application I trusted for navigation went out of its way to shill a business. I was left wondering “what else does it do”. Could advertisers pay to /optimize/ my route, sending me past their venue? That sounds /crazy/, and plausible. So it was time to make a change.
The alternative I found was OsmAnd. But upon trying it, I found Maine was missing nearly all addresses. I was baffled how that could be, and dismayed that I might crawl back to google maps. This wasn’t just impeding me, this would block anyone in Maine from switching, and /I am stubborn/. I realize everyone can contribute to OSM and Maine had a handful of contributors, but at the current rate, Maine may not be navigable within my lifetime. It needed a push.
I had a vague idea of “get data from here” and “put data there”. The APIs had documentation and I had a compiler, how hard could this be? I started developing tools in July of 2019. In the beginning, I had two concerns:
Looking back, this project held my attention the whole way and I’m satisfied with the results.
Side node: Did I look for existing tools? Yes, but I’m a software engineer and when you have a hammer everything looks like a nail.
Using my language of choice, I wrote an Osm API client, a client for Maine’s address API, a E911-to-OSM schema translator, a conflation engine, and a command line interface to tie it together.
Some effects of writing my own tools:
With passable tools, I started processing the import in January of 2020. My tools evolved constantly throughout the import handling ever-weirder corner cases. Her are a few of the poor assumptions I made along the way:
I was working at a large international company, doing work that I genuinely believed in (we literally saved lives, a few a day) but the work had turned gray. I didn’t notice I was burned out until I found this project, and absolutely loved working on it. It reminded me that programming /is/ fun, and I started to realize work had /stopped/ being fun. There were many reasons, but primarily, I wasn’t learning anything new. I spoke to my manager and asked for a whole lot of unpaid time off, which was declined. So I quit (and got my unpaid time off). Aside from other interests, I spent the next year working this project. It has given me a great sense of accomplishment and contribution. I met many characters long the way and learned a lot about my state. And finally, I can use OsmAnd for navigation.
Did I mention I’m available for hire? I offer this project as my resume while I seek GIS opportunities.
I’m planning Maine roads, or getting a job, whichever comes first.