#90: Mastodon: next-generation, open source social network
After many dramatic events around Twitter lately, many people, including myself, began experimenting with Mastodon. Superficially it’s an open-source clone of the former that anyone can deploy and host. However, once you look deeper, it’s actually a completely different philosophy and architecture. Let’s focus on how Mastodon federated network is built. To understand the difference, we’ll start from scratch.
You can download Mastodon server, written in Ruby and Node.js and install it on your machine. You can then register yourself on your very own server and start microblogging. If you allow that, other people may also register on your own server and write content on their behalf. You can see their posts, known as toots, follow them, like, but also mute or ban. It’s your hardware anyway.
In the meantime, anyone can setup a similar server and gather a community as well. At this point it’s like having two individual open-source Twitters running independently. But Mastodon allows federating them. These two or more servers can talk to each other, exchaning their content. From now on you can read, like and follow content written by users on either server.
Time goes by and you have hundreds of federated servers. Each with their own administrators, policies and communities. But from the user perspective it doesn’t really matter on which server you are registered. You can interact with all other users. It’s similar to e-mail providers. If your inbox is on GMail and you send message to another GMail account, it’s simple. But nothing prevents you from sending messages to other providers. Underneath, GMail will talk to other mail servers and exchange messages. It just works.
The same applies to Mastodon servers.
But it gets better.
The protocol used to exchange data between nodes is called ActivityPub
.
And it’s a W3C standard, not something made up.
Moreover!
Mastodon is not the only application speaking that protocol.
There’s also Pleroma, Pixelfed for image sharing and PeerTube for video sharing.
Technically you can follow someone on Pleroma or see pictures from Pixelfed from within Mastodon.
That’s why someone might correct you that you are actually part of Fediverse - a meta-network of networks. Don’t mind these people. They’ll probably correct you as well that it’s GNU/Linux, not Linux.
When it comes to user perspective, there are a few interesting design and UX choices.
- You can’t quote a message, known as toot. You can engage in discussion though
- The number of shares and likes is not visible at first sight
- Community strongly encourages good practices, like describing pictures, selecting language and labelling content warnings.
- Lack of full-text search. Just hashtags
These, and many more choices may improve friendliness of the community. So, the point is, Mastodon is something much broader than a simple open-source Twitter clone. It’s a whole ecosystem where you own your data and there’s no central authority or administrator. Of course this poses another set of challenges on its own. But the open nature of Mastodon, together with some UX design choices, make it very compelling. It will probably never replace Twitter and such. After all, I needed 4 minutes to just explain how it works. But it’s a platform worth investigating.
That’s it, thanks for listening, bye!