Need help with Drupal or Grav admin, site building, design, or content? Contact us!
Help Defend Democracy! → Join Battalion today.
Exploring the Symfony universe!
Unless you've been under a rock since last fall when Space Karen bought Twitter, you’ve heard the buzz about the Fediverse and Mastodon in particular. And hopefully, you want to know more about it.
Some think it is the most important revolution in communications since the Internet has been built.
That’s because it obliterates the status quo of how network effects are built.
A legacy of the Age of Enlightenment, the motto "Liberté, Egalité, Fraternité" first appeared during the French Revolution. It’s time to bring Liberty, Equality, and Fraternity back via free, fair, and friendly social media.
While I am no expert, I know more than 99% of humanity about the Fediverse. And I did give a lightening talk about it at DrupalCamp Florida. ;)
Recently, I received a last minute request from Backdrop CMS to speak about the Fediverse at their online conference. Unfortunately, I had a video shoot scouting trip scheduled and couldn’t help them.
And I have seen a request for a presentation to DrupalCamps on the Fediverse. I am interested in this opportunity.
In light of these events, I am stepping into the breach and starting with this article.
I’ll cover:
Besides the fact that it is designed to be addictive, is privacy abusive, and is dominated by idiots who post horseshit, corporate social media sucks for two reasons.
This is not the type of company you want to keep.
These douchebags deserve to be guillotined, but since that dog won’t hunt in a democracy, we just need to ignore them and let their platforms fade into the dustbin of history. In other words, let the invisible hand of the market crush them. So whether you are a revolutionary, anti-capitalist or capitalist, you should tell them to fuck off and slowly die by your metaphor of choice.
But why does corporate social media suck other than the fact it is shitty in general? What causes the shittiness?
Cory Doctorow is one of our greatest tech critics and a world treasure. He is also a fine science fiction author. And he has a fantastic explanation why corporate, algorithm-driven, douchebag-owned social platforms suck and will eat themselves. This is playing out before our eyes with Twitter and more slowly with Facebook. And is even beginning with Amazon.
He says:
“Here is how platforms die: first, they are good to their users; then they abuse their users to make things better for their business customers; finally, they abuse those business customers to claw back all the value for themselves. Then, they die.
I call this enshittification, and it is a seemingly inevitable consequence arising from the combination of the ease of changing how a platform allocates value, combined with the nature of a "two-sided market," where a platform sits between buyers and sellers, holding each hostage to the other, raking off an ever-larger share of the value that passes between them.”
Also, algorithms that deliver rage not value suck. And it goes without saying that tracking and ads suck. And monopolies suck. I think you see where I am going here.
We’re humans, not cattle. It is that fucking simple. We are not a product to be sold.
Social media is a form of communication. Just like talking, singing, dancing, or writing. It’s not a business transaction.
So, it’s past time for a change and now time for a revolution.
To make this point allow me to borrow a few quotes:
In addition, there is this fact. While you may have less “reach” and fewer “views” on federated social media, you get much more interaction with your posts. And that is the whole point of it.
Fuck walled gardens, use open-source. Proprietary software = exploitation. Open-source = freedom.
Unless you are a .NET developer, you are working in open-source languages and using open-source tools. Hell, even proprietary software developers mainly use open-source tools.
Should your social media be any different?
So, let’s just revolt from this corporate horseshit.
On to the Fediverse. It is a network of interconnected social media platforms that use a common set of protocols to communicate with each other.
It’s decentralized, as in there is no central authority or c*ntish individual controlling the platform. Instead, the Fediverse is made up of a network of independently run servers, called "instances", which connect to each other. Users can communicate with others across different platforms, and have greater control over their data and privacy.
The Fediverse includes a variety of different platforms, such as Mastodon, Pixelfed, and PeerTube, each with their own unique features and user communities. It offers an alternative to centralized corporate social media, and prioritizes user needs and privacy over profit.
What’s not to like?
ActivityPub is the open standard protocol used by the Fediverse to facilitate communication between the different platforms. It allows users to follow and interact with each other across federated services. You can follow who you want to, not just who is on your platform of choice. A PHP developer on Mastodon can follow one on Friendica, etc. etc. Protocols, not platforms people.
It’s based on the idea of "federated social networking", which as we’ve seen means that users can interact with each other without relying on a centralized platform. Again, this gives users greater control over their data and privacy, and allows for a more diverse and decentralized social media ecosystem.
ActivityPub ensures that messages, status updates, and other relevant data can be shared between the different social media platforms that adopt it, regardless of the software used. It’s similar to how email works. You can email anyone no matter the email provider you use.
Overall, ActivityPub has played a key role in creating the Fediverse. As more platforms continue to adopt ActivityPub, the Fediverse will continue to grow and evolve, offering a competitive alternative to centralized corporate social media platforms.
Other Fediverse open protocols include:
Again, the Fediverse’s open protocol’s mean that social networks never have to build their own network effect. The problem of “you can only talk to users of this app” is over. As I said, fuck walled gardens.
Clients
Clients are web or mobile apps that allow you to use the various platforms on the Fediverse.
Here are some well-reviewed ones:
Web-based
Mobile
RSS
You can follow Fediverse users on RSS. But you can’t interact with them. And you can also follow hashtags.
You must join an instance or create your own in order to use a Fediverse platform. A great thing about them is that you can move your handle from one instance to another (at least on Mastodon) at any time.
Instances are:
Most people join existing instances such as phpc.social or drupal.community.
But you can create your own instance and either self-host it or pay a hosting service.
Roll Your Own Instance
Self-hosted servers. I know nothing about this option so view this instead.
Instance Hosting
Like web hosting there are instance hosting providers:
Scaling and security services
Fastly helps you secure and scale your self-hosted instance:
Let’s start with the fact that developers are moving to the Fediverse in mass. Cybersecurity professionals are following the same pattern. First movers get the most followers so don’t get left behind.
And for better or worse, Mastodon accounts for about 95% of Fediverse users. Hopefully, that decreases over time.
Mastodon is free and open-source. It functions just like any part of the Fediverse. Unlike corporate social media platforms that often collect user data to sell to advertisers, Mastodon's developers prioritize user privacy and security.
Additionally, users have the ability to customize their experience on the platform by creating their own instances with their own rules and moderation policies. This allows users to create communities that align with their values and interests, rather than being forced to conform to the rules and policies of a centralized platform.
Mastodon's user interface is similar to that of Twitter, with users able to post short messages, called "toots", and follow other users. However, Mastodon also offers additional features, such as the ability to create polls, upload longer videos, and customize the look of profiles.
If you don’t like what someone posts, you can block individual users, hashtags, or entire instances via a variety of means. No more assholes.
Mastodon also has a strong focus on community-building.
Instances for developers
For followers of our site we recommend the phpc.social instance.
Here are some other developer-focused instances/servers:
Most of us like to listen to music when coding, so check out Funkwhale.
It is also free and open-source and focuses on music sharing and streaming. Funkwhale allows users to upload and share music, create playlists, follow other users with similar music interests, and discover new music.
Funkwhale's user interface is intuitive, with users easily able to upload and share music. Funkwhale also has a strong focus on community-building, with users able to join or create groups, called "pods", around specific music genres or interests. These pods can be public or private, and can be used to connect with others.
Do you create video tutorials? Peertube would be a great home for them.
It’ free and open-source like all platforms in the Fediverse. Peertube allows users to upload and share videos, subscribe to channels, interact with other users through comments and likes, and discover new videos.
Peertube's user interface is also intuitive, with users able to upload and share videos easily.
Owncast focuses on live streaming. It allows users to set up their own live streaming channels, broadcast their own content, and interact with other users through comments and likes.
Additionally, Owncast offers additional features such as the ability to record and archive streams, and the option to enable or disable comments on streams.
This sounds like Twitch to me and would be great for webinars and live classes.
Lemmy is a self-hosted social link aggregation and discussion platform. It is open-source. Like the rest of the Fediverse there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top of feeds.
This sounds like Reddit to me. Get your coding questions answered or answer those of others.
/kbin is another service that is like Reddit. It is an open-source content aggregator and microblogging platform. Better yet, it is built with Symfony!
You can create and moderate communities, meet people with similar interests, and develop your passions.
I will be keeping a close eye on this brand new platform.
There are also event planning platforms in the Fediverse:
PixelFed is the second largest platform in the Fediverse and growing quickly. It is similar to Instagram in that it allows users to post photos and videos and follow other users, but it differs in that it is decentralized, again meaning that there is no central authority controlling the platform. It also uses instances.
However, PixelFed also offers additional features, such as the ability to upload longer videos, and the option to enable or disable comments on posts.
It’s my personal favorite.
Friendica is a replacement for Facebook. It allows users to connect with friends across different social networks, including Facebook, Twitter, and Mastodon, among others. This makes it a unique and valuable addition to the world of social networking, as it provides a way for users to consolidate their social media presence into a single platform.
And it also offers additional features such as the ability to cross-post to different social networks, and the option to use different themes to customize the look of the platform.
It is what I use for personal and political social media.
Bookwyrm focuses on books and reading. It allows users to create and share book reviews, create reading lists, and like every Fediverse platform interact with other users through comments and likes.
It offers additional features, such as the ability to search for books and authors, and the option to follow other users with similar reading interests as well.
Pleroma is a microblogging server software that can federate with other servers that support the same federation standards like OStatus and ActivityPub.
Pleroma also features chat in its sidebar. This real time chat that does not federate and every user on your instance is a member of this chatroom.
Microblogging (Mastodon equivalent):
Blogging:
Flipboard has integrated Mastodon as it moves away from Twitter. It now includes a feature that gives people a visual way to flip through stories, photos, and posts from Mastodon.
Check out flipboard.social if you are a user and would like an easy way to join Mastodon.
WordPress founder Matt Mullenweg’s company, Automattic bought an Activity Pub plugin and plans to integrate it into WordPress.
Currently after installation, WordPress readers are able to follow blogs that use the plugin on their preferred federated platform, view its blog posts, and reply with comments. Replies posted to a federated site become post comments on the WordPress blog.
Speaking of Matt Mullenweg companies, Tumblr also plans to integrate Activity Pub.
Flickr’s CEO has said that there “appears to be a lot of interest” in seeing Flickr move forward with ActivityPub, but he wanted to first gauge the type of interest more specifically.
A module is in development for Drupal. The module has been tested with the following federated platforms: Mastodon, Pixelfed, Pleroma, and Write.as. It mainly acts as a server. If you want a client, you can install the the Personal reader project, which allows you to view and interact with followers.
Symfony/API Platform have an experimental bundle. API Platform ActivityPub is a bundle for the API Platform framework and Symfony providing support for the ActivityPub protocol and for the ActivityStreams vocabulary. API Platform ActivityPub allows to easily add support for ActivityPub to new or existing API Platform projects, while still being able to benefit from all API Platform features (yes, including Mercure, Vulcain, and GraphQL!)
Browsers Vivaldi and Mozilla have started instances and will integrate Mastodon functionality into browsers. In fact, Vivaldi has already done so.
So, as you can see, lots of peeps, platforms, and publishers are joining the revolution.
What’s exciting about the Fediverse is that most of it hasn’t been built yet. Now, the majority of users see it as a Twitter replacement. And that’s great and the first step in building critical mass.
But, the sky is the limit. As you have seen anything can be built. The only limit is our imaginations. The Fediverse’s power isn’t just in the instances you join or the apps you use or whatever tool we build. It’s us. Our creativity will determine its future.
A Mastodon power user, Atomic Poet, thinks “the key question is how will you use the open protocols? Mastodon only scratches the surface. Once people discover the potential for what can be built, it will be a tectonic shift for the Internet.”
Ok, you’re almost at the end. Thanks for reading and I hope you are inspired to get federated and join the revolt against corporate social media.
Happy Fediversing Symfonistas!
Find me on the Fediverse at your convenience:
Here's an easy way to join Mastodon. But, you should join the phpc.social instance instead. Or if you specialize in Drupal, join the drupal.community instance.
Fedi.tips has a comprehensive guide on how to get started, how to migrate data between instances, and more.
Mastodon entry points:
Here’s how to get started with Mastodon.
And here’s how to follow it via RSS.
See the Mastodon code.
Find help for deciding which instance to join.
Visit the-federation.info for stats, monitoring service, and a data-driven look at the Fediverse.
Subscribe to and follow the fediversereport.com.
You are a developer, so contribute. Here’s how to start.
There is a developer network group you can join.
This post looks at supporting Fediverse developer communities.
Here’s a guide for new ActivityPub implementers.
Finally, this is the Activity Pub specification.
Symfony Station covers the essential news in the Symfony, PHP, and Fediverse development communities with a focus on protecting democracy. Please use the button above to make a small donation to help cover our out-of-pocket costs. Our labor is provided free of charge to support the communities we write about.
Subscribe to The Payload, our weekly newsletter exploring the Symfony Universe.