Collaborative Maps with ActivityPub


#1

Hi everybody! :slight_smile: Do you think is possible to use ActivityPub to build collaborative maps using Open Street Map?

THE IDEA
Would be great if different communities could integrate a map, add their POI and at the same time contribute to build a larger map of POI divided by layers through AP.


#2

Yeah, imo it’s totally possible :slight_smile: Anyway, doesn’t OSM support AP in some way?


#3

no idea, they do? :thinking:


Federated Events
#4

Hello! I am a long time OSMer, and would like to give some comments. OSM doesn’t supporting AP at all right now, remember OSM is almost 15 years old!

OSM is already a collaborative community map (database), with numerous communities each doing their own thing. Railway enthusiasts alongside cycling fans and car drivers. But yes, it is all one centralized database now. I’m not sure how you’d use AP with OSM, AP doesn’t really do anything with “map” data, right?

I’d love there to be a decentralized database. I’m not really sure how it’d work. The OSM data model, currently relies on centralized id numbers.


#5

Some work on this has been done in POSM. There has been some discussion on the fediverse

(posting again for new use link limit)


#6

BTW there’s 2 OSM Mapstodon instances https://en.osm.town/ & https://fr.osm.social/

(posting again for new user link limit)


#7

AP integration in OSM could for example allow creating a Place object and then performing activities that refer to that Place. It would essentially allow for an open version of Yelp or Google My Business.


#8

Why do you need to play catch-up with corporations? Free software is not about playing catch-up, but about inventing new ways with technology. It’s important, critical even, not to start off with an objective (to imitate what exists) so you can imagine new things that do not exist yet. One question you can ask is whether you can think of something that free software can do well, that non-free software cannot do. The ActivityPub federation might be such a thing, although we don’t know yet what would happen if the GMAFIA would embrace the protocol.

In terms of collaborative maps, IN COMMON has been thinking about the problem from the standpoint of collective map users and providers. As @rory mentioned, the OSM model relies on centralized ID numbers. IN COMMON approaches things differently: each resource must be uniquely identified (with random UUIDs) so that map makers can work offline, and synchronize databases when they can, and if they want. A “centralized” database exists, but only as a backup service for all entities, and as a way to automate data integration from one source to another. The project started from a real use-case, and stagnated a bit as not enough technical power has been put into it so far. But it’s waiting for funding that may enable it…


#9

OSM is more than a database of shops and venues. It’s cycle paths, and lighthouses and rivers and hiking trails and buildings and addresses.

A “federated review site” sounds interesting. emacsen over on Libre Lounge wants to make “ReviewPub”, which might be what you want. https://librelounge.org/episodes/episode-11-what-is-federation-reviewpub.html

OSM doesn’t have reviews, it is 100% objective. This is quite orthogonal to OSM.


#10

That does not preclude building alternatives for the corporations. It is well and good to “invent new ways”, but that should not mean abandoning the old ways.

Nowhere did I say that a Place had to be a shop or a venue; it is perfectly reasonable to create a Place for a lighthouse or building or address or whatever. The important thing is to be able to refer to that Place as an Object, and to do so with OSM data in a way that can be replicated across different softwares. This data could then be used by other interoperable softwares to implement whatever use case is desired, e.g. a ReviewPub software could be used to add reviews to a Place that was created in OSM (rather than having to create its own database of Place objects from scratch).

Surely we would all stand to benefit from having an alternative to Google Maps, Apple Maps, Foursquare, etc. that could be used in other applications freely?


#11

I think a more p2p map style OSM is a great idea. I’m not trying to be negative, just trying to help you figure this out.

Nowhere did I say that a Place had to be a shop or a venue; it is perfectly reasonable to create a Place for a lighthouse or building or address or whatever

Now how do you do hiking routes. How do you add a bus route, which includes bus stop #1236, which is also in another bus route, etc etc. What about a “no left turn” restriction? What about an administrative boundary? Think about your data model. :slightly_smiling_face: Simple “points of interest” might be a good start for this.

The important thing is to be able to refer to that Place as an Object, and to do so with OSM data in a way that can be replicated across different softwares

In OpenStreetMap, all objects have (numeric) ids. But they aren’t permanent! Objects in OSM can be replaces, or they can be split into 2 (with one part getting the old id). Even defining what an object is is hard. A stretch of motorway with 2 separate carriage ways. is that one object or two? It’s part of a motorway route, is that a separate object? etc.
There has been some work on adding Wikidata tags to OSM, as a type of “permanent id”.
Some more reading on the OSM wiki: Permanent ID

Surely we would all stand to benefit from having an alternative to Google Maps, Apple Maps, Foursquare, etc. that could be used in other applications freely?

Agreed! And we have some of that in a way already in OpenStreetMap. :slightly_smiling_face: (BTW Apple Maps uses OSM data, and FourSquare used to, but I think they changed)


#12

I suppose one question: Do you want to replicate OSM’s objective, no-review map of geographic objects?

Or to replace ‘review’ sites (follow ‘ReviewPub’).


#13

Heh, it depends on what “the old ways” do / are designed for. Recently I’ve asked myself the question: does Mastodon help me do my work, organize my community, amplify our actions? And the answer so far seems to be: no. That’s because the ‘status feed’ model is designed to replace existing communication channels, e.g., IRC, and to push an addictive experience where the emphasis is on “the indidivual” and “the ego”. There’s not much that a Twitter-like can do that other media cannot do, without being addictive.

Many times free software developers like a corporate product and make “an alternative”, but they seldom question the design or the purpose of the original technology they like. I think it’s critical to put this attention into technology production if we are to create tomorrow’s technologies away from models of domination, and exert our collective freedoms, since only the developers in a community will be able to actually modify the source code.


#14

I’m not personally implementing anything related to maps or POI at the moment, so I’m replying to this thread more as a conceptual exercise to answer the question of “how can OSM integrate with ActivityPub linked data?” Of course some work needs to be done to agree on a schema for the more complex representations such as paths and restrictions. But it doesn’t seem like there should be an issue with all of the things you listed. If bus stop #1236 is in multiple routes, then that’s perfectly valid – each of those routes’ representations would simply refer to stop #1236 as included within. There’s also room for OSM to define its own JSON schema within an osm: namespace and @context. As long as it’s consistent, other software can refer to it. I’m not familiar with how OSM currently solves these issues within its current data structure, so I can’t really offer my thoughts as to how to recreate those structures.

I definitely think there’s room for analysis and examination of what we’re replicating, don’t get me wrong. But that kind of analysis still needs to take into account those questions you asked: does this make my life easier, respect me as a human being, etc etc. It’s not about providing an “alternative” in the way that it does everything the old thing used to do, but rather an “alternative” that solves the fundamental problems that the old thing was helping people solve.


#15

There are some german guys, that think about (some kind of) poi exchange: http://www.transition-connect.org But not yet with AP.
Currently https://wechange.de and https://kartevonmorgen.org plan to try an exchange of organisations and events with AP. All together we are a big network working on the or for the social-ecological change.
https://wandelbuendnis.org & https://fairmove.it sorry, currently all in german! And you cannot find some IT related suff for now. If someone is interested in social-ecological change and want to participate, let me know. I’m sure we need some AP know how in the next time ,-)
https://wechange.de and https://kartevonmorgen.org plan a Hackathon in Minsk the next time.


#16

@yala might know some of these projects.


#17

I created a small demonstrator a couple of months ago that allows posting of notes with a GeoCoordinates field containing longitude and latitude: https://github.com/miaEngiadina/geopub (live version: https://miaengiadina.github.io/geopub/).

The notes are created by clicking on the map. The geographic location of the click is encoded into the note and then posted to a Pleroma server. Existing notes with GeoCoordinates are displayed on the map but are also visible as your usual ActivityPub notes that can be commented on/liked/etc. from other clients.

It’s just a small (and ugly) demonstrator/experiment but maybe shows how ActivityPub could be used to collaboratively create any kind of geo-data.

Background: I’m working on a project for local knowledge (https://miaengiadina.github.io/openengiadina/). Very happy to have stumbled across this thread and hear about all the ideas and projects.


#18

https://peermaps.org/

Straight out of the https://datproject.org/ world.


#19

Do you mean, e.g. creating an event on Mobilizon and linking it to an OSM place?


#20

Mobilizon already does that, when the address search engine backend returns OSM data.