Skip Navigation

Could We Build a Decentralised Social Platform Rooted in Place?

carlnewton.github.io Could We Build a Decentralised Social Platform Rooted in Place?

Exploring the idea of a decentralised social platform based on location.

Could We Build a Decentralised Social Platform Rooted in Place?

cross-posted from: https://feddit.uk/post/10422101

Over the past year or so I’ve been playing with the idea of a decentralised social platform based on your location. By putting physical location at the centre of the experience, such a platform could be used to bring communities together and provide a source of local information when travelling. Please let me know what you guys think.

21
21 comments
  • I agree that physical colocation of users is important for cohesive social media, but I don't think this is how it should be done. I also don't think it could ever take off.

    People also want to participate in larger stuff sometimes (national news, international news). I think honestly the reddit model has already showed us how to handle this - just split stuff into separate communities.

    You can have communities for the local stuff and people can go there. You can have communities for the bigger stuff and people can also go there if they want and they don't even need to make another user on another platform or anything.

    I think honestly we just need more lemmy users to join instances that match their physical location. That's part of why I made Feddit.dk, to serve as the Danish hub of the Fediverse. We have communities for each city and you could have for each town as well once there's enough users to warrant that.

    • Hey! Thanks for the feedback! :D Regarding your point on whether or not it could ever take off, I've given this some thought over the last 24 hours, because I have received a lot of similar feedback. Initially it was one of the biggest things preventing me from wanting to actually attempting building it. I've come to the conclusion that if I can foster a community around it in my local area only, that would be a success for me. The nearby functionality would still work at a local level. If it grew from there, that would be even more of a success. I think with any network that's designed to be fragmented like this, there's always going to be places in which it doesn't take off or not enough people adopt it, but that shouldn't really affect whether or not it's a success at the local scale. So I've decided not to let that factor deter me.

      I see your point on just using, let's say, an instance of Lemmy for my local town. This is a fair point, the solution might already be out there, but it uses a toolset that's designed for generic conversation, and not conversation around a location -- like, perhaps a specific location that I want to see or place on a map and talk about it. This is the functionality that I'm personally craving.

    • I tried a smaller Lemmy server first and it didn't meet my needs.

      I used reddit in two specific but different ways:

      1. About a dozen subreddits that I would visit individually. Small Lemmy instances work fine for this. Just subscribe to the ones I care about

      2. Browsing r/all, taking in whatever was popular at any given moment. This only works on big Lemmy instances with wildly diverse federation.

      I love the firehose of "what bizarre things bubbled to the top today? Oh snap, there's a scandal in the professional bowling community. This Farscape meme is hilarious even without context. Wow, look at that crazy picture of an owl riding another owl riding a bear" or whatever.

      There was never enough content on small Lemmy servers to satisfy that itch. But scrolling the main feed on lemmy.world is good enough

      • Browsing r/all, taking in whatever was popular at any given moment. This only works on big Lemmy instances with wildly diverse federation.

        I don't think the instances needs to be that big to have enough networking effect to get most of all comms. Feddit.dk for instance is relatively small but the all feed is basically identical to any other major instance.

        Certainly a very small instance could have a temporary issue like this but it could be easily improved by just fetching the missing comms. And again, you can certainly find smaller instances than lemmy.world that still have all the stuff in the all feed.

    • It kind of does work though, Jodel is already a thing and its all location based and getting users close to each other to interact.

  • Gossip protocol for instance discovery is a nice idea, I'm stealing that.

    Check out what Mobilizon (a federated events platform) does to represent location in ActivityPub.

    Best of luck with your project.

  • I have been thinking about this for quite some time, feel free to add me on matrix (link in bio) if you are interested to collaborate/discuss.

    It's interesting to consider a few potential use-cases, as you can see below the technical requirements for each use-case can be vastly different.

    Notice, I am assuming that accounts are connected, aka if someone creates a post, that post can reach users of other instances. See the "Connecting Instances" section below.

    Use Case: Organizing an Event

    Let's say Alice wants to organize a trivia night at the coffee shop she works at. After all the preparations, Alice needs to invite people, so she makes a post with the location, the date, and the announcement of the event.

    People following Alice's (or the coffee shop's) account, will be notified of the event and choose to either attend or not. Some may even "boost" the event, so it's reaches more people.

    Discovery is not optimal. It's possible, people that live nearby the coffee shop, and would have otherwise attended the event, weren't following the account, as a result weren't notified and missed the event.

    Instead, if a location based feed was available, it would have allowed people to find Alice's post and attend the event. The UX for such a feed can be complex, but the backend requirements are pretty straightforward, we need to filter (and/or sort) using the location, date and tags of an event.

    All in all, the volume of data is small (not a lot of events happen at the same time and the same area), and the application is not time-critical (if a post takes several of minutes to reach other users it's not an issue as the event is posted days in advance).

    Use Case: Short-Term/Live Monitoring

    Let's say a group wants to organize a protest march, they know that the police tends to get violent on such occasions, so they need to monitor the police's activity and alert the people accordingly.

    So, they create a system where some people are responsible for monitoring the area and regularly upload posts with the exact location of the police. This allows the group to create a map that shows the locations of police blocks and adjust their route accordingly.

    While the example is terrible, I believe the use-case is clear. A lot of people, need to monitor "something" that is happening "right now".

    Again, probably most of the complexity lies on the UX design, but a few backend requirements are added:

    1. There is a large volume of data, and everything is time-critical.
    2. There is a need for control on who is able to posts, otherwise ill-willed users will be able to create noise and render the system useless.
    3. There is a need for control on who is able to access the information.

    Keep in mind that (2) and (3) do not mean that a decentralized platform would be better suited.

    Use Case: Long Term Monitoring

    Let's say, during the spring, a population of ducks passes through the city. Tourists and locals alike want to watch the ducks, so they start recording sightings.

    This information not only allows users that are nearby to rush to watch the ducks when there is a sighting, but also can be used to create a heatmap of the most probable locations to find ducks for a given time of day.

    Technical requirements:

    1. Small volume of data, but information can be time-critical.
    2. Need to generate notifications for users interested to respond to the sighting.
    trigger warning

    I had SA incidents in mind when writing the above example, but I choose a more light-hearted example to avoid needlessly triggering people.

    The use-case is pretty much the same. The locations are places to avoid for safety reasons, and people rushing to the scene are either searching for the perp or helping/protecting the victim.

    Use Case: Information Sharing

    Let's say Bob learns an interesting trivia about the statue on the town square. He creates a post about the trivia and stamps it with the location of the statue.

    Here, time is irrelevant to the post, people are going to be interested in Bob's trivia years down the line. However, people need to be able to discover Bob's trivia, and a map is probably the best tool for the job.

    Technical requirements:

    1. Volume of data depends on population of an area, city centers are going to have more posts that small towns.
    2. Nothing is time-critical.

    Connecting Instances

    Utilising this, we could create a list of Habitat instances that are relevant to a user’s current location, and then query only those instances.

    I don't think this would work, habbitat.world would still have users around the globe, as a result it would be queried every time someone refreshes their feed. You may make a case that there shouldn't be such an instance, but keep in mind (a) pretty much every Fediverse platform has a few huge instances, and (b) that would exclude users located in places without a local instance (or local instances with unethical admins/mods).

    I believe the existing follow-based federation mechanisms would provide a better solution. Keep in mind that fedizens don't want to see "everything" within their feeds, but a curated list of posts/events based on their choices and/or the choices of people with similar background (same instance).

  • I think this could be easily achived with an activitypub FEP and an alternative Frontend for Mastodon etc.

    Why reinvent the wheel?

21 comments