Towards an open, federated review platform based on OSM

As I migrate away from big tech and towards independent solutions and in particular services powered by OpenStreetMaps and ActivityPub, I often find that the biggest missing piece remaining is that of a social element allowing for user reviews and feedback to locations on the map—in the intersection between the two services.

I have been playing with the idea of how this could be implemented, and decided would share my thoughts on a technically minimal and entirely federated standard for OSM reviews. The idea is to have a very basic ActivityPub integration that can work with even simple (microblog style) messages, allowing users to contribute reviews without having to sign up for additional services or necessarily install custom software.

The standard: Hashtags and OSM IDs

I propose a standard review format for microblogs based on a simple format:

[free_text] [optional_score] #OSMR #[OSM_ID]

For example, a review of a café could look as follows:

Café In has delicious coffee and friendly staff. I would recommend it to anyone! 10/10 #OSMR #13042772401

The content that shows up first is free text, and could be anything. The score does not necessarily have to be standardized, as long as it takes the form of a fraction: It would be easy for any client to parse valid fractions and calculate average scores along any given scale. The hashtags enable the scores to be federated to any service seeking to make use of the reviews.

Federation of reviews

On the receiving end, platforms seeking to aggregate reviews would observe the #OSMR hashtag (OpenStreetMapsReviews - anything else would of course work as well) and parse posts containing a single valid OSM ID in a separate hashtag. Users should be encouraged to enable tags.pub in able to facilitate federation of their reviewss, and the receiving server of course also needs to make use of this service.

A challenge with Mastodon-style federation would be that reviews would not be retroactively collected: While this system would allow any service to collect federated reviews, I am not aware of any useful way of filling any existing backlog of reviews.

Once an ActivityPub instance is set up, subscribed to tags.pub, and receiving incoming reviews, it should however be relatively achievable to collect these reviews and connect them to nodes in various mapping applications. At least it seems to me this would be the least complicated way to implement federated reviews into OSM, and it would allow for a lot of flexibility for different implementations along every step of the way.

Moderation would be a challenge, as servers gathering user reviews would have to be able to provide some sort of guarantee against abusive or broken content. Mastodons upcoming shared block lists could be beneficial in this regard.

The types of posts visible - ranging from microblogs to pictures, blog posts, and peertube videos, would of course be up to the implementation in each app choosing to draw on these reviews.

Enabling user reviews

One challenge is for maps and apps to be able to display reviews, another is of course enabling people to write them in the standardized format. Writing these reviews would not currently be an intuitive process as OSM IDs tend to be hidden from users.

Ideally, map apps such that would benefit from showing reviews, such as CoMaps, OsmAnd, OrganicMaps, and MagicEarth, would allow users to sign in using Fediverse accounts and post reviews directly from these apps. A less ambitious implementation would be some sort of “share on the Fediverse” functionality, copying the two necessary hash-tags to the clipboard with a set of instructions for leaving federated reviews.

Establishments would be able to encourage customers to leave reviews on Mastodon directly using the share button, for example:

Leave us a review on Mastodon!

UX facing users on the fediverse

A shortcoming I see with this approach is that the hashtag for the OSM ID would not mean much (or anything at all) for the average fediverse user. In the best case scenario it would lead to posts reviewing the same establishment, in the worst case scenario it would be completely confusing for human readers. Perhaps if the standard caught on these posts could be recognized by federated clients to display OSM metadata for the relevant node, but this might be in poor taste vis-a-vis the implementation of ActivityPub. Some form of attachment providing node information would solve this problem, but would make the solution more technically complex and possibly break with the decentralized nature of this proposal.

Conserns raised in the comments

  • “One Problem I see with using the OSM ID is that this is not necessary stable over time. For example switching the representation from a node to a way will change the OSM ID and also the OSM Ids are reused when objects are deleted so you could end up with reviews from other places mixed in.” — @[email protected] (direct link)

As I am not a developer I don’t have the opportunity to implement this myself, and I realize this might be unhelpful day dreaming. On the other hand I believe this is one of the key missing elements of the Fediverse at the moment, and I think a standard along the lines of what is proposed here would be a powerful tool for both users and app developers. Sometimes I just miss having a way of recommending a great restaurant in a way people online could possibly benefit from without having to use big tech services. Even a minimal recognition of a standard such as this would provide a fruitful starting point to that effect.

I would love to hear opinions whether this would be feasible, whether alternative approaches are being explored already, and just general thoughts and comments!

Share to Mastodon

@ikkeT
You can hide POIs by clicking down left on the hamburger menu, "configure map" and the last menu point is "hide" where you can choose to hide POIs and/or their description.

#osmand #openstreetmaps

I tried to use #osmand #openstreetmaps android app on travel. I must say it's rather useless for anything but zooming maps. Can't hide POIs and search doesn't find street names which I can see on map. 😔

Supermärkte! Spielhallen! Steuerbüros! Gastronomen! Briefkästen! Hydranten! Und leider den ein oder anderen Leerstand ...
Aus schierem Bewegungsdrang und weil ein Blick in die Apps ein ganz klares "hier muss was gemacht werden!" signalisierte, bin ich heute los und habe all diese Dinge (und mehr) in das Kartenmaterial von #openstreetmaps eingepflegt.
In beinahe gänzlich unerschlossenen Innenstädten ist es ein Stück frustrierend, steht man doch minutenlang an einem Fleck und trägt Gebäude für Gebäude, Laden für Laden, Sitzbank für Sitzbank, etc. ein.
Nicht falsch verstehen: toll war es und Spaß hat es gemacht.

#osm #streetcomplete #EveryDoor #mapping #community #Karte #Karten #Kartenmaterial

@peerg @CoMaps @organicmaps

HD-Traffic sind die Verkehrsmeldungen wie Unfälle, Sperrungen oder Baustellen.

Bei #comaps kannst du dich mit einem Account bei #openstreetmaps verbinden. Was alles da geht habe ich noch nicht geschaut.

Do thematic historical maps based on OpenStreetMap exist that can be explored with GPS?

For example: maps of Holocaust sites, colonial history, etc.

I'd be especially interested in projects that work well on mobile/offline while walking around cities.

#openstreetmaps #openstreetmap #osm #thematicmaps #ThematicMapping #maps #HistoricalMaps #mapping

The community is always looking for your inspiring ideas! Why not sharing them during State of the Map 2026?

The call for participation of SotM 2026, taking place in Paris, France, on August 28 – 30, 2026, is now open! The programme committee is ready and waiting, eager to unwrap your submissions for talks, workshops, and panels.

https://blog.openstreetmap.org/

#OpenStreetMaps

The SCYTHE System has provisions for #Cesium #OpenStreetMaps and #StadiaMaps and I may have had trouble determining exactly which has been active during any given post recently. I apologize for saying something was StadiaMaps when it may have been Open Street Maps or Cesium(ION?)!

In other news:

#PenalLegions

This past #Friday I bought a #Suunto Race S #gps #watch. It arrived yesterday morning and within a few minutes *almost* everything was set up. This is my first watch so there was a bit of a learning curve....and troubleshooting.

Now that issues have been resolved and it's properly synchronized to #Strava, it's working as expected.

Just came back from my second #hike of the day and tested it against a well known #route which I have recorded countless times in Strava on my #smartphone. The route is the same but the distance and elevation differed slightly, including the highest points being about 30 feet higher recorded on the watch.

Kind of a head-scratcher because both Strava and Suunto use #OpenStreetMaps for their map data. Which one is accurate?

I will be doing more testing in the coming days. In the meantime, here's a pic of the #pond from this morning's hike.

#nature #health #trailrunning #fitness #mentalhealth #spring #morning #tuesday #woods

Found this fly asf crow during last saturday's #OpenStreetMaps mapping party in Mulund(Mumbai)!

The picture does not do it justice 

#birds #mumbai #mappingparty #india