OSMPlaces is meant to be an open equivalent of Google Places or Facebook Places, based on OpenStreetMap data.

I don't know what a "place" is exactly, but I am going to loosely define it as something that has a name. Places have names because people want to refer to them; because they can be referred to, they should be more easily found, and have an unambiguous computable representation so we know we are referring to the same thing.

From that, two goals follow:

Ian Dees thought up a fantastic pronunciation for OSMPlaces — awesome places.

Phase 1

URLs

[INFO] Please add more examples in this section!

URLs path components should follow the schema of:

Since country, state, and county lines generally rarely change (unlike cities), they are great for disambiguating a URI.

For example:

Some things are larger than counties. So, they can move up a level. For example:

I am unsure how to describe smaller things. Such as buildings, which may not be unique. Some ideas… they might be part of a larger entity that is unique. For example:

An open question is how to represent things not part of these larger entities, which includes many commercial places. Such places wouldn't necessarily be unique. Fast food places, for example, are not unique to cities. Perhaps by calculating their nearest named intersection?

This translates well to REST-ey type things.

If you'd like to fetch RDF for a place, http://OSMPlaces.com/USA/New-Mexico/Socorro/Oscura-Army-Airfield.rdf would fetch RDF triples (in RDF/XML) of associated OpenStreetMap tags. Perhaps .rdf.n3 for Notation3.

To fetch GeoJSON for a location, http://OSMPlaces.com/USA/New-Mexico/Socorro/Oscura-Army-Airfield.json would fetch JSON that could easily be used by a web app. Returned GeoJSON could return a polygon representing the area (if available) and a centroid point, or just the point itself.

Page content ideas

A mini-map displaying the place on OpenStreetMap. A link to the same location on Google Maps, Bing Maps, etc — we're the open ones, we don't need to discriminate against other services!

Link to the equivalent place on Google Places, Facebook Places, Foursquare, Yelp, etc. Again, we don't need to discriminate against other services.

A list of the tags associated with the place, including things like phone number, address, etc.

Include the contents of the relevant Wikipedia page (Wikimapia does this), for SEO/quick reference purposes.

A big "Know more about this place? Contribute to OpenStreetMap" link.

Phase 2 ideas

A lightweight "place" editor, that lets you easily add key/values to places. As-is, OpenStreetMap does not have a lightweight editor for quickly adding information, and the "gap of execution" of doing so is high. Say a user wants to add a phone number or the opening hours of their favorite pub: at the moment, they need to load up Potlatch or JOSM, which are much too complicated for all but the most dedicated of users. As general editors used by many of OSM's userbase, it doesn't make sense to make them any simpler. OSMPlaces "places" editor would be a simple, data-entry editor for beginning users.