An Overview Of Decentralized Social Networking

(For the impatient, there’s a link list at the bottom 😉 )

I already wrote two blog posts about federated social media after I first got onto diaspora* and then Friendica. Somehow they both got somewhat out of hand and went into way too much detail. You can read them here and here.

Since I know of some people now who really want to get off the closed networks, I figured I’d write a slightly more general overview.

What is “decentralized” social media?

Facebook, Twitter, the soon-to-be-closed Google+, and similar services have one thing in common: They are all run by a single entity. One company has control over it, and, in extension, your data. They don’t connect with each other, and if one of those companies goes belly up or simply decides to shut down a particular service, as in the case of Google+, the users are out of luck. Also, if they are offering the service “free of charge”, they have to find other ways to generate income, and that is usually by monetizing your data. At best, you need to trust that the corporation behind the service doesn’t abuse its access to all that personal information. At worst they might become the target of sophisticated hacking resulting in a data breach. The larger the user base, the higher the attraction to criminals.

The decentralized approach mitigates some of those issues. There are several different projects already, and they are all Free and Open Source Software, meaning they are being developed by dedictated, passionate people who have very different priorities from the large corporations. Privacy and control over your own data is at the top of their list instead of dangling somewhere at the bottom (if it’s there at all.) Also, a lot of those different services can already communicate with each other, but more on that later.

Being decentralized means that everybody (with the technical skills and resources) can set up their own instance, and it will talk to all the others. It’s not that different from how e-mail works: You can have your e-mail address @yahoo.com, and you can send e-mails to somebody who is using @gmail.com. That’s because the e-mail system uses open standards, and, again, all the software that’s neccessary to run an e-mail server, is Free and Open Source.
This makes it a lot more resiliant, and it also means that if you don’t like the policies on one server, or a server gets shut down, you can just go somewhere else, and you will still be able to communicate with the same people.

What are the options?

I can’t give you details on all of them, since I haven’t tried all of them (and am not planning on doing so). The three I would like to focus on are diaspora*, Friendica, and Hubzilla.

If you are a Twitter user and are looking for a Twitter-like alternative, you should look into Mastodon, but I was never into “microblogging”, so I have zero experience with either service. All I know is that Mastodon has features similar to Twitter, with the added bonus of being able to write posts with up to 500 characters.

As for the other three, they all communicate with each other, meaning you can add and follow diaspora* or Friendica contacts to your Hubzilla channel, and every other way around, too. Comments will “federate” not only from one server to all others, but also from one service to all others. You can also send private messages between all of them. Communication between these three and some of the other services which I haven’t tried is also supported.

diaspora*

Where diaspora* shines, as far as I’m concerned, is when it comes to public discussions. Yes, it is possible to share posts or pictures only with people you’re connected with, but of the services I have any actual experience with, it’s the only one where you can comment on public posts of people you’re not connected with (unless they decide to “ignore” you, which effectively blocks you from interacting with them.) If you’re into discussions with strangers about topics that interest you, it’s the service I’d recommend. It’s also a great way to make new connections: One of your contacts might re-share a post from somebody you’re not directly connected with, and you can comment either on the re-share or the original post, initiating “first contact” with a lot of different people.

You can also “follow hashtags” to see posts from people with similar interests. If you like dogs and want to see dog related posts and meet other people who are into dogs, just add #dogs to your list of followed hashtags.

Your contacts are organized in “aspects”. If you want to make contact with somebody you add them to one of your aspects (which are basically groups of people). That could be anything from “Family” to merely “Following”. They will get a notification stating that you “started sharing” with them, and they will be able to see and comment on not only your public posts, but also those which you limited to that particular aspect. And they can decide if they want to “start sharing” with you in turn. If they don’t, you will only be able to see their public posts, but you will be able to like and comment on those (unless, again, they decide to ignore you.)

Friendica

Friendica is probably the easiest to learn for new users. It also gives you some slightly more refined privacy controls. diaspora* offers three privacy settings for each post: public, all aspects, or with a single or multiple aspects. Friendica, aside from public posts, lets you pick either groups, in which you can organize your contacts (also multiple groups), or individual people, so you can decide a lot more individually for each post who gets to see it.

You can create photo albums and share them with the people you choose, whereas in diaspora*, all photos show as a singular stream on the users profile (although even there it is possible to upload more than one picture to a single post.)

There’s even an event calendar.

The settings are pretty straight forward; more so than on the big blue network, I would say.

It also has a central user directory that you can choose to add or not add your profile to. It’s basically like a phone book, and it makes it easier to connect to new people.

Hubzilla

Hubzilla is also called the “do-everything-system”, and boy, is that aptly named. It’s by far the most complex, and requires a little time to figure out. It has very advanced privacy controls, and all kinds of different apps to extend functionality. For starters, you get social networking, photos, a calendar, cloud storage. There are also apps that let you create “articles”, “web pages”, or “wikis”.

For the uninitiated, it can be somewhat intimidating, but I found it well worth the effort. For me, the main advantages are the privacy controls. Only people connected with me can comment on even my public posts, and since I’m using Hubzilla differently from diaspora*, I prefer it this way. Everybody else can still read public posts and the comments on them.

Hubzilla let’s you create different “channels” under the same account. For example, you can use the default channel, the one that’s being created when you first sign up on a server, as your “public” channel – publish it in the directory (which is similar to Friendica’s) and put some general info in your profile to give people an idea who you are. You can use that to comment in public forums, for example, and to communicate with people who you don’t really know that well. Then you could create a “private” channel, which the connections of your public channel can’t see, and which you don’t publish in the directory, but which you only use with your closest friends and relatives to share pictures of your vacation, your baby, or that awesome party you attended 😉
Even within the same channel, there are different profiles that let you control how much of your information is visible to certain groups of people. For example, I have “public” profile which contains my basic info and interests, and wich everybody, including not-logged in visitors of my page can see. Then I have a restricted profile that only my contacts can see and which includes my XMPP and matrix IDs (federated instant messaging services, but I promise I’m not gonna go into details about those ;-))

Another great little privacy detail: If you want to share, for example, some pictures of a specific event with people who are not on Hubzilla, you can create “guest access tokens”; basically a username / password combination that will let people from outside the network access the content you specifically allow.

Also, if you are a creator, it’s the one I would recommend, since you can not only upload pictures but all kinds of files, including music and videos – although individual server settings apply, and each admin gets to decide on a limit for file size and number of uploads. (Remember, the servers are run by volunteers who don’t have the resources that Google or Facebook have. If you’re looking for a YouTube-free alternative to show off your music videos, you might want to look into Peertube, the federated video platform.) Hubzilla works for musicians, photographers, painters and writers alike, if they want to share their work.

The killer feature of Hubzilla is called “nomadic identity”. What that means is that you truly own your profile data and it’s not connected to a specific username@domain. You can export your channel and import it on another hub, both as a backup by using it as a simultaneous clone that has the same files and posts as your “primary location”; or to simply pack your bags and move to another server. All your posts and Hubzilla contacts will move with you. (Unfortunately, at this point that only applies to Hubzilla contacts; you will have to reconnect your diaspora* and Friendica and other contacts manually. But it still saves an awful lot of work (and data.))

Sounds great, where do I start?

If you don’t want or can’t run your own instance, there’s plenty of public servers where you can just sign up.

For diaspora*

https://podupti.me

For Friendica

https://dir.friendica.social/servers

For Hubzilla

https://the-federation.info/hubzilla

Edit 2018-12-03: For Hubzilla, be sure to select a server where the version says 3.8.x. 3.9.x is the development version and should be used for software testing purposes only.

Again, those servers are run and the software is developed by volunteers. Be kind to them 😘

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Feel free to use a pseudonym.