From 964906a975411c0ca75770478bbe6408147a3c58 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 25 Sep 2018 21:33:43 +0200 Subject: [PATCH] Add page about federation --- content/en/usage/decentralization.md | 63 ++++++++++++++++++++++++++++ content/en/usage/privacy.md | 2 +- layouts/partials/footer.html | 2 +- static/style.css | 42 +++++++++++++++++++ static/style.css.map | 2 +- static/style.scss | 52 +++++++++++++++++++++++ 6 files changed, 160 insertions(+), 3 deletions(-) create mode 100644 content/en/usage/decentralization.md diff --git a/content/en/usage/decentralization.md b/content/en/usage/decentralization.md new file mode 100644 index 00000000..ed9aee40 --- /dev/null +++ b/content/en/usage/decentralization.md @@ -0,0 +1,63 @@ +--- +title: Decentralization +menu: + docs: + parent: usage + weight: 2 +--- + +Mastodon is a **federated** social network. + +## What is federation? + +**Federation** is a form of decentralization. Instead of a single central node that all people use, there are multiple nodes, that any number of people can use. + +|Grade of centralization|Examples| +|:---------------------:|--------| +|Centralized|Twitter, Facebook, Instagram| +|Federated|E-mail, XMPP| +|Distributed|BitTorrent, IPFS, Scuttlebutt| + +A Mastodon server can operate alone. Just like a traditional website, people sign up on it, post messages, upload pictures and talk to each other. *Unlike* a traditional website, Mastodon servers can interoperate, letting their users communicate with each other, just like you can send an e-mail from your GMail address to someone from Outlook. + +In practical terms: Imagine if you could follow an Instagram user from your Twitter account and comment on their photos without leaving your account. If Twitter and Instagram were federated services, that would be possible. + +## The fediverse + +Mastodon uses a standartized, open protocol to implement federation. It is called ActivityPub. Any software that likewise implements federation via ActivityPub can seamlessly communicate with Mastodon, just like Mastodon servers communicate with one another. + +The **fediverse** ("federated universe") is the name for all servers that can communicate with each other. That includes all Mastodon servers, but also other implementations: + +- Misskey +- Pleroma +- PeerTube +- Plume +- and many more + +The fediverse does not have its own brand, so you will more often hear "follow me on Mastodon" than "follow me on the fediverse", but technically the latter is more correct. + +## Practical implications +### Addressing people + +Mastodon usernames actually consist of two parts: + +- The local username, e.g. `alice` +- And the domain of the server, e.g. `example.com` + +Just like an e-mail address. For convenience sake, Mastodon allows you to skip the second part when addressing people on the same server as you, but you have to keep in mind when sharing your username with other people, you need to include the domain or they won't be able to find you as easily. + +|{{< no >}}|{{< yes >}}| +|:--------:|:---------:| +|I'm @alice on Mastodon!|I'm @alice@example.com on Mastodon!| + +The search form in Mastodon will find people either with the above address form, or the link to the person's profile, so you can share that instead if you prefer. + +### Following people + +As long as you encounter a person within your app's user interface, e.g. the web interface on your home server, or your mobile app, you can just click "follow" and you won't notice a difference if that person is on your server or not. + +However if you come across someone's public profile hosted on a different server, there's an obstacle: That server sees you as just another anonymous visitor. + +So when you click "follow", a dialog will pop up asking you to enter your own full username (with the domain part, most importantly). This way, the dialog actually sends you back to your home server, where you are logged in and can really do stuff. + +You will also notice that dialog when clicking on "reply", "boost" or "favourite" on public pages of other servers. diff --git a/content/en/usage/privacy.md b/content/en/usage/privacy.md index da232d18..557ab265 100644 --- a/content/en/usage/privacy.md +++ b/content/en/usage/privacy.md @@ -3,7 +3,7 @@ title: Privacy menu: docs: parent: usage - weight: 1 + weight: 3 --- ## Publishing levels diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 2481049b..372ab436 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -7,7 +7,7 @@ diff --git a/static/style.css b/static/style.css index 17b4e7b2..38b5c568 100644 --- a/static/style.css +++ b/static/style.css @@ -340,4 +340,46 @@ main .mastodon-embed { color: #fff; font-size: 16px; } +.cta-banner { + background: #2b90d9; + border-radius: 4px; + text-align: center; + padding: 40px; } + .cta-banner h4 { + font-size: 24px; + line-height: 1.08; + font-weight: 600; + margin-bottom: 20px; + color: #fff; } + .cta-banner p { + color: #fff; + font-size: 18px; + line-height: 1.22; + margin-bottom: 20px; } + .cta-banner > a { + font-weight: 500; + color: #2b90d9; + background: #fff; + border-radius: 4px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + font-family: inherit; + display: inline-block; + text-align: center; + font-size: 16px; + text-decoration: none; + line-height: 36px; + padding: 4px 16px; + margin: 0 auto; + border: 0; + cursor: pointer; } + .cta-banner > a.secondary { + padding: 2px 14px; + border: 2px solid #fff; + background: transparent; + margin-left: 4px; + color: #fff; } + @media screen and (max-width: 375px) { + .cta-banner > a { + margin-bottom: 10px; } } + /*# sourceMappingURL=style.css.map */ diff --git a/static/style.css.map b/static/style.css.map index c43ffdf3..779155ac 100644 --- a/static/style.css.map +++ b/static/style.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "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", +"mappings": "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", "sources": ["style.scss"], "names": [], "file": "style.css" diff --git a/static/style.scss b/static/style.scss index ee7ae041..fb741a15 100644 --- a/static/style.scss +++ b/static/style.scss @@ -478,3 +478,55 @@ main { font-size: 16px; } } + +.cta-banner { + background: $vibrant; + border-radius: 4px; + text-align: center; + padding: 40px; + + h4 { + font-size: 24px; + line-height: 1.08; + font-weight: 600; + margin-bottom: 20px; + color: #fff; + } + + p { + color: #fff; + font-size: 18px; + line-height: 1.22; + margin-bottom: 20px; + } + + & > a { + font-weight: 500; + color: $vibrant; + background: #fff; + border-radius: 4px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + font-family: inherit; + display: inline-block; + text-align: center; + font-size: 16px; + text-decoration: none; + line-height: 36px; + padding: 4px 16px; + margin: 0 auto; + border: 0; + cursor: pointer; + + &.secondary { + padding: 2px 14px; + border: 2px solid #fff; + background: transparent; + margin-left: 4px; + color: #fff; + } + + @media screen and (max-width: 375px) { + margin-bottom: 10px; + } + } +}