Pushpin OSM, an OpenStreetMap POI Editor for iPhone & iPad
About 6 months ago, at one our of local OSM meetups, we were discussing ways to improve the OpenStreetMap editing experience for casual users. One of the ideas that came out of the discussion was an easy-to-use POI editor for mobile devices. @colemanm and I (@zacmcc) decided to build an app in some of our free time, and it’s available today for download.
- Simplified editing interface designed specifically for OpenStreetMap POI’s
- Edits are pushed live to OpenStreetMap using your own account over the API
- Bing satellite imagery and openstreetmap.org base layers
- Nominatim search to find places on the map and also to auto-populate address data
- Share your edits to Twitter to spread the word about OpenStreetMap
Like most engineering efforts, it was a lot more work than we originally anticipated. Being OSM contributors ourselves, we were able to selfishly craft the app to do exactly what we wanted it to do. Our main goal was to make collecting detailed POI’s as easy as possible. When editing POI’s in OpenStreetMap, there are many details that can only be realisitcally collected from the field. In our real-life testing, you typically only have a matter of seconds or minutes to collect a record. When you’re waiting for your drinks at dinner, or walking in between stores with friends, you have limited time and patience for remembering the OSM tagging schema. So for most people, the app being easy to use is the difference between using the app and not using it all.
Building the app
When starting this project, it made sense to start with our Fulcrum mobile app as a base for the record editing interface. Fulcrum has all of the plumbing needed for an elegant record editor, like classification sets, choice lists), and conditional logic for controlling field visibility.
The OpenStreetMap tagging model has tons of community-approved tags for describing feature types, so many that even seasoned OSM contributors can’t remember if a neighborhood park should be tagged as amenity or leisure. What we did with Pushpin was abstract the complex and numerous tags for point of interest features into a human-readable, searchable list to make it fast and easy to categorize a point. So instead of having to know that amenity=place_of_worship is the proper tag for a church, you can just search for “Church” and find it. Using the map features page and the taginfo service, we tried to include the most commonly used tags for contributing POIs.
Conditional field logic (made possible by Fulcrum’s API) is powerful for only showing certain tags when they’re relevant. The existence of certain amenities is often dependent on the feature type. Tagging drive_through=yes makes sense for a café or an ATM, but not so much for a public restroom. Pushpin has tons of built-in logic for showing these types of fields when they’re relevant, making data contribution faster and cleaner.
State of the Map US
If you’d like to hear more about Pushpin, I will be giving a presentation next week at State of the Map US in Portland.