
How Does Mastodon Work? - codesections
https://kevq.uk/how-does-mastodon-work/
======
jancsika
> Well, finding the right one is very difficult

That sounds like a rather critical UX bug.

Just give me the instance I should sign up on in the "sign up" area of
mastodon.social. Use what you think is the most suitable algorithm to cycle
through a list of "appropriate" instances, where you-- the people with domain
experience-- define "appropriate" for the potential user.

Otherwise you end up with this passive-aggressive situation where everybody
does the obvious thing of signing up on mastodon.social, but your devs and
fans take it on themselves to "teach" people _not_ to do that because
federation.

Case in point: the very first step of signing up is described as "very
difficult" in this newbie guide.

~~~
pawal
Would you say the same thing about e-mail and SMTP?

~~~
gemlog
this. It doesn't matter one whit about the instance, except perhaps initially.
Maybe. You choose who to read and follow and the instance doesn't matter. I
already 'follow' about 80 like-minded geeks I'm interested to read each day
and that's all I can keep up with. I never look at either the local timeline
or the federated timeline: they are too much information; firehose. edit: and
those 80-odd ppl are all over the planet on various instances in various
languages.

~~~
s_kilk
> It doesn't matter one whit about the instance, except perhaps initially.
> Maybe. You choose who to read and follow and the instance doesn't matter.

Not in my experience. Mastodon doesn't really have any (good) cross-instance
discovery mechanisms aside from just watching the global fire-hose, so your
initial experience is formed by the other users on your instance. And the
experience varies wildly from "This instance is very quiet" to "This instance
is full of furries".

~~~
gcb0
sound just like email or twitter or facebook before everyone's parents were on
it.

------
codesections
I wrote a companion piece that explains what makes Mastodon better than
Twitter. It starts like this:

> Mastodon is a newcomer social media platform that is a lot like
> Twitter—short messages, followers, hashtags, all that. But Mastodon is much
> better than Twitter, and not just because being totally ad-free and keeping
> chronological timelines make it far more enjoyable to use (though that
> certainly helps!).

All that is nice, but the real advantage Mastodon has over Twitter is that
Mastodon is not an outrage machine that's corroding our ability to view our
politic opponents as real humans, deserving of sympathy and understanding.

To explain how much better Mastodon is, I'm going to give you three examples
of how Mastodon is better, and then I'll step back and talk about why Mastodon
is better.

[https://www.codesections.com/blog/mastodon-elevator-
pitch/](https://www.codesections.com/blog/mastodon-elevator-pitch/)

~~~
elboru
Wouldn’t a decentralized social network be more prone to delvelop more
extremist groups? I mean if anyone can create an instance, then extremists
from all the political spectrum will be able to moderate their own instances,
in other words they will censor those who think differently and encourage
their own views creating a loop that could potentially create more myopic-
extremist views, or is there something I’m missing?

~~~
TheSpiceIsLife
And won’t the proponents say this is a feature as it keeps them off other
instances?

~~~
PakG1
And won't detractors say that this is how the mainstream media got the 2016 US
presidential election predictions so wrong?
[https://www.theatlantic.com/technology/archive/2017/10/what-...](https://www.theatlantic.com/technology/archive/2017/10/what-
facebook-did/542502/)

~~~
phs318u
Then perhaps people/corporations will learn that farming social networks to
predict IRL intentions may not be the best use of their time and energy.

As far as I'm aware, "being an accurate source of voting intention" is not a
prime requirement for social networks, nor is "making life easier for lazy
journalists/pollsters". At least, not for any where the users are the
customers. For those, where the users are the product, requirements might be
different. Personally, I view this is a positive for Mastodon.

------
Pfhreak
The thing I never really see from these is about setting up on an existing
instance vs running my own. And if I set up my own, does it need to be a
community? Am I shutting myself out of an experience by creating, say, a
Mastodon instance for my family?

I'm bought in to the idea of Mastodon, but getting started is like being
handed an atlas of the US and being told, "Please pick a neighborhood to live
in."

~~~
derefr
It’s exactly like email. You can have an email server @yourdomain that just
has the one account, and interact with the rest of the email “network” just
fine, right? Same with Mastodon.

~~~
ReverseCold
People discovery isn't necessary with email, but it is for a social networking
system.

I want to be able to find other people in the fediverse, and I also want
people to find me. Having your own server excludes you from other people's
local timelines (and vice versa), making discovery in both directions very
challenging.

------
newscracker
I wish the author had expanded on migration from one instance to another and
what it entails (similar to the questions and responses here).

Another point I would've liked to see is on encryption and privacy — who,
other than the people I choose as an audience, can see my Toots (the admins of
the instances, someone sniffing the network, etc.).

If these platforms are being sold as "awesome", there need to be more reasons
than just "no adverts and no tracking" (the latter claim is not provable
without talking about encryption in a little more detail). No ads doesn't mean
someone can't sell your information to someone else outside this platform.
It's one thing that the owners/maintainers of many instances wouldn't sell
information because of their own moral convictions that led them to get out of
centralized, single company social networks. But asking to trust on that basis
alone is not enough.

I checked out Mastodon quite sometime ago, but stopped using it after one or
two Toots. Network effect — not knowing anyone else is a big barrier. On chat
platforms, I could at least persuade one or two people I know to use them for
direct chats, but these ar harder to deal with when you're looking for people
who are not only local but also are working on similar causes as oneself. Like
the author says, finding some interesting people on Mastodon and creating new
connections could work, but it also depends on one's areas of interest. I
personally also find Twitter very noisy (not in the sense of signal to noise
ratio, but the amount of content). At least on Facebook I can join certain
groups, avoid the news feed, etc. Somehow the topic wise discussion format
seems suitable to me than a chat format (without some amount of conversation
threading) with many users.

~~~
saurik
> I wish the author had expanded on migration from one instance to another and
> what it entails (similar to the questions and responses here).

Account migration is not a thing yet, and conceptually requires a new
namespace for referencing accounts (such as public keys). There is a multi-
year-long actively-discussed open issue thread about this problem.

[https://github.com/tootsuite/mastodon/issues/177](https://github.com/tootsuite/mastodon/issues/177)

~~~
someonenice
This should work like Domain <-> web Hosting type. So you can register your id
at one place (similar to domain with any tld registrar) and change to another
instance (web hosting). So you do not lose the need to change the id when
changing instance.

~~~
vageli
This would lead to IDs being globally unique, which means if you have a common
name you are unlikely to get a handle that you want. Secure scuttlebutt has a
method to allow multiple people to share the same "public id" (multiple people
may be named "Jill" for example) but preserves uniqueness by addressing
individuals by a public key associated with their public name. I'm not sure
how the mapping from public key to handle is done though.

------
mirimir
Finally, a cogent explanation.

Edit: But missing a key issue, perhaps.

> Because Mastodon uses a collection of Instances, you’re not at the beck and
> call of one site owner. If you don’t like the direction an Instance is
> taking, you can pack your virtual bags and go. Mastodon even has an
> import/export tool that allows you to migrate the people you follow from one
> account/instance to another.

That sounds great. But if you do "pack your virtual bags and go", is there any
way to map foo@bar.net to foo@baz.net? In the email analogy, there's clearly
not. You need to tell all correspondents.

~~~
confounded
Some interesting discussion here:

[https://github.com/tootsuite/mastodon/issues/177](https://github.com/tootsuite/mastodon/issues/177)

It seems possible!

~~~
mirimir
Yes, it seems that every user already has a private|public key pair. It's just
that instances are apparently storing users' private keys. And that, for what
it's worth, seems like a horrible idea.

But whatever, if users had control of their private keys, they could easily
move. As long as routing depended on public key hash (as with Tor .onion
sites) instead of user@instance. More of a web model, instead of an email
model ;)

------
bopbop
Apologies for the vulgarity, but I am presuming someone has informed the
initial design team that toot is slang for a fart (at least in England) -
which leads to the phrase "a mastadon toot" being quite a double entendre.

How well ingrained is the name? Is it as commonly used in the community as a
tweet in twitter? As in do the users identify the messages they send as toots,
and are likely to say as such?

[https://www.urbandictionary.com/define.php?term=toots](https://www.urbandictionary.com/define.php?term=toots)

~~~
willvarfar
Is someone who uses Twitter a twit?

Silly names that mean things in different places don't seem to deter Americans
(I'm a Brit but I've never heard the slang "toot" before; I guess it might be
very regional)

~~~
bopbop
I rather delicately confirmed with a few co-workers and they are aware of the
usage, so it could be regional? They're rather reserved PHD kind of people
(I'm not), but seemed to find it hysterical.

With regards to Twit, that's a great point - although in that instance it
seemed like a more intentional slur, as I think I'd normally default to
"tweeter".

Because it is a verb substitution it has this kind of wordbomb effect of
corrupting every sentence it could be used in. Some examples!

-the latest release by the Jonas brothers made me so happy i just had to toot.

-these toots are a breath of fresh air.

-Welcome! Let's get you tooting!

For when Mastodon social gets it's first celebrity president:

-President Trump released another obnoxious toot in his seemingly never-ending tirade

and finally,

-I toot, therefore I am.

------
edhelas
I am really impressed by Mastodon all the efforts that the community is doing
to explain the project and the decentralization to the "common people".

It's something that I'm doing for years now when trying to show how Movim
works (it's a federated social platform based on XMPP,
[https://movim.eu](https://movim.eu)). I always have difficulties when showing
how a social platform can work in a decentralized (or in those two cases
federated) way.

The path that I'm taking for Movim at the moment is to start from the emails
(in Movim the accounts and platforms are decoupled, you can connect using the
same account on different instances and clients) and apply it to a social
network and chat service (Movim is mixing social network and chat platform in
the same UI) but I see often that it's not "easy" when people are used to
centralized solutions.

------
lambada
Something unclear from the article

>You can also Favourite a Toot. Which basically means that you support or
agree with a Toot.

Are favourites toots private? Can someone else view them? Are they
automatically shown up in timelines (as liked tweets do).

Also, does favourite really imply agreement? To me atleast, I favourited
tweets that I didn’t agree with just because they pointed to a well
constructed argument, or for future reference.

Since twitter changed terminology to like I’ve stopped doing that.

~~~
zaarn
Favorites don't show up in any timeline other than your own favorite list. To
my knowledge, others cannot see favorites but I might be wrong, I can't access
my own instance atm due to a network filter.

The canonical way is to retweet (boost) a toot which shows up in the timeline
of your followers and your profile (the boosted tweet will also show up on the
federated timeline but not associated with you).

~~~
RX14
You can see the list of favourites just like you can on twitter

~~~
zaarn
Ah yes then I remembered that wrong. Might be worth an issue opening on github
:)

edit: Found this one:
[https://github.com/tootsuite/mastodon/pull/7107](https://github.com/tootsuite/mastodon/pull/7107)

------
samcat116
With the death of certain Twitter APIs coming up soon, I wonder if many
Twitter client developers will start to make Mastodon apps. I would love to
see "Tootbot" by the Tweetbot developers.

~~~
kethinov
What Mastodon badly needs is a client that can crosspost to both Twitter and a
Mastodon instance to lower the barrier to slowly switching.

~~~
robjan
There already is one on mobile:
[https://github.com/TwidereProject/](https://github.com/TwidereProject/)

------
lxe
How are email and ActivityPub different in spirit? If they are so similar, and
often compared, then why not use the well-known email stack to build
"federated" social/messaging apps? I think "not being gmail-compatible" was
the core flaws of Google Wave.

------
corobo
When you first start out someone gives you an email address. Your ISP, Your
employer, Microsoft, Google (push)

When you first start out with Mastodon, you have to find a server on your own
and hope it's not going to disappear on you in the distant future (pull)

The mainstream doesn't do pull. I haven't verified but I imagine sites such as
Twitter didn't take off until they started pushing accounts through
advertising and word of mouth suggestion (upload your contacts, invite your
friends!). Facebook pushed accounts on people in by limiting who could sign up
until a certain demand threshold was reached so that when the next wave of
potential users look at it, they have an account pushed on them by peer
pressure as their friends were already there

Leave the decentralised aspects to us nerds. To get it properly going you're
gonna need a way to push accounts on people

------
ISL
Is there a straightforward way to change Instances without losing connections
with other users?

Does it make more sense to host your own, so that you'll always be
@isl@isl.tld ?

~~~
fenwick67
You can export/import the list of users you follow, but the people who follow
you will have to re-follow you manually

------
woodandsteel
From the article: "To my surprise, I couldn’t find a decent guide anywhere"

How often open source projects shoot themselves in the foot this way. They
come up with something marvelous that many ordinary users would love to use.
But then they fail to make a friendly UI and write good user docs, so few
people adopt it.

One example I struggled with is gpg. I wanted to use it, but found the user
docs confusing. So I thought of helping improve them so it would be more
widely adopted. So I dug into how it works, but I discovered it was so
inherently hard to use that few would ever adopt it, no matter how good the
user docs were, and so I just gave up.

One thing that is going to determine whether web decentralization succeeds and
rescues us from Facebook et al is whether or not the developers can come up
with user friendly software. One thing that means is that it is quite possible
that a piece of decentralization software that is far from optimal will take
over a segment simply because it is easier to use that others that are much
superior.

------
kowdermeister
I found a survey about Mastodon:

[https://medium.com/@cassolotl/a-mastodon-survey-
ac74948765c7](https://medium.com/@cassolotl/a-mastodon-survey-ac74948765c7)

It says the main reason for not joining / abandoning is lack of friends. And
also hard to use which doesn't help pulling in more people, so no friends,
then a downward spiral.

Is there a way out?

~~~
Mindwipe
I feel like a simple plugin that pulled in your public Twitter friends
usernames and offered to follow anyone with the same username @mastodon.social
would really help here.

Pretty hard for Twitter to stop it if it were a client that scraped the list
too.

~~~
rainbowmverse
It exists.
[https://bridge.joinmastodon.org/](https://bridge.joinmastodon.org/)

~~~
Mindwipe
Thanks, I'll have a play with this.

------
msravi
It isn't clear from the article - does Mastodon have the equivalent of Twitter
lists in which I can group sets of handles into separate timelines that I can
follow independently/parallelly?

The one timeline thing doesn't work for me too well... I prefer a few separate
parallel timelines and tweetdeck is great to organize and follow such parallel
timelines.

~~~
codewiz
You can create multiple named lists and you can add people you follow to them.

I mostly post publicly, but I used this feature to create a list of friends
who live in Japan.

~~~
msravi
Looks like it has everything that I wanted. Thank you.

------
amelius
> If we use our email analogy; think of Mastodon as email as a whole.

Shouldn't that be ActivityPub instead of Mastodon?

------
Kiro
> This is by design so that a person’s Toot is only Boosted in a way that gets
> the message they intended across.

Seems like a bad design decision trying to force people to use the platform in
an unnatural way. They will just take screenshots and add their own comments
instead, making the "retoots with comments" inferior to what it could be with
native comments.

~~~
mobilehnuser
Whether it's bad design or not this is one of the aspects of Mastodon that
appeals to me the most. The friction is just enough to stop the context
collapse that plagues Twitter

~~~
glenstein
Right. I'm also a fan of friction any time I hear an argument that "well, [bad
behavior] is inevitable, so you may as well purposely include it and design it
to be easy to do!"

We've seen that design can shape behavior in profound ways, and we have no
obligation whatsoever to follow pressure toward a lowest common denominator if
we think there are better designs that consciously resist that pressure.

~~~
rainbowmverse
Yep. I don't think it's coincidence that Twitter's slide started right around
when they started giving you notifications for likes/retweets of retweets and
replies when before it was only for your own posts. Then it got worse with
quote tweeting.

------
baxtr
I hope Mastodon will develop into a real twitter alternative one day.
Currently it’s rather “empty”

If anyone is intersted in a German round-up of Mastodon:
[https://www.achtungtechnik.de/archives/2018/mastodon/](https://www.achtungtechnik.de/archives/2018/mastodon/)

------
Avamander
The idea seems very interesting to me, but I have to ask, people talk a lot
about the social aspect and how I can follow people, this honestly doesn't
interest me at all, what I'm interested at is aggregation, could I actually
replace say twitter and my RSS reader with self-hosted Mastodon instance?

------
needle0
I'm not sure if this will be relevant to its longer-term success, but I notice
that the word "Mastodon" seems to be very easy to misspell -- In the comments
here alone I already find "Mastadon", "Mastadoon", etc.

~~~
piotrkubisa
I am curious why they have misspelled the Mastodon? In many languages it is
written and spelled in the same way. I am not native speaker but I would
pronounce mastadon and mastodon in the same way (ˈmæstədɑn), but hardly I can
imagine to write down as mastadon.

> First attested 1813, from the New Latin genus name Mastodon (1806), coined
> by French naturalist Georges Cuvier, from Ancient Greek μαστός (mastós,
> “breast”) + ὀδούς (odoús, “tooth”), from the similarity of the mammilloid
> projections on the crowns of the extinct mammal's molars.

[https://en.wiktionary.org/wiki/mastodon](https://en.wiktionary.org/wiki/mastodon)

~~~
vxNsr
In the US at least people spell based on how words sound in their head if they
don't really remember the correct way to spell it.

No one is thinking about the history of the word, in fact I personally was
wondering why they chose an elephant as their mascot until I remembered what a
Mastodon was.

------
caf
How does it deal with spam?

~~~
brian-armstrong
Nobody wants to use it, so the ROI for spam is very low. This keeps spam to a
minimum.

~~~
willismichael
Moral of the story: use Mastodon, but keep it unpopular?

~~~
erik_seaberg
Worked for Usenet from 1979 until 1993.

------
pard68
I joined a server. It was alright. Then I looked at the federated timeline and
decided I did not wish to be a part of Mastadon.

Too much hate and virtue signalling. It was like what Twitter already was.

~~~
ColinWright
I don't understand this. The Federated timeline is always going to be full of
the same kind of crap that Twitter (and other social media) has. The whole
point of Mastodon is that you can avoid that by joining an instance that
matches your interests, and then only look at your notifications and the local
timeline.

By doing that you can see only things said by, or boosted by, people who you
have chosen to associate with. Then you get most of the benefits of social
media without getting the crap from the uncontrolled firehose.

But sure, if you want it to be like Twitter, and then reject it because your
experience is like Twitter, then by all means. I just don't understand your
reaction.

~~~
asdkhadsj
Can you join multiple "local" timelines? Ie, lets say you join an OSS dev
focused federation and you like it. Down the line, it grows and becomes less
HN, more Reddit. Okay, you say to yourself, time to move to the next HN-like
you find. So you do that, but it's small, and feels dead.

Seeing feeds from both the old, somewhat bad and the new, better but still too
small would ease migration woes. Is that possible?

~~~
ColinWright
You can start a new account on a new instance, watch the old account on the
old instance, see which people are still worth following, then follow them
from the new instance account. I've done that and it worked a treat. You can
also export the list of people you follow and import that into the new
instance, then unfollow anyone who says stupid things.

My experience is that all platforms reward putting in a small amount of effort
to curate those I follow and engage with. Unless you do that you end up with
the shower of complete crap hiding the nuggets worth having. With a
comparatively small amount of effort you can get a high-quality stream with
very little crap, and then you can block or filter that.

------
jesuisuncaillou
I really wish I could join several instances with the same account. This is a
feature currently missing, but someone told me they're working on it.

Go mastodon, go !

~~~
ColinWright
You can just join the instances using the same handle. Then from each in turn
export the people you follow and import that into each of the others. Now each
of your accounts follows the same collection of people.

Then on each instance cull those you don't want to follow _on this instance._
Now each account has the flavour of the instance you're on.

You can do all that now, although it requires a little work.

------
amelius
Would Mastodon be a useful platform to, collaboratively, define the
requirements of software?

Perhaps it could be used to define the next iteration of Mastodon, then.

------
ohthehugemanate
I understand HOW mastodon works. I've got my account. But I still don't
understand WHY.

I got into twitter and facebook when I was a university student who gave a
crap about broadcasting myself to the world. Now I'm old and don't care
anymore, and I'm not deluded enough to think that anyone else cares. Is there
a use case that goes beyond teenagers chatting at the lockers?

~~~
codesections
You clearly see value in HackerNews—my use case for Mastodon isn't that
different from my use case for HN.

My instance (https:/fosstodon.org) is mostly focused on free and open source
software (hence the name). Conversations there tend to be a lot like
conversations on HN, but with the benifit of a local community where you get
to know the regulars.

(I'm not saying that there's _no_ purely personal talk—but think "office water
cooler" not "high school lockers")

~~~
vageli
Just a friendly heads up, I'm getting a certificate error on your site (cert
expired 30 April).

~~~
codesections
Thanks! That was because I put the wrong link; fixed now.

(And it's _my_ instance only in the "my country" sense—I'm a user there, but I
don't run it or anything.)

~~~
Avamander
You missed a slash, the link doesn't work.

------
baq
so how do i ban russian trolls on a federated p2p social network...?

~~~
fwn
The same way you would ban Swedish trolls on Twitter.

Fun and russiophobia aside, there is an article by Eugen Rochko (maintainer of
mastodon) somewhat covering that topic:

[https://medium.com/tootsuite/learning-from-twitters-
mistakes...](https://medium.com/tootsuite/learning-from-twitters-
mistakes-c272d67bba76)

AFAIK they also utilize crowdsourced block lists to automate part of the
sorting in the fediverse.

------
moonbug
"badly"

------
emilfihlman
>Being open source gives us the reassurance that our data is not being
harvested, or that we’re not being spied on.

A false sense of reassurance.

------
ManlyBread
I got banned from mastodon.social with no explanation or warning. Given that
this is the "official" instance I remain sceptical to whether this is a
project worth engaging in.

------
Uhhrrr
The failure to mention GNU Social, which Mastodon is almost completely based
upon and which birthed the Fediverse, is just weird.

~~~
INTPenis
Mastodon is not based on GNU Social in any way other than they both used the
OStatus protocol. Before ActivityPub became the norm.

GNU Social is made in PHP and Mastodon is made with Ruby and NodeJS. So two
wildly different implementations.

Mastodon also looked more modern and followed more so called modern developing
practices. Which is why I think it caught on more than GNU Social ever did.

~~~
rainbowmverse
The kindness, quality, and eagerness to help is a big part of what propelled
Mastodon. You'd log in, make your first toot, and have a pile of people
welcoming you from the federated or local timeline. Same with beginner
questions.

I tried GNU Social a long time ago, but it was mostly technical people talking
about technical stuff. Great if that's what you're into, but it's no basis for
a general use social network. Niche networks are fine, but I don't get the
impression that's what early federated social media proponents wanted.

