jump to navigation

Fedigroup – group system for the Fediverse August 7, 2023

Posted by GuySoft in open source, programming, python.
Tags: , , ,
trackback

Hey all,

Fedigroup logo

The past year I’ve been playing pretty active on federated social networks. This led me to try and write a federated social network group system. Although this group system is far from being complete since Fedigroup is currently in pre-alpha level. I think it is worth sharing what I have learned, and also explain a bit why, if you met me during the past three years. I’ve been going about federated social networks.

You are also welcome to join a server I maintain here, Hayu.sh is the second largest Hebrew-speaking instance.

What is a federated social network?

A federation in servers means everyone can run their own server which is autonomous. And it can communicate with other servers too. Creating a large network. The first protocol on the internet is actually federated too – email.

There is no one central email server, or single email software. In social networks this means that you join a server, and follow and interact with everyone else. Even though your server could be, like in my case, hosted in your own home, with you owning all the data. You can also join a any other server, and switch between them.
For Hebrew speakers, I gave a small TED lecture about it, which is hosted on a federated video server. You can watch it here (Hebrew).

The Fediverse is the servers using the a W3C Standard that does just that

What made the Fediverse possible is the standard that was passed to describe it. The protocol is called ActivityPub 2.0. And it lets social networks share status messages (notes), shares (boosts) and favorites across different servers. It was created by a group of people who cared, not large companies. Despite some of them being members of the W3C. Its also worth mentioning that one of the major adopters of the ActivityPub 2.0 protocol was Mastodon, a type of social network server, which resembles twitter. And that really help gain critical mass.

Why didn’t I hear about this?

I was asked this by other developers and power users. It makes people dismiss the Fediverse as a passing or niche thing.

Unlike Facebook, Twitter even if you’re been avoiding social networks, their marketing will reach you, your news channel, municipality and country are likely using them. Their existence depends on it that you use and browse on their site. However, in the Fediverse does not have a business model that demands it. Or a marketing team. Its just people. You are welcome to join, but no ones income depends on it.

The Fediverse is growing though, by word-of-mouth, or text-in-blog. Recently even celebrities and others. The latest are the BBC, PNAS, George Takei, Neil Gaiman, Stephen Fry and the European Commission.

Not to be confused with crypto – Which lacks moderation

I think one of the strength of the Fediverse is that it’s actually not going with the blockchain trend now, which is where a lot of effort is going to distribute things.

The Fediverse does not run using the now trendy crypto stuff. The advantage of it is that it costs far less to run. A small server for a few tens of people + a domain and you are good to go.

Another thing is that having an admin means you have a moderator, which is becoming critical for social networks. Large companies today are unable to moderate the volumes of messages on their social networks, resulting in many bad decisions, people getting blocked by algorithms and others who should roam freely. Many social networks today still don’t have moderation-by-design in mind. Even less in a trust-less network that uses crypto.

What is Fedigroup

Fedigroup is a server type that allows users to create a group and share it across the Fediverse. When a user creates a group, they can specify the topics they want to discuss, and the group, when mentioned, will automatically boost their posts related to those topics. This helps increase visibility for posts within the group and attract more members. Additionally, Fedigroup stores the contents of the group for future reference, making it easier for members to find and access previous discussions. Currently, there is also a web interface available that allows users to search through the contents of groups they belong to (the search button though is not implemented yet). Overall, Fedigroup provides a convenient way for users to create and participate in specialized communities within the Fediverse with group memory.

Features

  • Federated – you can mention a group and it will boost the message if you are following it
  • Has a responsive UI written in NiceGUI
  • You can log in using your Mastodon/Pleroma or any MastodonAPI compatible account
  • You can use your federated account to create group and then you have access to moderate it
  • Posts in the group are archived in a database that can be searched (search not implemented)
  • See all the posts in the groups you follow

Unimplemented (roadmap in theory)

  • Use your MastodonAPI-compatible account to comment and preform tasks on the WebUI
  • Search history of the group
Ui of Fedigroup as seen on https://fedigroup.party

I stopped developing it because it was far too much work only for me. It might pick up if someone joins me, but alone I will not manage to make it as good as others out there. It has potential as being a place to search for history on the Fediverse which is a little challenging today.

Also I think the recent migration of Reddit users show that the Fediverse is handling groups pretty well.

Still, Fedigroup was a good learning experience on how the technology works, and I think its worth sharing if you want to build a Federated instance that uses python, FastAPI and PostgreSQL.

If anyone wants to pick up where I left they are welcome. The source code is available on GitHub.

There is a running instance at: https://fedigroup.party
You welcome to try it out and as always – code contributions are welcome

Comments»

No comments yet — be the first.

Leave a comment