So in recent light of #twitter exodus (thank for the relentless Fediverse publicity work of #Musk) there are a lot of people coming over to #ActivityPub-based services like #mastodon and they have their expected behaviours and preconceptions of the network.
Since I've been there as well a while ago, let me share some experiences of mine with you here. Take it as a very-non-official and extremely not going with the “sunny and cheerful disposition” of AP proponents.
What is the name of the network?
I don't know. I mean, I cannot tell which one people will understand. All these names kind of work and don't at once, in not popularity order:
- ActivityPub (or AP in short). That is the name of the common protocol the network uses. This would be the proper name to call the network, but lot of people look clueless seeing the word.
- Mastodon. This is just one software on the AP network, but the most popular one, so it kind of represents the AP mass, so people often call it this way.
There are other popular software using AP though, like Friendica, Peertube, Pixelfed, Pleroma, as well as loosely connecting ones like Nextcloud, Mobilizon or Writefreely (which you're just reading).
- Fediverse. Well, Fediverse existed before Mastodon and it means “all” the software using the common AP protocol. It is also a good name, but for curious reasons people use it sparingly.
I try to use Fediverse from on.
There are no public messages
Let's start with the most often seen misconception: There Are No Gobal Public Messages on Fediverse. Period.
It means that federation means “subscription”: if I want to hear you I have to subscribe your account, so your account will send me all your messages. All messages are send to someone.
The whole picture is more complex though: ther is a target called “public”, so it seems you can create public posts after all! You create a post for the public so it will show up in everyone's stream!
Except it works differently: all posts are posted to the local server (and Fediverse is right now consists more than 10000 servers!), and stay there. Everyone using the same server as you will see it as a public post! They can search for it and find it, they can see it in “trends”, they can follow its hashtags, etc.
But nobody will see it outside the local server by default. They cannot see it, search will not find it and it will not be seen in trends or hashtag subscription.
But the whole whole picture is even more complex! :–)
Servers can show only those “public” posts to you what they actually possess. Normally they are oblivious about any posts on any other servers… But this changes when someone on the local server follows someone on a different server.
In this case the person will “pull” these messages of a remote person to the local server. If the posts were public (as most posts are) then they will became visible locally! They will be searchable and trendable!
So, in theory, it would be possible to have real public posts if your local server would pull all public messages from all servers and insert them locally. (In theory there are “relay” servers that server admins could use to pull remote messages. In practice they either don't work, or haev a limited reach. Or maybe it would cause so large amount of data that nobody does this. I don't know.)
Local server communities
One more easy to spot attribute of the Fediverse is the thematic servers.
There are a lot of open registration servers available and lot of those do have a specific local theme: special-gender people are strong in the Fediverse (mainly due to its origins, for which determines that Fediverse always have provided strong support for oppressed minority groups), but there are various themes from manga cats to white hat hackers.
Since there are no global public messages it become important what messages your local server provide, and the “theme” of the local server may determine what messages are visible from unknown people, where the trends are interpreted, in what messages do the hashtag search actually work.
Some considers also a positive aspect not having global public messages as it is harder to harrass or attack people from outside the server and local admins can effectively step in in case of local problems, so it helps community intergrity. On the other side of the coin all of this helps forming of opinion bubbles, separates and disconnects people/groups and hinders inter-group communication. I don't want to judge which is more important.
No fillback
There is no fillback – which means there is no way to retrieve old messages. It is possible to find people on other servers using your server, since the “search” field is usually extremely smart and is able to find (resolve) URLs of “actors” on other servers, but it shows a rather false image of what they have actually posted. You may or may not see any posts; I've been old that pinned posts are always kept and offered but others… varies. Sometimes you get a random picked bunch of a few older messages, sometimes not even that. If you want to see the real history there is no way for your server to ask the remote server to send you all the past messages: you have to go to the remote server, possibly log in, and read the messages if it allows that.
Some say this is not a problem, since it's simple to jump between servers. Except, well, you can only see the messages: you cannot reply or react on them, unless you create hundreds of local accounts.
…except pins
As I mentioned, pinned messages seeem to stay around forever (other messages may be destroyed after a while, depending on local server rules), and they are shown to people searching and founding people there. The amount of pinned messages are severly limited though, most servers don't enable more than 5 of them.
One substitude action on the Mastodon side was to call the short messages somehow, and since they were (at least mentally) cloning Twitter they called the “tweets” as “toots”. It means a short and sharp noise made by a horn, trumpet or similar (apart from sniffing cocaine, but let's not get into that one). So these short messages are called toots, which many people consider a rather unfitting word, but that's what we have.
Toots can do a bit more than “tweets”, which are 140 characters long (280 for accented languages), and it includes everything, apart from that links (URL) are automagically shortened to t.co/ links).
The default toots limits are:
- 500 characters length
- all links equal to 23 characters (using a shortener is strongly discuoraged)
- mentions only count the username part, not the domain
- hashtags count fully
- you can create Polls (up to 4 choices, 25 characters each; they expire 5 minutes to one week)
- you can attach files (images up to 8 MB; video and audio up to 40 MB, at least on Mastodon)
- each servers can offer localized emoji shortcodes (:tutorial_writing:) for whatever insane reasons
- you can put a sensitive content/NSFW (Not Safe For Work) warning and blurring on posts
- you can choose publishing levels from public, unlisted, followers or direct.
Verification ✅, verified links
There is no such point of verification when anyone can create their own server and can verify whomever they want. Still, there are ways to verify people with varying levels of assurance.
The normal level is that you include your webpage or service which links back (in a documented way) to the server you're using, and the server will verify that backlink, conclude that you indeed control that service an gives a green check mark on your included data in your profile page.
The secure way is that you offer a verified identity, like a signed GPG key or a widely used service (like an account of a large search-engine based advertisement business or some technology-cloning-without-permission business based operating system like game console developer company acquired public source code repo) and configure it doing the same verification, since it gives more assurance than a random webpage.
As a sidenote everyone can just jokingly write a checkmark after their name. Or a cake, a zebra or a biohazard sign.
But apart from that… consider nobody really verified. Think of it like it was Twitter. Same way. :–)
Searching
No global public messages, so no global search. You can search on your local server only, and chances are high and you cannot do a “full-text search” (means you cannot search freely for the content of toots, only for hashtags and names; it depends on the local server configuration and the amount of resources the admin have thrown at it).
However the little search field does magic. It cannot search for messages but it can look up nearly any ActivityPub/Fediverse service or account! You can try fediverse address (like “@johndoe@weirdservice.example.org”) or URLs (like “https://weirdserve.example.net/post/19561023") and it does all it can to try to provide you with the referenced content.
No globa… ah I am repeating myself. So no global trends and no way to follow hastags on foreign servers. Local only. Pity, really, since makes the whole thing rather pointless.
There are a lot of Fediverse-compatible services apart from messaging: