Facebook alternatives (an incomplete list)

With a lot of people (including people I know) talking about leaving Facebook and other Meta properties, but also often expressing frustration with the most popular other options not having the same functionality, I started thinking about what could be done, where, and how. Here are my initial thoughts. This is not a complete or comprehensive list. It may not even be entirely accurate in all respects. There are generalizations in descriptions that may lead to “well, actually…” and “yes, but…” impulses in some readers. I’ll do my best, but corrections, suggestions, and other alternative options are appreciated.

Where are people going?

There’s no simple answer to this, because there is no single alternative site that offers Facebook’s entire feature set. Instead, I’ll look at some of the basic features that people use on Facebook and talking about some of the options for duplicating those features in other places.

Posting things for other people to read

Bluesky

Generally, most people seem to be migrating to Bluesky (I’m on Bluesky). However, Bluesky is much more of a pre-Elon-Musk-Twitter clone than a Facebook clone, so it doesn’t offer the same functionality.

Bluesky, like X/Twitter, lets you post short (300 character) posts that are publicly visible. While you can block other Bluesky users from seeing or interacting with your posts while they are logged in to Bluesky, since every Bluesky post is public, everything you post can still be seen (but not interacted with) by someone who isn’t logged in to Bluesky.

Bluesky is also another single-entity service. While they make a lot of noise about being open and federated, so far that’s nothing but noise, and you’re still moving from one monolithic silo to another monolithic silo (albeit one that’s newer and shinier and that is getting a lot of attention). If (when?) the Powers That Be at Bluesky eventually find themselves swayed by the hundreds of millions of venture capital dollars that are funding them and start doing Questionable Things, well, that’s just the way it goes, and don’t be surprised.

Mastodon

Some people are moving to Mastodon (I’m on Mastodon, and it’s my preferred choice). It’s also essentially a pre-Elon-Musk-Twitter clone, that allows you to post short (usually 500 characters, but this can vary) posts that are publicly visible. It allows you to set your post visibility to public, just people who follow you, or just the people who are mentioned, so it allows for a little more privacy than Bluesky does. However, it does not allow you to set up custom “only show this post to these specific people” lists, which is one of the Facebook features that many people are looking for.

Mastodon is a federated service (these are often referred to collectively as the Fediverse), which is both a strength and a weakness. It’s a strength because it’s not a monolithic silo: There’s no one single Mastodon server, and no single entity in control of all of Mastodon as a whole. If you join a Mastodon server that you find isn’t run in a way you like, you can move to a different Mastodon server (or even a Fediverse-connected server that doesn’t use the Mastodon software) and still interact with everyone you want to interact with. However, this does mean that Mastodon can feel fiddlier and more confusing when new people join: people don’t want to figure out what “joining a server” means, they just want to “join Mastodon”, and this can be and has been a barrier for many.

An imperfect analogy is email: when setting up an email account, you can’t just “join email”; instead, you have to pick which email provider you want to use (Gmail, Yahoo, Microsoft, etc.), and which email provider you use affects your email address, how well spam is handled, how the user interface looks, and so on. Mastodon is similar: you don’t just “join Mastodon”, you join a Mastodon server, which affects your Mastodon address, how well spam and abuse is handled, how the user interface looks (to some extent), and so on. But just as you can send email to any other email user without worrying which email service they use, you can interact with other Mastodon users without worrying about which Mastodon server they use.

Blogs

Blogs are still a thing! You’re reading one right now! And they’re great: You control the content. You can say anything you want. You can make your posts as short or as long as you want. You can post photos or video. You can link to what other people or organizations post. You can allow comments or not. Depending on the blog service or software, you can make your posts public or restrict them with passwords or other access control methods. You can use different themes to change the way your blog looks. Some platforms are more extensible than others. Basically, it’s your space, and it’s up to you to do what you want with it.

And they’re not even difficult! There are a lot of ways how you can set up your own blog. Some are very simple, where you just sign up with a service and start writing; others are for the more technically-minded, where you install software on your own web host.

Some options:

  • WordPress is very popular, and is available in two flavors: WordPress.com, where they host your blog and take care of the backend maintenance, or WordPress.org, where you download the software and host it on your own web server. I use the self-hosted version, and it’s served me well for years.
  • Micro.blog is a “sign up and start writing” service. The standard version allows for easy cross-posting to Mastodon, Bluesky, Threads, Tumblr, Nostr, LinkedIn, Medium, Pixelfed, and Flickr, and they just introduced a new, very low cost ($1/month) Micro.one option that connects to the Fediverse. I occasionally consider moving away from WordPress, and if I do, this is the most likely choice for where I’d go.
  • Other options exist as well, though I haven’t used these often or at all, so can’t say much more about them. These include Google’s Blogger, Tumblr, Dreamwidth (remember LiveJournal? Dreamwidth is a LiveJournal clone not owned by Russians), and probably many others.

Posting things for other people to see

Photos

Flickr is one of the largest and most long-lived photo sharing services (I’m on Flickr). You can upload photos, create albums, and share them out from there, allow people to comment and download them or not, and either retain your copyright or set them to use Creative Commons licensing to allow other people to legally reuse or remix them.

Pixelfed is a Fediverse clone of Instagram. As with Instagram, you can upload photos for other people to view and comment on, but as with Mastodon, there’s no one singular “Pixelfed” service. Instead, you pick a Pixelfed server to join, and then you can follow and interact with other Pixelfed users (or any other Fediverse user) without worrying about what server they are on. This has the same strengths and weaknesses as described for Mastodon above.

Video

While both of the above options for photos also support video to some extent, they are primarily focused on still photos. For video, especially longer form videos, the only two major players I’m currently aware of are YouTube and Vimeo. They’re very similar; YouTube, of course, is run by Google and is the metaphorical 800 pound gorilla.

The people behind Pixelfed are working on Loops for short-form videos on the Fediverse, but it’s currently still in very early stages.

Reading things that other people post

Okay, so there are all those options for putting your thoughts out on the wider internet…now how do you keep up with everything that the people you want to keep up with are posting, especially when they’re now scattered over so many different sites and services?

This is one that feels like a big barrier; one of the strengths of monolithic silos like Facebook is that everything is right there, and you don’t have to do anything to find it. It just lands in front of your face as the timeline (or the algorithms behind the timeline) decrees.

The good news? This is actually one of the easiest barriers to surmount. It’s extremely simple to build your own timeline, in chronological order, without mysterious algorithms deciding what you see, and without ads or “suggested posts” popping up in your feed, and you’ll be able to follow along with most virtually (and maybe entirely) all of the sites and services I’ve suggested above.

All you need is an RSS reader.

RSS (short for Really Simple Syndication) is just a specially formatted text file (a “feed”) with the most recent posts someone has posted to their site. By adding RSS feeds to your RSS reader, you see whatever has been posted, all in one convenient place. And the best part is, RSS feeds have been around for years, are a big part of the underlying technology that makes much of the modern internet work, and are provided by nearly every website! Blogs like this one, news sites like CNN, Bluesky, Mastodon, and many, many others.

When you’re on a website that you want to keep up with, just add the website’s main address to your feed reader, and your feed reader should automatically find the RSS feed. If that doesn’t work, many websites will have a link to their RSS feed visible somewhere on the page so you can copy the address directly to add to your feed reader. And that’s it! Whenever you open your RSS reader, you’ll have a nice, simple, clean, chronological list of everything that the sites you follow have published since you last checked in.

You can also add your Bluesky and Mastodon friends to your RSS reader to see what they’ve posted without having to individually check in with Bluesky or Mastodon. I do this because I follow a lot of accounts on both services, and there’s just no way that I’ll be able to read everything that gets posted — but my putting the RSS feeds for my most important accounts (generally, friends I know in the real world) into my feed reader, I know that I’ll see their posts, even if I don’t happen to see it when I’m on Bluesky or Mastodon.

As an Apple user, my preferred and highly recommended RSS reader is NetNewsWire, which is available for the desktop/laptop, for iPhones, and for iPads. I’m afraid I don’t have my own recommendations for native Windows or Android readers, but I’m happy to add recommendations here if I get any suggestions.

There are also several web-based RSS readers so that you’re not dependent on an app on your computer or mobile device, and many of these can be accessed by on-device RSS reader apps. I use Feedbin and have it connected to NetNewsWire, which allows me to use NetNewsWire on my computers and mobile devices, log into the Feedbin website if I’m on another device, or even experiment with different RSS reader apps, and always have my reading list up to date.

This often seems like the most complicated part of keeping up with everyone you want to keep up with, but with RSS, it’s actually the easiest part of this whole thing.

Events

Unfortunately, this is an area that I don’t currently have any pointers for. I’m open to suggestions from others, though!

Private groups

This is another area where I don’t currently have good pointers. Discussion board and forums used to be really good at this sort of thing before Facebook and social media in general virtually killed them off. I know they’re still out there and being used, they’re just not as prevalent as they used to be, because Facebook offered everything in one single place. Once again, I’m open to suggestions!

Personally, I think a resurrection of private discussion boards and forums would be a great way to go, but I haven’t looked yet to check into the current state of things in this arena.

But what about Discord? Or Slack?

Though I use both, I’m not a big fan of Discord or Slack, because, like Facebook, they are monolithic silos. They don’t feel like it, because you’re logging into this Discord server or that Slack server, but they’re still all controlled by their parent entity. (Much like Facebook groups are seemingly private spaces within Facebook, every Discord or Slack is just a seemingly private space run by Discord or Slack).

They’re also quirky, often confusing for new users, and very difficult to search through. To me, they’ve managed to combine all the worst features of social media, chat, and discussion forums, making them a kludgy mess rather than a convenient solution. Your mileage may vary (YMMV), of course.

Final thoughts

The best thing about Facebook was that everyone was in one place, there were some pretty impressive granular control over who could see what you posted, events could be promoted and shared, groups could be built, and you didn’t need to go anywhere else to do it, and it was “free” (in scare quotes, since it was free because we were the products being sold, not the customers).

The worst thing about Facebook…well, there’s no single “worst thing”, but if you’re seriously considering getting away, you’re likely already quite familiar with all the smaller individual “worst things” that add up to it becoming an ever-worsening trash heap surfacing and promoting the worst impulses of humanity.

Moving away is possible! Because there is no one single place to move to that offers all of Facebook’s features (in my opinion, this is a good thing, as anytime there’s “one single place” for everything, the chances of that place eventually falling over and turning into what Facebook has turned into steadily increases with time), a little bit of work in learning new things will be necessary. But much of it is already out there and not that difficult to figure out. And the figuring out is worth doing.

Cross-posting from WordPress to Mastodon

I’ve finally got WordPress to Mastodon cross-posting working the way I want: automatically, whether I’m posting through the WordPress web interface or through a desktop or mobile client like MarsEdit or the WordPress mobile app, and with the format that I want:

Title: Excerpt (#tags)

Full post on Eclecticism: URL

I’d been using the Autopost to Mastodon plugin, which works great, and I can recommend it — as long as you only or primarily post using the WordPress web interface.

However, the plug-in is only triggered when publishing a post through the WordPress web interface. Any time I posted through a client, nothing went to Mastodon. So I either had to go into the web interface and manually trigger an update to the post with the “Send to Mastodon” option checked, or just skip out on using anything but the web interface at all, which I’m not a fan of (especially on mobile).

I’d asked the plug-in author, and they’ve said that this is just the way it is.

So I put out a call for help on Mastodon, and got some kind tips from Elephantidae, who pointed out the Share on Mastodon plugin. This looked promising, as its documentation specifically mentions being able to configure it to work with externally created posts. However, looking through the docs made it clear that most of this plugin’s configuration, including changing the format of the text it sends to Mastodon, is done through adding and tweaking PHP functions…and as with most of my coding knowledge, my PHP knowledge is roughly at the “I can usually get a vauge idea of what it’s doing when I read the code, but actually creating something is a whole different ballgame” territory. Plus, dumping PHP code into my theme’s files risks losing those changes the next time the theme files are updated.

Retaining the code through theme updates can be managed through creating a site-specific plugin, however — a handy trick which, somewhat amusingly, I’d never had exactly the right combination of “I want to do this” and “how do I do it” in the past to discover until now.

So, after a bit of fumbling around with the Share on Mastodon plugin documentation and figuring out the right PHP and WordPress function calls, here’s what I’ve ended up adding to my site-specific plugin:

/* Tweaks for the Share on Mastodon plugin */

/* Customize sharing text */

add_filter( 'share_on_mastodon_status', function( $status, $post ) {
  $tags = get_the_tags( $post->ID );

  $status = get_the_title( $post ) . ": " . get_the_excerpt( $post );

  if ( $tags ) {
    $status .= " (";

    foreach ( $tags as $tag ) {
        $status .= '#' . preg_replace( '/\s/', '', $tag->name ) . ' ';
        }

    $status = trim( $status );  
    $status .= ")";
    }

  $status .= "\n\nFull post on Eclecticism: " . get_permalink( $post );
  return html_entity_decode( $status );
  return $status;
}, 10, 2 );

/* Share if sent through XML-RPC */

add_filter ('share_on_mastodon_enabled', '__return_true');

/* End Share on Mastodon tweaks */

And after a few tests to fine-tune everything, it all seems to work just the way I wanted. Success!

(Also, re-reading through this, I’ve realized that since I like to give the background of why and how I stumble my way through things, I end up writing posts that are basically a slightly geekier version of the “stop telling me about your childhood vacations to Europe and just post the damn recipe!” posts that are commonly mocked. And I don’t even have ad blocks all over my site! At least I’m not making you click through several slideshow pages of inane chatter before I get to the good stuff. My inane chatter is easy to scroll through.)

Mastodon RSS Tips

  1. Get an RSS feed for any user by appending .rss to the end of their profile URL. For example, my profile is tenforward.social/@djwudi, so the RSS feed of my posts is tenforward.social/@djwudi.rss.

  2. This also works for hashtag searches; handy for keeping an eye on hashtags (without worrying you’ll miss them in your feed). In my case, as our social media manager, I watch for mentions of Norwescon. Since that hashtag search URL is <your server>/tags/norwescon, the RSS feed is <your server>/tags/norwescon.rss. (I’ve also subscribed to feeds for norwescon45, nwc45, and philipkdickaward.)

The feeds-for-users tip I’ve seen going around, but I’d not seen this applied to hashtag searches, so I gave it a shot, and was happy to see it worked. Figured I’d put both in one post for those who might not have known either.

Of Mastodon, Culture Clashes, and BBSs

TL;DR: Avoiding Mastodon because you’ve heard it’s problematic makes as much sense as avoiding the internet because you’ve heard it’s problematic.

So.

Back in the antediluvian times before the Internet existed — you know, when great beasts like dinosaurs and, um…mastodons…roamed the earth — there were these things called Bulletin Board Systems, or BBSs.

Each BBS was a single computer sitting in someone’s house, connected to a telephone line (the physical kind that came out of the wall). BBS users could use a modem (generally a little box with blinky lights that screamed at you when you started using it, but the really neat but slow early ones you’d actually place an telephone handset into) to place a telephone call from their computer to the BBS computer to see who had posted messages since the last time they called in, respond to those messages if they wanted, and upload or download tiny, low-resolution, 256-color .bmp images, often of impolite subject matter.

The really fancy BBS systems could connect to two or three phone lines at a single time, so that more than one user could log in at the same time. This would let them type back and forth at each other, much like a modern chat session, only they’d have to actually use real words, because this was also before emoji were invented.

Each BBS tended to have its own particular culture and rules. Some BBSs were regional for an area; others might have a Star Trek theme, or a Star Wars theme, or a Dr. Who theme. I think that was it, because those were the only approved geek interests at the time. People with particular interests would join BBSs that supported those interests, so they could have conversations with other people that shared those interests.

Eventually, BBS systems gained the ability to dial into each other and exchange messages. Suddenly conversations could involve not just the users on an individual BBS, but also users on other BBSs. Once a day or so, one BBS would call another one, send a bunch of replies to discussions that had been posted in the past day over, and receive a bunch of replies to discussions.

Of course, even when one Star Trek BBS was talking to another Star Trek BBS, they might not have exactly the same rules. Subjects that were fine one one server might be anathema on the other. Maybe a user who had gotten into a fight with someone on one server had started using another one, but now those two servers were talking to each other. Basically, people are people, and as every good Depecehe Mode listener knows, that doesn’t always work out.

But still, people generally like to meet and talk to other people about things they enjoy (not to mention exchange tiny, low-resolution, 256-color .bmp images of impolite subject matter), and so these differences were dealt with, and different servers found ways to get along. Or, if there were simply too many differences to overcome, the servers would simply stop calling each other to exchange messages.

Basically, we all either figured out how to get along, or if there was a known problem server, we just stopped dealing with it.

But we didn’t say that, “Oh, I heard BBSs were a problem, so I don’t do that.”

Well, okay, sure, I’m sure there were people who had that attitude. But the rest of us knew that you didn’t have to throw the BBS out with the bathwater (there’s a risk of electrical shock when doing that anyway) — all you had to do was ignore the BBS that was the problem, not ignore BBSs altogether.

Fast forward a few decades.

Now every computer talks to every other computer. Some of those computers host discussions from a number of different people. Some of those groups of people are perfectly pleasant, reasonable people, whose only concerns are ensuring that everyone they know has a lifetime supply of puppies, kittens, and rainbows. Some of those groups of people are…otherwise interested.

They all exist on the same internet, but they’re on different systems, using different software, much of which doesn’t easily talk to the other kinds of systems and software out there. So when you run across a part of the internet that has all the appeal of free diving into depths of the New York City sewer system, the easiest solution is to simply not explore that part of the internet. (And hopefully, you escape before attracting their notice, so they don’t follow you wherever you go.)

So we (most of us, at least) don’t avoid the entire internet because we know that there are some parts of it that are not places you’d want to wander through late ate night (or, sometimes, even in the broad light of day).

One of Twitter’s major problems is that it is a monolithic system: If you’re on Twitter, you’re in the same system as every other Twitter user. And because Twitter had dodgy and poorly enforced protocols and methods for protecting its users, there was no good way to say, “I don’t want to deal with this unpleasant group of Twitter users”. Everyone’s in the same room at the same party, and there’s no real way to escape short of leaving the party entirely, even if that means having to abandon all the partygoers that you like to get away from the partygoers with the funny little mustaches who are being jerks.

Mastodon, however, isn’t monolithic. It’s not a single system. This is where you start hearing the words “decentralized” and “federated” and your eyes glaze over, but all that means is, just like the BBSs of ye olden days, it’s a bunch of individual servers that can to talk to each other. The biggest difference is that where in the BBS days, BBS owners had to find each other and set up the connections intentionally (opt-in), Mastodon’s default is for servers to talk to each other unless they choose not to (opt-out).

Some servers are puppies and kittens and rainbows, some aren’t. But when the owner of the Mastodon server puppieskittensrainbows.social realizes that the users from newyorkcitysewer.social keep harassing people, causing problems, and being generally unpleasant, they can just decide not to talk to that server anymore. Poof! Problem solved, no more sewer rats skittering around biting people.

So, is Mastodon a problem? No more than BBSs are a problem, or the Internet is a problem. Individual Mastodon instances may be, but they can be dealt with.

And, of course, nobody can spend $44 billion to run Mastodon into the ground in two weeks.