Indieweb
On the subject of Connecting Federated Social Media Networks
The past few days on the Fediverse have served to remind me a few things:
- The internet is as smart and as ignorant (and everything in between) as the macrocosm known as "human civilization" reflects upon it.
- Sometimes the victims will become the victimizers in any given situation, usually without them being aware of it.
- Upon pointing it out to said type above, instead of working to acknowledge and understand, they will double-down under the guise of righteousness, again unwittingly using the exact playbook that they had been persecuted under at some point in the past.
- As usual, any attempt by a rational third party to diffuse whatever situation breaking out on the internet will lead to a wider conflict/argument/brigade session where everyone winds up digging their heels in and missing entirely the point.
- And finally, as usual, there's a 95% chance it was started by someone who was all to ready to be triggered by anything and everything so they could start some shit on the internet at that moment.
OK, with that preamble out the way, let's get into the latest drama related iconically to trying to bridge this patchwork, fledgling open social media landscape. As you may be aware, there are two federated decentralized social media protocols that are pretty big right now; ActivityPub and ATProto. Per my previous notes on both:
- ActivityPub is a federated social networking protocol that enables users to interact across different servers and platforms used by popular projects like Mastodon, Pleroma, and PeerTube. It's been around since 2017 and is born from previous projects like Statusnet and Ostatus. It's in full federation right now, mainly serving as the underpinning to Mastodon, a microblogging server.
- ATProto is a newer protocol developed by Bluesky, a public benefit company born from the ideas from former Twitter engineers. The protocol's main advantage is that it provides true account portability and can scale up with search and discovery. Since it was originally developed to be the successor to Twitter, it also has hooks for composable moderation and algorithms. It's not federated at the moment, but the only instance using it, the self-titular Bluesky (bsky.app) says "its immenent. Indeed, the company just took down the waitlist and opened up registration to everyone worldwide a few weeks ago.
So what the hell happened?
In short, someone built something that can connect both networks together in a sense and a bunch of people who likely don't really know the technology's underpinnings instead proceeded to blow up their victim status to trigger everyone else and brigade the developer who was asking for constructive dialoge and ideas before he got too far in the development process.
Now I must note, I've been using Ryan's Bridgy site and suite of crossposting tools ever since I got into the Indieweb movement as it ticks all my boxes for making my content go all over the web and whatever comments and discussions take place out there, I can track and archive them on my site without worrying if I'll get taken down, or the site goes dark. Bridgy already has bridges for Mastodon, Reddit, Facebook, and even supported Instagram and Twitter before they became… drunk with power. I am eagerly awaiting the day when I can sit on Bluesky and follow Mastodon folks or sit on Mastodon and comment on Bluesky posts… Or better yet, tag everyone in both places from this blog right here. ActivityPub and ATProto are open source and its pretty easy to make tools like this unlike feeling around in the dark with undocumented APIs that may get shut down at any second; That's why we can't do this with Instagram!
It's no secret the fediverse is the social media of choice for those who feel voiceless and vulnerable on the other "big" networks; you can gain a sense of community and comradery on an instance with others sharing the same experiences. However, it is still a social network.
- Social: relating to or involving activities in which people spend time talking to each other or doing enjoyable things with each other.
- Network: a system of devices, or entities including people and animals that are connected and can communicate with each other.
So in regard to having a bridge to connect the two together… Yeah, it's kind of a no-brainer and I thought everyone else was looking forward to having it like myself. Boy was I wrong:
You need to make this opt IN not opt OUT. It absolutely fucking sucks that you want to force the majority of decentralized posts here into content for Jack fucking Dorsey.
Cyrus (still a bit spooky tbh) (@Cyrus@zirk.us)
honestly fuck you. Do you really expect everybody to have enough space in their bios to opt-out of your fucking bs? How many opt-out bs am I supposed to put there?
Joshix 🦣 (@joshix@fosspri.de)
My Take:
I honestly don't get the vitrolic knee-jerk posts I saw coming left and right from some corners of the fediverse, then I started noticing the pattern: It's mostly people not understanding what the goals of both ActivityPub and ATProto are as a protocol and their equating it to Mastodon and Bluesky as "psudo-corporations" that have some level of control… And even perhaps Ryan's attempt to bridge both protocols with free and open source software that is literally already working to bridge other social networks as I type this, as some imaginary invasion mob coming to victimize them on the internet. 😓
Allow me to say this as a member of a marginalized group of people in real life who has had my share of internet trolls come at me: (I'm a Black man from the USA, and I have yet to lose my Black Card, am a refugee repping #BlackTwitter into the Fediverse on both Bsky and Masto so I think I can speak on some things.)
- Get out of your feelings. The animosity is unwarranted and uncalled for. This is the internet and it wasn't designed for you to have your entire-ass identity tied to it. This is truely the reason social media is some bullshit sometimes. The internet is supposed to be a communication tool, not some MMORPG for y'all to live your whole existence. If anything, your IRL personality should extend INTO it, not the other way around. Dude could've just cut the bridge on, posted Github links and lol'd all the way to the way to the next project and there wouldn't be much you or I could say; the fediverse has no Ts&Cs to violate!
- Attempt to learn the technology before you postulate whatever opinions around it. Don't come up with some off-the-cuff hot take on how you think the bridge is suddenly going to aim 3 million users of Network A at your posts on being a furry/inanimate-curious who happens to be in a cross-species relationship with a hubcap from a 1993 Chevy Corsica that happen to be publicly available on Network B. That's not how network bridges work. Understand that whatever you've posted publicly anywhere is subject to someone reading it and deciding to give you a like or give a hateful comment. They don't need a bridge to do it; they can already just make an account on the network you're already on and fuck with you. It's actually easier for them and less traceable!
- We already have bridges now. Consider this post is on my own personal blog powered by Wordpress. It's being cross-posted POSSE-style to wherever you're reading this or got referred from, whether it was through an automatic script, or I manually cut and pasted over. My blog is already acting as a bridge and there are many others like it. It's been that way in the past, and someone was bound to create this technology. If it's not @snarfed, then it'll be someone else. But mark my words, it's gonna happen.
- Learn the difference between protocols and applications. Bluesky is an application on the ATProto protocol. Mastodon is an application on the ActivityPub protocol. Both are facets of the wider fediverse. Don't conflate these things. This blog is an application on BOTH those protocols and also does webmentions and other cool things. Once ATProto is fully federated and opened, it's only a matter of time before I can snag an ATProto plugin in the same manner as the ActivityPub one and have it not even need to rely on a "translator" like Bridgy for that part. (If I just lost you with the technobabble, now you see why it's important to seek to understand this technology before reacting to some perceived threat.)
- You're not in a walled garden on the fediverse. You're in the open and as such you more than anyone should understand and respect the right to choose. The power here is in your hands and you have the ability to block, but your right to do so ends at the tip of your own nose and doesn't come anywhere near mine. Also realize both ActivityPub and ATProto were designed for openness first; if you seek privacy and isolation, then you need to grab Signal and create some rooms there with some buddies away from the open internet.
- Assholes exist everywhere. Don't conflate the tech of one place with the ability to keep bigots, fascists, bullys, and jackasses from your timeline. Moreover, don't shoo away people that are trying to do things that are inevitable anyway from doing it correctly! Understand federation is going to happen with or without your input if not by this project, by someone else. There's no hiding, there's no "safe place" except the one you create and control yourself within or without these places.
Letting you connect to other people you care about is not unethical or immoral. You have a lot of options for whether you want to participate in the BS bridge–either by managing your follows directly, by blocking users from that domain, or by blocking the whole domain. This is how federation works. You have absolute control over who you interact with.
Evan Prodromou (@evan@cosocial.ca)
I'm approaching this line of thinking from my longtime use, contribution and propagation of FOSS/open-source software and the use of my actual social media of choice, the indieweb which is best summed up here:
The #IndieWeb is for everyone, everyone who wants to be part of the world-wide-web of interconnected people. The social internet of people, a network of networks of people, connected peer-to-peer in human-scale groups, communities of locality and affinity.
tantek.com
Also, one more thing:
The most important lesson, I've ever learned about online privacy is this one: If you want something to be private online, don't put it online in the first place.
DavidB (@DavidBHimself)
Updates & Errata
Pardon the typos, grammar bombs and double negatives in my "stream of consciousness" manner of writing this particular post. My years of journalism prowess still requires fresh eyes and a fresher cup of coffee. Being that this is my blog and not a column in a major publication, I'm a bit lax so 🤷🏾♂️ ...fuhgeddaboudit!
🆕 Some other posts I've been reading that align with my opinions and have some additional references, and deeper information:
Content Creators: Substack's dumpster fire should also be the one lit underneath your @$$
If 2010-2020 was the Great Social Media Consolidation, looks like 2022 and beyond are gonna be the Great Innanet Decentralization, and I’m 1oo% present for it. Thanks to our friends #indieweb and #fediverse, you already know how easy it is to plug into some great communities on the interwebs while keeping your content under your control and being able to keep a record of the dialog around it at your own site.
If you’re reading this on my website, then just look down where on a traditional blog there’d be a “leave a comment” doohickey there for you to fill out a form and say how you feel about what you read. But here you can just comment on any of the syndicated sites where this same content exists and it’ll find its way back here via “a series of tubes” I’ve arranged. And with some hacky tomfoolery, my comments here will flow back to wherever they need to go in most places. To me, this is what real social media is supposed to be like– Your media on in a space you control and interact with the right circle of people you want to see it. And if you want, you can network your site with others, forming a mesh network of sites. That’s the premise (and promise) of decentralized social networking I’ve stressed again and again here.
Today one of my “transit content” friends I’ve followed for years is finding out first had why this is a good idea, thanks to the whole Substack debacle. Reece Martin (@rm_transit@mstdn.social) who runs RMTransit on YouTube experienced this firsthand by having to make the hard decision to move his popular Substack newsblog to Wordpress, but to me that means he just upgraded. By switching he’s able to:
- Immediately take advantage of RSS feeds, newsletters, and the mobile app.
- A whole ass ecosystem of plugins to make your blog do everything except tuck him in at night.
- Implement the ActivityPub plugin and publish content into the fediverse
- Grab the Indieweb plugins and use Webmentions and syndicate comments and content with other blogs
- Use the above with Bridgy and crosspost, backfeed and more with more SNSs
- Use IFTTT, Zapier and more to automate external things like kicking off a job to auto post his video content on his new blog when he comes out with a new video on YouTube.
I’m happy he decided to go this route and I hope others out there do the same. If your message and voice are your livelihood, there’s no excuse for not using all the products available to make sure it stays that way.
What are post kinds?
I needed a way to have a decent taxonomy for my posts on this incarnation of the blog, especially given its social features. A few places I hang out in online were using a dead-simple method for categorizing their posts and making it easy to find the stuff they saved later on, called Post Kinds.
Post kinds are a way of categorizing different types of posts on the web, based on the IndieWeb standards1. Hang on, let me explain that too– The IndieWeb is a movement that advocates for people to own their own data and identity online, rather than relying on third-party platforms2. Post kinds can help users express themselves in various ways, such as replying, liking, bookmarking, reading, listening, watching, and more3. Post kinds also enable richer interactions between websites, by using webmentions and microformats to send and receive notifications and display contextual information4.
The tool I’m using to make this easier is David Shanske’s Post Kinds Plugin for WordPress5. This plugin adds a taxonomy called Kind to the WordPress editor and allows users to fill in the blanks for the relevant properties of each kind of post. It also automatically parses URLs to display rich context and integrates with the Webmention Plugin to send and receive webmentions5.
Post kinds are not the same as post formats, which are a WordPress feature that allows users to choose a format for their posts, such as standard, aside, image, video, etc. Post formats are more limited and less semantic than post kinds, and do not support the IndieWeb standards3.
While not implemented on my site, post kinds can be determined by an algorithm called Post Type Discovery, which looks at the content properties and values of a post, rather than an explicit post type property. This way, the post kind can be inferred from the combination of text, media, and other elements in the post, without requiring the user to specify what kind of post they are creating4.
Post kinds are a powerful and flexible way of creating and interacting with content on the web, following the IndieWeb principles of owning your data, expressing yourself, and connecting with others, which is definitely what I’m trying to achieve with this webiste.
Let’s take a look at the different kinds of post kinds that I’m actively using:
📰Article - traditional long form content: a post with an explicit title and body 🗒Note - a short quick thought, usually under 200 words and without a title ↩Reply - a reply to content typically on another site ♻Repost - a complete reposting of content from another site ♥Like - a way to pay compliments to the original post/poster of external content ⭐Favorite - special to the author 🔖Bookmark - storing a link/bookmark for personal use or sharing with others 🖼Photo - a post with an embedded image/photo as its primary focus 🎞Video - a post with an embedded video as its primary focus 🔊Audio - a post with an embedded audio file as its primary focus 🗓RSVP - a specific type of reply regarding attendance of an event 🎧Listen - listening to audio; sometimes called a scrobble 📺Watch - watching a movie, television show, online video, play or other visual-based event 📍Checkin - identifying you are at a particular geographic location 🎮Play - playing a game 🍖Eat - what you are eating, perhaps for a food diary ☕Drink - what you are drinking, perhaps for a food dairy 🎵Jam - a particularly personally meaningful song (a listen with added emphasis) 📚Read - reading a book, magazine, newspaper, other physical document, or online post 🗨Quote - quoted content ⚠Issue - Issue is a special kind of article post that is a reply to typically some source code, though potentially anything at a source control repository. 🤔Review - A review is a post evaluating a product or service, usually involving a written description, sometimes with summary numerical evaluations, also known as just a rating. 🛠Craft - Activities like knitting, crocheting, cross stitch, wood working, restoration, 3d printing...the activity of building something.
Have a look-see at the different posts above (some aren’t populated yet) and you’ll get a sense for what I’m trying to do here.
Also give me some advice– how do you/would you do it? Use the syndication links (next to the 📡🔀 icon) and let me know.
When Mastodon Met Threads 🐘➕🧵🟰❓
It has started:
I have been saying for a very long while now that ActivityPub as a protocol and within it Mastodon as the flagship app need to separate themselves from the fringe in order to gain more traction and usage.
Understand that ActivityPub itself is a protocol not unlike IMAP and HTTP under the W3C. Just like email doesn’t rely on any one server to transport mail traffic across the Internet, By using ActivityPub social media can enjoy the same freedom and transparency. I shouldn’t have to join every single social media and existence to get a complete picture of what everyone is up to… we actually had this about 20 something years ago when the then biggest part of the fledgling social media universe decided to use XMPP as a standard to federate their instant messenger networks. What that meant was my ICQ handle was able to contact all my friends on AOL instant messenger and MSN without having to do anything strange. Ironically it was Facebook that broke this paradigm when they took Facebook messenger behind closed doors in order to add all the functionality that it has now.
OK, but you know Meta ain't doin' this outta the kindness of their hearts, right? 😒
It should not be forgotten that the reason why this is probably happening is because of the very strict policies that the European Union has imposed on how companies operate on the open Internet. It’s far easier for Mattar, the company that owns Facebook to create this new net work and design it from the start with open standards and then slowly bring everything over to it, rather than having to bolt on the same functionality to Facebook or Instagram as it stands now. While it may be seen as a self-serving move on their behalf, I personally welcome it because it means suddenly it might be one less thing to have to join and maintain in order to still be a part of the social media landscape.
Imagine a world where people on TikTok can communicate with people on YouTube and people on twitch. It might sound kind of strange at first but the same is already happening here in the #fediverse with Mastodon , PeerTube, and WordPress.
(Obligatory "how it works" link here.)
This integration is happening methodically and with a lot of advice from all stakeholders it appears; Threads users are going to get a window into the fediverse soon; as I type this, some accounts are getting read-only access. Evan Prodromou, one of the founding architects of the very underpinnings of ActivityPub (@evan@cosocial.ca and @evanprodromou@threads.net) has been able to talk to the team over at Meta in charge of this undertaking along with a host of others in the #indieweb realm. Believe me when I say, these discussions got into the weeds and no stone was left untouched according to most of the attendees. This is the part that makes me feel Meta is acting in good faith.
Will everyone be OK with federation though?
It’s very easy to say “I’m not going to federate with Threads” or “I don’t want to associate with those Mastodon loons” (posts I won’t link to here, but use the appropriate search technique and you will find them in short order). The point is being missed insofar as the networks being interoperable if nothing else for the sake of creating a new standard and influencing the wider internet to “de-silo” all this content is a good thing and needs to be encouraged, not shunned.
As of this writing, there are no official timelines on when any of this will go into effect for us, but I have my educated guesses that it will coincide with the opening of Threads.net to EU signups and the move to be a federated network should keep regulators over there from breaking out the ban hammer. That’s supposed to be in a few days so we’ll see.
Stay tuned!
Federating the fediverse: BlueSky alpha version
ICYMI:
There’s a way for you to crosspost to BlueSky from your own #indieweb enabled website thanks to Joel’s (@joel@otter.garden) additions to Bridgy (created by Ryan (@snarfed.org@snarfed.org).
Also, I’m actually doing it right now and have been for about a week or so. So you’ll notice likes/reposts and comments coming from over there on my site and can interact from there, as I craft my one-man SNS outpost on the innanetz.
Details on how to do it here: Bridgy Bluesky setupIn the spirit of POSSE, I just spent 3 hours trying to get some backfeeds from silos like Instagram and Facebook going… I made it work before, but I can’t remember what I did with my last website that made it work.
It's a real head scratcher. I guess I'll need to ensure crossposting is turned on here at StarrWulfe HQ then I won't have to deal with this foolishness again.
If anyone has some experience with Brid.gy and how to do this effectively, please give me a shout. 🙇🏾♀️
#WebsiteWoes
I really hope Chris doesn’t mind me borrowing literally 90% of his layout, formatting and general overall aesthetic from Boffo Socko when I’m ready to smooth out the edges of my site here.
They way it looks and how information is presented is just what you’d expect of a person who is rather efficient at capturing and categorizing information.
🧑🍳💋
Vergecast: Musings on POSSE, SNS and Indieweb vs ActivityPub
My whole presence in the #fediverse is predicated on POSSE (and PESO) principles along with federated posting and SNS. I'm a semi-active part of the Indieweb community where this grassroots methodology sprang forth. It's one of "build your own website and have others comment on it -- that's the network right there" simplicity.
Just like email is still the most universal messaging app, websites are still the least silo'd SNS app. It seems as if my cause to get back to basics has been taken up by a lot more than I thought lately, so much so, that today a very popular podcast topic was all about this very thing and features just about everyone I've personally tapped at some point for guidance in my own #indieweb journey.
In summary, the article and accompanying podcast talk about:
- POSSE: A way of posting on your own website and syndicating to other platforms. It gives you more control and reach over your content.
- Challenges: POSSE requires technical skills, time, and tools to manage cross-posting and engagement. It also raises questions about platform norms and audience preferences.
- Solutions: Tools like Micro.blog, Bridgy, and WordPress can help with POSSE. A two- or three-step publishing process can allow customization for each platform.
- Future: POSSE is part of a more open and decentralized social web. It might lead to new tools for reading, moderating, organizing, and algorithmizing posts.
Updates
- I goofed the title… It’s ActivityPub not Activity
Web. I don’t know why I keep subconsciously making that mistake. - I’d be remiss if I didn’t link to Tantek’s beautifully crafted summary of his own thoughts about the interview and a deeper reflection/explanation of the subjects therein; Also his site is one of the oldest and comprehensive POSSE/PESO efforts ever seen and should be used as an example. Visit it at ttk.me t5TZ1
- The Indieweb.org site is the perfect place to get all this information about crafting your own effort in this space if you want to give it a go. Visit indieweb.org/start and if you get stuck, you can chat with other enthusiasts and advocates like me thru IRC/Slack/Discord as well.