Open Source, Decentralised, and Federated Social Media Alternatives

tl;dr: Join me in exploring some alternatives to Facebook, Twitter, Instagram, YouTube, Discord, Slack, Zoom, Skype, etc. Only through trying them out and starting to develop a critical mass will we be able to free ourselves from these giant platforms that don’t have our best interests at heart.

When it comes to social media these days, we users are very definitely the product. We are bombarded with ads (or need to resort to ad blockers), censored for posting things that the platforms deem risky or not profitable (such as sexually explicit material or expressions about less mainstream parts of our identity), and at the same time are powerless to reliably get the platforms to remove content that is actively harmful.

To mainstream social media, we’re just marketing opportunities generating ad revenue. We stay, mostly, because these platforms have the critical mass of people with whom we’d like to connect. But what if we decided to go elsewhere?

OK, so I know that less mainstream or more niche platforms don’t have that critical mass, and as a result are less appealing. But I’d like people to consider them nonetheless, because that’s the only way we’ll actually get any sort of critical mass and have a hope of cultivating a social network on platforms where we have more freedom and agency.

I’ll explain what I mean by “decentralised” and “federated”, and go into some examples of each.

What is a Federated Platform?

A federated platform is one in which there is no single centralised authority or hub on which the system, platform, or network depends. The most prominent example of this is email. While most people these days have a Gmail address, we also have the option of instead using a Yahoo! or Hotmail address, or any other free or paid email service, or we could choose to host our email ourselves. (Incidentally, I personally pay for a Fastmail account because I’m the customer and not the product, and having worked for them in the past, I trust their security and values.) Regardless which email hosting provider you use, you aren’t siloed or restricted to communicating with others who use that email provider. A Gmail user can email a Yahoo! user, for example.

The key takeaway here is that while there are hubs through which communication and networking must occur, there are many of them, and you have a choice of which one you use, or whether you set up your own.

Federated Platforms and ActivityPub

Many federated platforms support ActivityPub. Without getting into too much technical detail, in the same way the SMTP protocol allows different email services (Fastmail, Gmail, Yahoo!, Hotmail) to talk to each other, ActivityPub allows some different social media platforms to talk to each other.

So, for example, if I was part of a Twitter-like social media site for people who love ponies, and a friend of mine was part of a Twitter-like social media site for people who hate pineapple on pizza, ActivityPub would still let me, on my pony-loving site, follow and interact with my friend on their pineapple-on-pizza-hating site, without each of us needing an account on each others’ community sites (which is a relief, because I’m definitely pro-pineapple-pizza!).

Not only that, but if I had a third friend (I know; I’m so popular!) who was on a Facebook-like site for people who want to try water-skiing, and both my Twitter-like site and their Facebook-like site support ActivityPub, I could even mutually follow and interact with them, even though the sites we’re using run different software and have different focuses. I’d see their Facebook-like posts as Tweet-like things in my timeline, and they’d see my Tweet-like things as Facebook-like posts on their timeline, and we’d be able to comment on each others’ updates from our respective websites. Pretty cool, huh?

Visual example of ponies/pineapple/ski explanation.
Federated social media example

Collectively, apps and sites that communicate with each other via ActivityPub are said to be part of the “Fediverse” (a portmanteau of “federated universe”). Each site (be it a pony site or a pineapple pizza site) is often referred to as a “server” or, more commonly, an “instance,” (as in, “an instance or server in which this particular software is installed”) such that in this context, these terms can all be used interchangeably.

Examples of Federated Platforms

Alright, without any further backstory, let’s dive into some examples. Many of the federated examples I’m listing below support ActivityPub (i.e. are part of the Fediverse), which means that if you join a site that runs any of those apps, you’ll be able to talk to people on any of the others (including me)!

Mastodon (Twitter alternative)

Screenshot of Mastodon's mobile web interface
Screenshot of Mastodon’s mobile web interface

Mastodon is a great alternative to Twitter. It has all the paradigms you know and love, with a few different names. Tweets are called Toots, and Retweets are called Boosts. Toots on Mastodon are usually limited to 500 characters, compared to Twitter’s 280 characters, and you can also include Content Warnings on your Toots, which will hide the Toot’s contents until the reader clicks on it (after they’ve read whatever content warning you provided), and will blur out any attached media by default too. There are even various services, such as Moa.party, which will let you post your Twitter Tweets to Mastodon, and vice-versa, if you wish.

If you head over to Mastodon’s home page and scroll down a bit, you can find a bunch of instances you can join to become part of the Fediverse, and communicate with anyone else who’s also connected. I personally am a member of Aus.social, a Mastodon server targeted at Australian folks. My friend, Aurynn, has also recently launched Cloud Island, which is targeted at New Zealenders, but is also open to Australians.

Cloud Island is a paid-for service (minimum $8USD/month, via Patreon), which helps to support the servers running the site, and the effort required to keep it going. It also has a well-defined and enforced code of conduct, meaning it’s well-moderated, and the site is entirely hosted in New Zealand, which means it’s pretty fast to access from Australia, and isn’t hosted with a big cloud provider like Amazon’s AWS (which I think is a Good Thing). You can find more information on the Cloud Island homepage, or the About section of its Patreon page.

There are iPhone and Android apps that support Mastodon too. On Android I use Tusky. I don’t have any recommendations for iPhone apps, but could probably hunt some down if asked.

A 2-minute Mastodon introduction video

Pixelfed (Instagram alternative)

Screenshot of Pixelfed's mobile web interface
Screenshot of Pixelfed’s mobile web interface

Pixelfed is also part of the Fediverse, and has a focus on photos and pictures, in the same way that Instagram does. I’ve not played around with it a whole lot, but it looks like they’re doing some really cool stuff. Head over to their list of instances if you’d like to join up and give it a shot.

Friendica (Facebook alternative)

Screenshot of Friendica's mobile web interface
Screenshot of Friendica’s mobile web interface

If you really want something that looks like Facebook, from what I’ve seen, Friendica is your best bet. You can check out their list of instances, or maybe try to come join me over on Nerdica. Friendica shows information in Facebook-style posts and comments (even if the conversation happened on another platform like Mastodon — yes, Friendica is part of the Fediverse too!), as well as supporting things like Events; one of the main things I keep Facebook around for.

PeerTube (YouTube alternative)

Screenshot of Peertube's mobile web interface
Screenshot of Peertube’s mobile web interface

If videos are your thing, give PeerTube a shot. You can filter their list of instances on various criteria, post videos, and watch other videos (from your instance or others). PeerTube has the added option that, while watching a video, you can share bits of the video (using a BitTorrent-style protocol) with anyone else also watching the same video, to reduce the load on the server hosting it! Furthermore, if you find someone who posts videos that you enjoy on PeerTube, and you’d like to subscribe to them, you can do this from any platform that supports ActivityPub, and see updates on your platform of choice whenever a new video is uploaded!

WriteFreely (Blogging/writing platform)

Screenshot of WriteFreely's mobile web interface
Screenshot of WriteFreely’s mobile web interface

WriteFreely is a really clean-looking blogging and writing platform that’s also part of the Fediverse. This means you can subscribe to WriteFreely authors from whatever Fediverse platform you’re a member of. If you want to give WriteFreely a shot, you could try out Write.As, from the folks who develop WriteFreely, or join another instance of your choice.

Riot.im and Matrix (Slack/Signal/IM alternative)

Screenshot of Riot's mobile app
Screenshot of Riot’s mobile app

Riot and Matrix work together to provide a chat service, both for one-on-one chats, and for group chat rooms. Matrix is the name of the server-side (the service you connect to in order to interact with others), and Riot.im is the name of the client side (the app you run on your computer or phone to connect to the network). There are other alternatives to Riot if you’d like to connect to Matrix with something different. FluffyChat is one of them. It’s pretty cute and friendly, but I don’t think it’s quite as featureful as Riot is just yet.

Screenshot of FluffyChat's mobile app
Screenshot of FluffyChat’s mobile app

If you want to give Riot/Matrix a shot, I highly recommend creating an account on matrix.org using their instance of the Riot web app.

Matrix are also doing some really cool stuff in an endeavour to support being decentralised, as well as federated. Check out their peer-to-peer Matrix blog post for more info.

Matrix is also great as an alternative to Signal, with the advantage that all the software is completely open source (while for Signal, you’re using the Signal servers, whose source code you can’t verify), and doesn’t require sharing your phone number with contacts. It does full end-to-end encryption, and has recently released a really simple verification tool with Riot 1.6, meaning that if you’ve verified the Matrix identity of a friend in-person, you can be certain that you’re talking to them, no matter what device they’re talking to you from. It’s a really smooth experience!

Riot also supports one-on-one video and voice calling, and, if integrated with Jitsi (mentioned below), can also do group video chats.

What is a Decentralised Platform?

A decentralised platform is one in which every participant is equal. There are no hubs that we need to interact through, and no contributor is more important than any other. The best example of this that I can think of is attending a social gathering in person. You might know some people there, and not know others. You find yourself in a group talking to some folks, one of whom is an astronomer. Later on in the event, you find yourself in a different group of people, chatting, and somebody mentions astronomy. At this point, you can mention that you were chatting to an astronomer earlier on, and potentially invite them over or connect them to this person later on.

In this example, no one person holds all the knowledge from all the conversations in the event space, or is arbitrating and dictating who can speak with whom. Every individual at the event is a free agent who can communicate with any other person, and can share information from other interactions they’ve had. This is what I mean by decentralised.

Examples of Decentralised Platforms

Decentralised platforms are still relatively new, and many of them aren’t particularly polished, but here are a few examples:

Secure ScuttleButt

Screenshot of Manyverse's mobile app
Screenshot of Manyverse’s mobile app

Secure ScuttleButt is probably one of the more predominant platforms right now. It uses what is known as the “gossip” protocol, in the same way that I described in my example of different conversations at a social event above. I hear information from my friends, and then I can “gossip” that information to my other friends as an intermediary, without each of my friends knowing each other directly. This has the advantage that there is no single point of failure, and anybody can pass on a message from one person to another, as long as they’re connected to both of those people. The disadvantage, though, is that anything posted to the ScuttleButt network is immutable (i.e. you can’t edit or delete what you), and, with the exception of private messages, all your posts are publicly visible. (Private messages can be passed on from one friend to another, but can only be decrypted by the intended recipient.)

The other upshot of this model of not having any central servers are that you can make updates (e.g. a social media post) to your ScuttleButt journal from anywhere, even if you don’t have an internet connection at the time, and then as soon as you’re in range of a friend who also uses ScuttleButt, your devices can communicate directly (without needing to go via the internet), to share the information you’ve published, and then your friend can pass it onto others via the internet, or directly. This all happens automatically and seamlessly.

Further to the above, if you receive updates from your friends, your device will download all of those, and you can read them offline at your leisure. This does mean that your cache of ScuttleButt content can grow quite large (gigabytes, in some cases), and you may need to set it up to delete old content once in a while, with the additional disadvantage that you then won’t be able to pass this content onto others, or access it yourself unless you retrieve it again from a friend.

To get started with ScuttleButt on your computer, I recommend downloading Patchwork and following the ScuttleButt Getting Started guide. To get started on your mobile device, give Manyverse a shot. It’s worth noting that due to how ScuttleButt works, you can’t have the same identity on both your phone and your computer, but you can easily cross-link unoffically by mentioning your phone’s identity in your computer’s profile bio, and vice-versa.

Aether (forum-style platform)

I haven’t really played with Aether much yet, but it’s a platform that allows you to create and subscribe to forums on various topics. Like ScuttleButt, because it’s decentralised, you basically download all the information to which you’re given access, and then you share that with others you interact with. In order to keep the amount of information you download relatively small, the platform only allows sharing text data (though this data can contain links to other media such as images elsewhere on the internet).

IPFS (Distributed world wide web)

IPFS, the InterPlanetary File System, is a peer-to-peer file storage system. Their homepage likely explains how it works better than I, but in short, you and others store files you’d like to publish via IPFS, and then everybody who downloads those files becomes capable of sharing them with others.

Briar (messaging app)

Briar is an Android-only messaging app that works via peer-to-peer access direct between phones, or over the internet via the Tor network. It’s not particularly polished, and doesn’t have a bunch of features yet, but is designed to be secure and private, and for basic messaging, it seems to work relatively well.

Jitsi (Video conferencing platform)

Jitsi is one of the up-and-coming video platforms available these days as an alternative to Zoom, Skype, Microsoft Teams, etc. It’s completely free to create a video chat on their website Meet.Jit.si, and you don’t even need an account for it! They’re also working hard on getting end-to-end encryption up-and-running, and already have a proof-of-concept working! Meanwhile, if you’re concerned that their server can decrypt your video messages, you can run your own instance of the server that you control! Jitsi can run completely in-browser, but also has desktop and mobile apps for all major platforms.

Big Blue Button (Video conferencing platform)

As if having a single video conferencing alternative wasn’t enough, Big Blue Button is another one! I’ve not played with this a whole lot, but it’s also completely free, and seems to offer some more seminar-like tools that Jitsi lacks, as well as a collaborative note-taking space shared by everyone within a given meeting. Like with Jitsi, Big Blue Button can be installed on your own servers, so that you can control who has access to your data.

Summary

There are so many more cool apps that I didn’t mention here. All of the ones I have mentioned are completely open source, so the code for them is completely available for anyone to read, or install on their own systems so they’re not reliant on servers controlled by anyone else.

Of the services listed above, here are those that support ActivityPub and are part of the Fediverse, along with any accounts I have on them. I’m inactive on most of them except aus.social, so whichever platform you choose, that’s the best account to follow:

If you’d like to make contact with me on any of the other services I’ve mentioned, here’s where you can find me:

  • Matrix: @mattcen:matrix.org
  • ScuttleButt: @qAAoOWTZ9ynC/huIf9TplQujL4ccNUMGvUvQLxUa9xY=.ed25519

I know that switching away from our current familiar social media platforms that have all our friends on them is a big ask. I also know that some people think that the benefit of being able to easily connect with their social circle outweighs the detriments of giving your data to a big company, or of expending energy switching to a more free and liberated alternative and then trying to convince your friends to do the same so you don’t feel so alone there. I’m here to tell you that getting started on some of these platforms really isn’t that hard, and you don’t need to give up Facebook or Twitter right away. It’s easy to create a Mastodon account on Mastodon.online or Aus.social, and then use that to follow friends on those or other Fediverse platforms, either from a computer or smartphone. It’s equally easy to install Riot.im on your smartphone (or their newer client, RiotX, if you’re on Android) or access its web interface on desktop, to create an account on Matrix.org and use it to chat with friends and meet new people.

All I’m asking is that you give it a chance and see how it works for you, and who knows, maybe we’ll be able to start such a trend that we create our own brand new community of pineapple-pizza-hating or pony-loving humans!

So, please join me. Let’s give some of these other freedom- and privacy-respecting social media tools a chance, and see if we can build a new friend network away from the Facebooks and Twitters of the world!

Autism assessments

A few months ago, I wrote this as a comment on a Facebook post of mine. It’s easier to share with people in the form of a blog post, so here it is.

For years I’ve struggled with things like non-verbal social cues, facial expressions, tone, etc. I was aware that these were traits of autism (which isn’t to say they’re only present in autistic folks).

After seeing my psychologist for a few months, having said in my first appointment that I was concerned about this and wanted to understand better how to manage the traits regardless of whether or not autism was the cause, I eventually went to a clinical psychologist at The ASD Clinic. They would have charged me $1020 for an ASD assessment (which includes a 90-minute IQ test followed by a separate appointment for a 2-hour life history to discuss developmental behaviours etc., and for which it could be beneficial to have parents/guardians/others who knew the patient growing up).

I spent about a month on their waiting list (after filling out the referral form on their website) just to get a call from them, and when I did and they gave me the details, I instead opted for a consultation with a clinical psychologist there ($240) to just talk things through and do a bit of a self-assessment based on the symptoms/traits they said were typical of ASD to see if I fit them. The psychologist showed me a slide-show of many common traits that can indicate autism. This included things like dysgraphia (which can manifest itself as poor handwriting, which I have; I just assumed I wasn’t trying hard enough or it was a symptom of my left-handedness), sensitivity to certain sensations like mild breezes, very high or very low pain thresholds, over-stimulation in noisy or bright environments, struggles with eye-contact, poor reading/response to social cues, etc. I have experienced most of these.

I am in the fortunate position that (a) I could afford these appointments and (b) don’t need a formal assessment for legal reasons/welfare etc. I personally was happy after the consultation that I didn’t need to do a formal assessment. The outcome was that the psychologist recommended a couple of online screening tests (RAADS-R and AQ from https://www.aspietests.org) as a general indicator for possible ASD. These are obviously very informal, but given I was just looking for peace of mind that I was probably on the spectrum to help me feel OK about identifying as such and interacting with the community in that way, it was good enough.

Further, I’ve had 30 years to learn how to cope with the traits I’ve been experiencing. As a result, a formal ASD assessment may not be accurate; I may manage my traits so well that I’m deemed “not autistic,” even when I might have been deemed “autistic” were I tested 20 years ago. An assessment is subjective and not black or white, even though the result is a binary yes/no outcome.

So, after the consultation and online tests, I’m comfortable claiming the label “autistic” in the knowledge that it will (a) help de-stigmatise autism and (b) allow me to feel more welcome in the community where I may find better support from other like-minded people with whom I may be able to trade useful coping mechanisms and resources etc.

“You’re awesome!” and giving good compliments

Tl;dr at the bottom.

I live in a social echo chamber in which giving compliments is quite common. Often in society we don’t know how to give or accept compliments and without feeling silly or embarrassed.

I receive quite a few compliments, and still struggle to receive them (showing gratitude but not shrugging them off due to embarrassment), but I try to give them fairly liberally. Recently, I received an unprompted compliment from somebody, reminding me that I was awesome. I really appreciate people taking time out of their day to say these things, and I expressed gratitude for it at the time, but I found myself thinking about it later, and I realised that I’d wanted to ask “what made you say this?” but had refrained from doing so because I don’t want to sound ungrateful or expect people to take more time to explain themselves.

To be completely clear, telling people you appreciate them, or that they’re awesome, is a great start, especially in this society where recognising people’s flaws is common, but recognise their achievements is rare. The trouble with this, is that telling everybody that they’re “awesome” or similar has the potential to devalue the term through overuse. “Awesome” is an unqualified judgement that can be nice, but ultimately not very useful. I am consequently endeavouring to take things a step further when giving compliments.

Recently I read Nonviolent Communication by Marshall B Rosenberg. In it, the author notes that gratitude is less useful than its justification:

The Three Components of Appreciation NVC clearly distinguishes three components in the expression of appreciation:

  1. the actions that have contributed to our well-being
  2. the particular needs of ours that have been fulfilled
  3. the pleasureful [sic] feelings engendered by the fulfillment [sic] of those needs

(That whole chapter on “Receiving Appreciation,” and indeed the entire book, is a fascinating read.)

So rather than a judgement of “you’re awesome,” perhaps instead one could say “I really appreciate this particular perspective you have on that topic; it’s great to have somebody to bond with over this opinion; it makes me happy.”

This approach both gives the recipient of the complement a better understanding of what they’re doing well so they can do more of it, and as a result, in my case at least, helps me to receive and appreciate the compliment more easily, because I feel I deserve it more.

I am not saying I expect anybody giving me a compliment to go to this effort. In certain situations, I might ask for clarification, but I appreciate that people are busy, and despite them taking the time to compliment me out of the blue, they may not have time to elaborate. All I’m saying is that I will endeavour to be more specific with my own compliments in future, and occasionally might respectfully request the same of others, when I deem it appropriate.

A respectful request might be phrased like this: “I appreciate you saying that nice thing, but would you mind taking the time to elaborate on why you think that? It would be far more valuable to me if you could give examples as to what I said or did, why it was valuable to you, and how it made you feel, so that I can (a) appreciate you’re compliment more fully, and (b) use it as an opportunity for growth, to do more of the things that prompted the compliment.” I realise this is very verbose, and depending on your relationship with the individual, it could be abbreviated as time goes on, but I think the above is one of the clearest ways to make this request without sounding self-indulgent or unappreciative.

Tl;dr: give more compliments; we don’t do this enough! In doing so, try to be specific as to what you’re complimenting, and why it’s worthwhile to you. This helps avoid judgements (which when used regularly can have diminished value). This can help the recipient receive the compliment more authentically.

Wasting privilege

I’m a middle-class, cisgender, white, male living in the 21st century. This affords me a non-trivial amount of privilege. I was reminded of this tonight as I had “Call the Midwife” S04E03 on in the background and I listened to how the English landlords refused lodgings to the Irish, and how homosexuality was treated with oestrogen tablets, with unpleasant side-effects. Despite being a fictional show, I don’t doubt it reasonably accurately reflects the reality of mid-20th century England, and it made me extremely uncomfortable, but also glad that I life in a time and place where I’m not directly affected by this sort of thing.

I subsequently saw the following:

And read Rosie’s blog post in the referenced tweet, which really reinforced my middle-class-ness, hitting particularly close to home because it referenced the GovHack Red Carpet awards in which I was involved last year. Rosie’s post also references the Australian Unemployed Workers’ Union Conference from Tuesday, one of the sessions of which I caught the tail end of a video stream of, and was appalled by the circumstances the speakers have to endure.

Having now started to feel bad about the fact that I have spent a significant amount of time wasting my privilege  by not using it to help people less fortunate than me, I’m letting this serve as a reminder that we should be always evaluating where we decide to focus our efforts to maximise value while still bringing us joy and satisfaction.

I am passionate about plenty of social justice issues, from queer and trans discrimination, to feminism, to openness and transparency, and I’m only starting to see the tip of the iceberg on issues of unemployment, poverty, class, and racism. I need to remind myself that I can’t efficiently give my time to all of these causes, but I can carefully pick my battles, and do my best to make a positive impact, while listening to and amplifying the voices of those I’m trying to help.