How Does Mastodon Work?

I'm Kev and I'm a Cyber Security professional from the UK. I started this blog so that I could share my thoughts on the things that interest me. That's usually technology, Linux, open source, and motorbikes.

Leave a Reply

Comment as a guest.

  1. I’m curious, re: federation.

    If I spin up a new instance of Mastodon, it’s going to run all on its lonesome until I connect to a user in another instance, correct?

    Can I, as an admin, force a connection to another instance without connecting to any users there?

    And! If suddenly my little community gets wildly huge, and my users are connecting to random people all over the place, my federation is going to get massive and potentially out-of-control. Is it possible to remove an instance from the federation, in order to keep your federated stream still somewhat curated?

    In other words, if you’re wanting to just keep everything some what FOSS-related, can you trim out federated instances that aren’t on-topic? That way, your federated stream is (for the most part) focused on FOSS, and your local stream is fine-tuned to the specific topics and community you have created?

    I hope this makes sense. Great write-up!

    1. You can create follow bots on your instance that will go out and systematically follow everyone it comes across (unless users opt out of engaging with bots), this will allow for federation without you having to follow on your personal account.

      You can stop federations with an instance by silencing or blocking them at an admin level, but that effective for all users on your instance.

      The federated timeline is almost impossible to curate, don’t even try. I don’t remember the last time I even looked st it. You have the local and home timelines which are far more controlled and full of people who’ve you find interesting.

      If you try and censor the fed timeline, it’s likely to be done globally and it will piss your users off.

  2. Hi! When I register I have to choose the instance I will be in? Or an instance is like a usar meaning that I can just follow it? Can I belong to more than 1 instance?

    1. You pick and instance, then sign up. You can be on more than one instance, but you will require a separate account for each.

  3. It has been really great to focus on Mastodon and let my other social media fall away. To log in and read posts that I actually find interesting made by like minded people is awesome. It also feels really nice to leave a social media “session” feeling more inspired and excited about trying new things instead of feeling simultaneously jaded and overstimulated. So far, keeping social media more minimal or at least more focused has helped me view it in much healthier light. Plus… FOSS!

      1. Mastodon says it will add people who are the same on Twitter and Mastodon so you don’t have to add them manually but it doesn’t work.

  4. Nice summary!

    Regarding your last point, about picking an instance: I’d suggest going through Mastodon users you know or are a fan of. In my case, an artist I’d been following for a while – someone who seemed like a stand-up person and reasonably tech-savvy – turned out to be running an instance with a good code of conduct. Absent that, I’d probably have asked someone I was friends enough with to ask, “Hey, what’s a good Mastodon instance to join?”, and checked out their suggestions.

  5. Hi. Good article however I’m not very fond of e-mail analogy… i know that you want to get point across but… this is not how email works 😉 and what’s worse – I though that mastodon would also relay on SRV records of sorts instead of auto-discovery by users.

    1. The email thing was a deliberately simplified analogy to help get an idea clear in a new user’s head, as email is familiar to most. The details of how email fundamentally works (MX records, DNS, SMTP etc.) are not relevant to the article.

      The concept of multiple providers communicating over a standardised platform was the point.

      1. after pondering it more – using this as analogy is kinda bad – but it’s only because IMHO mastodon federation is also kinda bad – you may end up on a node that is kinda blind to some node feed just because no one before had any interaction with it

  6. What confuses me about Mastodon is search. Are the results from your instance only? If not, where does the index live? Does every instance have to build it’s own index of all the Toots across the Fediverse? That seems highly inefficient. My searches return very few results, so I am guessing that Instances have their own indexes that only contain toots from instances they are aware of. I know Google can index Toots, but how would you search Google for a toot specifically when all instances have their own domains, and Google doesn’t understand Federation presumably.

    1. Hey Jesse, basically, yeah, each instance does create its own index of media and accounts that it federates with.

      When searching, account results are from all instances that your instance federates with, whilst hashtags etc. are local only, I believe. If your instance isn’t federated with many other instances, that may explain why you’re not seeing many results.

      you can easily do a site specific search on Google (or DuckDuckGo), you simply have to use the correct syntax, which is:

      site: “search string”

      So, if I want to search my instance (fosstodon.org) for the string “kev quirk” my search query would be:

      site:fosstodon.org “kev quirk”

      Hope this helps.

  7. Thanks for writing this. My big question is why when I visit someone’s profile, I don’t actually see all of their toots. Sometimes there are only one or two even when I know the person has tooted many times. I experience this both on the web and on Tootdon. Do you know the reason for this?

    1. Hey Steve, thanks for the comment. I’m actually not certain of why this happens, but I always assumed it was when an instance was newly aware of an account and hadn’t built up a cache of that account’s Toots.

      Thats just my best guest though, as I haven’t looked in to it. It is frustrating when that happens though.

    2. Posts don’t reach your server unless someone on it follows that account. Old posts aren’t fetched, only new ones. If you want to load an old post, you can copy its URL into the search bar!

        1. You’ll see the posts from that web page, because that’s public. But when you log into an instance where no one has ever followed you, then they need to look you up by searching for your profile/address. Once any one person follows you, your posts will reach that new instance, but your old posts will have to be manually fetched by copying the URL and pasting it into the search bar.

        2. From that link we do, but when logged in and not federated, we don’t.

          For example, my instance isn’t federated with your instance yet, as no one on my instance follows anyone on your instance.

          If I go to the URL above, I can see all your public toots, as I’m visiting your instance. However, if I log in to my instance and look up your profile, I won’t see them.

          If I then follow you, our instances will federated and after a short while,everyone on my instance will see all your toots.

          That’s why there are things like follow bots, that stop this kind of thing from occurring.

    1. I think that becomes self-explanatory once a person starts using the UI. I deliberately didn’t go in to the minute details of every aspect of Mastodon – the article was long enough already. This is a good starting point, I felt.

        1. Well, what the columns are and where they come from would actually be a good one. Stephen is right that they’re not as self-explanatory as one might think. More sophisticated folks probably won’t have trouble, but it is still a barrier to adoption.

Read Next

Sliding Sidebar