#ActivityPub

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

🤔

"The Paradox of Emergent Chaordic Commons"

A new Social coding commons blog post is in the works, on the general theme of Sustainable ecosystem evolution (SEE).

social.coop/@smallcircles/1164

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🤔

In follow-up to "Grassroots fediverse evolution", which tells the tale of my 8 year social experience in the commons of and fedi, I am preparing another article, called "Paradox of emergent chaordic commons", which is a factor to take into account for ensuring Sustainable ecosystem evolution (SEE).

See the article's and consider joining the brainstorm for yourself in my call-to-reflection on fedi's future: social.coop/@smallcircles/1163

The pillars of the , which I honor in my article, @evan and @silverpill are doing fabulous work. But it is also work that more people should do, the chores should be more fairly delegated and balanced between all commons participants.

. There's a saying that starts with "If we all did our part" which in forms a key tenet. Proactive ecosystem participation should be duly rewarded for the commons to become more sustainable.

Discussion thread is already made:

discuss.coding.social/t/sx-sus

The diagram shows an exponential 'value creation' graph, with on the X-access the progress of evolution along the solution path. Below the axis the various lifecycle stages of the fediverse service delivery lifecycle are listed: Inception, Ideation, Realization, Delivery, Experience. Rate of value creation & aggregation of the social supply line depends on participation rate.

On the Y-axis is the Potential of the solution design, where value-add of investment in the solution depends on how emergent design leads to desired outcomes. It is not easily perceived as it exists mostly still in emergent space.

Diagram has 3 quadrants. On the bottom left the participation zone is where prolonged Investment is asked, while only little value can be demonstrated in the field. The biggest part above the participation / investment zone is the anticipation zone, where we dream and find possibilities and related opportunities that may have great potential. Expectation mismatch is a risk as the emergent value is stil invisble to most people.

The paradox is solved at an inflection point along the evolution axis of the solution, called appropriately 'the paradox of emergence' point, when actual value is demonstrated by positive societal impact that grows via SX feedback loops. This is the solution zone, the full right side of the diagram, where value creation can grow exponentially and dreams turn to their realization. Now there are sustainability risks to healthy evolution to monitor well.
ALT text detailsThe diagram shows an exponential 'value creation' graph, with on the X-access the progress of evolution along the solution path. Below the axis the various lifecycle stages of the fediverse service delivery lifecycle are listed: Inception, Ideation, Realization, Delivery, Experience. Rate of value creation & aggregation of the social supply line depends on participation rate. On the Y-axis is the Potential of the solution design, where value-add of investment in the solution depends on how emergent design leads to desired outcomes. It is not easily perceived as it exists mostly still in emergent space. Diagram has 3 quadrants. On the bottom left the participation zone is where prolonged Investment is asked, while only little value can be demonstrated in the field. The biggest part above the participation / investment zone is the anticipation zone, where we dream and find possibilities and related opportunities that may have great potential. Expectation mismatch is a risk as the emergent value is stil invisble to most people. The paradox is solved at an inflection point along the evolution axis of the solution, called appropriately 'the paradox of emergence' point, when actual value is demonstrated by positive societal impact that grows via SX feedback loops. This is the solution zone, the full right side of the diagram, where value creation can grow exponentially and dreams turn to their realization. Now there are sustainability risks to healthy evolution to monitor well.
Delft-blue wisdom tile, reading "If we all did our part, our wicked problems would dissolve".
ALT text detailsDelft-blue wisdom tile, reading "If we all did our part, our wicked problems would dissolve".
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to abeorch's post

@abeorch @gary

There are certainly issues. I wrote a long thought piece on social experience and travels in space and with a call-for-reflection to anyone to ponder 's Future of ..

The blog post (which is an hour-long read) also stipulates re-centralization risks, and how a -native protocol implementation of and processes like the and can help mitigate the risks.

social.coop/@smallcircles/1163

PS. See also my call-to-participate as in the of our networking protocols..

social.coop/@smallcircles/1164

Together we can :boosts_appreciated: and a better .

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🤔

is at an inflection point.

Either revival and course correction to the original protocol power and promise. With the potential to .

Or keep current track with fedi-we-have. Be content with a few great and reasonably popular app platforms. Surely some more to come. But with a messy wire protocol that stifles and isn't future-proof.

do you dare to dream?

This special thought provoker is based on personal reflection and 8 years of . Deliberately exposed to the inherent unsustainability of the movement. Burning privilege by spending my savings.

Goal: 1st-hand experience to learn the dynamics that make a tick.

I invite you to a & ride. To ponder how can organically evolve. Become unbeatable by .

coding.social/blog/grassroots-

But in an age of who still reads long handcrafted ? Fill in the .

OptionVoters
In the end I more or less read the whole article32 (62%)
I read the article summary, skimmed for highlights10 (19%)
I passed the problem section, read the tech ideas2 (4%)
Meh, skip. Too technical. Too social fluffy. Other8 (15%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

occult's avatar
occult

@occult@ominous.net · Reply to occult's post

When someone asks me what the , or is I'll use this illustration from UNIX Review, April 1985.

Illustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
ALT text detailsIllustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Bradley M. Kuhn's post

@bkuhn

Interesting. I am not sure what the extent of support is for and across the fediverse. I am not sure how you mean exactly.. mixed language content in a single post? I am also thinking of things like posting in 2 or more languages at the same time, where the client UI picks the most appropriate language, and there is a default for fallback.

(Update: Parent post updated to clarify further)

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

BOJ (Baekjoon Online Judge), a big competitive programming site in Korea, says it's shutting down on April 28. It has been around since 2010 and, as far as I know, has mostly been one person's work the whole time. The notice doesn't say why. The rumor is that the server bills finally got too high.

What caught my eye is that some people in the Korean , including @2chanhaeng, are already talking about whether a federated replacement could work, with coordinating things and volunteer nodes doing the judging. I have no idea if that can really work, since timing differences between machines are a serious problem in competitive programming, and I'm not the right person to help with it. Still, I like that the first reaction was to try building something.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:boosts_appreciated:

In this rushed world of ours, do you still have on your hands here and there? And love spending it on building and nurturing our sustainable and safe gardens?

Do you want be more deeply involved in weaving delightful ? Play a part in future?

Then , the discussion forum for developers, has for you!

The Process as well as the , the two major standardization bodies that drive future, are inclusive and open to anyone to contribute their 2 cents.

Become a now..
Help cocreate a 💃🕺 .

delightful.coding.social/delig

: Our is created today, not .

socialhub.activitypub.rocks/t/

See also the broader discussion on ecosystem and my personal story and invitation about fedi's .

discuss.coding.social/t/sx-sus

social.coop/@smallcircles/1163

Image with a call-to-action to "Join the FEP do-ocracy today. Help make peopleverse happen! There are vacancies for Commons custodians of the fediverse. Ping the FEP team and ask where you can volunteer". The call is followed by the image of a Delft-blue wisdom tile, with the quoted text "If we all did our part, our wicked problems would dissolve". Below 2 cent emoji's and a quote are displayed "Invest in your dreams to make them happen", the credo of the Social coding SEE model Social coding commons follows to assure Sustainable ecosystem evolution. Both quotes are named "Urgent platitutes" by Anold Schrijver, social coder.
ALT text detailsImage with a call-to-action to "Join the FEP do-ocracy today. Help make peopleverse happen! There are vacancies for Commons custodians of the fediverse. Ping the FEP team and ask where you can volunteer". The call is followed by the image of a Delft-blue wisdom tile, with the quoted text "If we all did our part, our wicked problems would dissolve". Below 2 cent emoji's and a quote are displayed "Invest in your dreams to make them happen", the credo of the Social coding SEE model Social coding commons follows to assure Sustainable ecosystem evolution. Both quotes are named "Urgent platitutes" by Anold Schrijver, social coder.
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🤔

is at an inflection point.

Either revival and course correction to the original protocol power and promise. With the potential to .

Or keep current track with fedi-we-have. Be content with a few great and reasonably popular app platforms. Surely some more to come. But with a messy wire protocol that stifles and isn't future-proof.

do you dare to dream?

This special thought provoker is based on personal reflection and 8 years of . Deliberately exposed to the inherent unsustainability of the movement. Burning privilege by spending my savings.

Goal: 1st-hand experience to learn the dynamics that make a tick.

I invite you to a & ride. To ponder how can organically evolve. Become unbeatable by .

coding.social/blog/grassroots-

But in an age of who still reads long handcrafted ? Fill in the .

OptionVoters
In the end I more or less read the whole article32 (62%)
I read the article summary, skimmed for highlights10 (19%)
I passed the problem section, read the tech ideas2 (4%)
Meh, skip. Too technical. Too social fluffy. Other8 (15%)
doboprobodyne's avatar
doboprobodyne

@doboprobodyne@mathstodon.xyz · Reply to Renaud Chaput's post

@renchap @sovtechfund Thank you for your hard work! Apropos, if you know anyone trying to automate the fight against disinformation, NATO sometimes offers funding for research in this area (or sometimes adjacent areas of benefit to the organisation). I only mention it because it's the sort of capability that I imagine citizens of the fediverse might enjoy. Thanks again!

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to abeorch's post

@abeorch @gary

There are certainly issues. I wrote a long thought piece on social experience and travels in space and with a call-for-reflection to anyone to ponder 's Future of ..

The blog post (which is an hour-long read) also stipulates re-centralization risks, and how a -native protocol implementation of and processes like the and can help mitigate the risks.

social.coop/@smallcircles/1163

PS. See also my call-to-participate as in the of our networking protocols..

social.coop/@smallcircles/1164

Together we can :boosts_appreciated: and a better .

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🤔

is at an inflection point.

Either revival and course correction to the original protocol power and promise. With the potential to .

Or keep current track with fedi-we-have. Be content with a few great and reasonably popular app platforms. Surely some more to come. But with a messy wire protocol that stifles and isn't future-proof.

do you dare to dream?

This special thought provoker is based on personal reflection and 8 years of . Deliberately exposed to the inherent unsustainability of the movement. Burning privilege by spending my savings.

Goal: 1st-hand experience to learn the dynamics that make a tick.

I invite you to a & ride. To ponder how can organically evolve. Become unbeatable by .

coding.social/blog/grassroots-

But in an age of who still reads long handcrafted ? Fill in the .

OptionVoters
In the end I more or less read the whole article32 (62%)
I read the article summary, skimmed for highlights10 (19%)
I passed the problem section, read the tech ideas2 (4%)
Meh, skip. Too technical. Too social fluffy. Other8 (15%)
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Ben Pate 🤘🏻's post

@benpate @evan

So what are all the possible ways they can block things, I wonder now. Not an expert. Couldn't they simply block all of based on content-type or other aspects of network communication? Deep msg inspection, etc. They want to drag their population over to that state-controlled platform I forgot the name of.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Bradley M. Kuhn's post

@bkuhn

Interesting. I am not sure what the extent of support is for and across the fediverse. I am not sure how you mean exactly.. mixed language content in a single post? I am also thinking of things like posting in 2 or more languages at the same time, where the client UI picks the most appropriate language, and there is a default for fallback.

(Update: Parent post updated to clarify further)

Bradley M. Kuhn's avatar
Bradley M. Kuhn

@bkuhn@copyleft.org · Reply to Bradley M. Kuhn's post

🤔 … is it the case that ActivityPub doesn't support a primary *and secondary* language field? — to say “this post is primarily in Language-A but it might be confusing if you don't know Language-B as well”.

I started thinking about this because the post I'm replying to defaulted to “Deutsch” in the Mastodon web client. The post is mostly in “English” but includes one German sentence & a few other German words.

Kote Isaev's avatar
Kote Isaev

@koteisaev@mastodon.online

I am looking for some solution for blog authoring what would publish (all or some) posts to an activityPub server like to a relay, with publishing of new versions of posts as updates.
And fetch new posts, comments, mentions, messages, and reactions arrive to my local-first thing as a Feed or an Inbox.
Sounds like I want "Fido with formatting and attachments" over .
The part is avoid need to be "always online", but sync that few times per day when have time for it

Bradley M. Kuhn's avatar
Bradley M. Kuhn

@bkuhn@copyleft.org · Reply to Bradley M. Kuhn's post

🤔 … is it the case that ActivityPub doesn't support a primary *and secondary* language field? — to say “this post is primarily in Language-A but it might be confusing if you don't know Language-B as well”.

I started thinking about this because the post I'm replying to defaulted to “Deutsch” in the Mastodon web client. The post is mostly in “English” but includes one German sentence & a few other German words.

Gary's avatar
Gary

@gary@pottering.uk

My technical know-how falls short by a long way and I'm having a little trouble figuring out whether I get what I want from the Fediverse. By my limited understanding AT Protocol allows for a 'nomadic' id/datastore (PDS) but with ActivityPub, the nearest we get to that is by having your own instance of an app of your choice and plugging it in/out of other peoples, but your data can only really live in *your instance of *that app??

.PawV. :v_enby:'s avatar
.PawV. :v_enby:

@pawv@tech.lgbt

Well sh*t. On the Fediverse, have you ever thought someone was annoying for being too lazy to scroll up a thread to read the context?

Welp, it turns or not all clients show all posts, but to make matters worse it may not be a bug. 🤔

As an example, my go-to mobile client Tusky appears to split threads when you change the audience. I could have swore it didn't do that, but at least one conversation I've been a part of only showed the "Follower-Only" posts, orphaning itself from the public thread.

😳... I'm embarrassed to have only now realized this. No doubt I've unnecessarily asked folks for details they assumed were a scroll up away. 🤦

Public, Unlisted, Followers-Only, Direct
ALT text detailsPublic, Unlisted, Followers-Only, Direct
Kote Isaev's avatar
Kote Isaev

@koteisaev@mastodon.online

I am looking for some solution for blog authoring what would publish (all or some) posts to an activityPub server like to a relay, with publishing of new versions of posts as updates.
And fetch new posts, comments, mentions, messages, and reactions arrive to my local-first thing as a Feed or an Inbox.
Sounds like I want "Fido with formatting and attachments" over .
The part is avoid need to be "always online", but sync that few times per day when have time for it

.PawV. :v_enby:'s avatar
.PawV. :v_enby:

@pawv@tech.lgbt

Well sh*t. On the Fediverse, have you ever thought someone was annoying for being too lazy to scroll up a thread to read the context?

Welp, it turns or not all clients show all posts, but to make matters worse it may not be a bug. 🤔

As an example, my go-to mobile client Tusky appears to split threads when you change the audience. I could have swore it didn't do that, but at least one conversation I've been a part of only showed the "Follower-Only" posts, orphaning itself from the public thread.

😳... I'm embarrassed to have only now realized this. No doubt I've unnecessarily asked folks for details they assumed were a scroll up away. 🤦

Public, Unlisted, Followers-Only, Direct
ALT text detailsPublic, Unlisted, Followers-Only, Direct
.PawV. :v_enby:'s avatar
.PawV. :v_enby:

@pawv@tech.lgbt

Well sh*t. On the Fediverse, have you ever thought someone was annoying for being too lazy to scroll up a thread to read the context?

Welp, it turns or not all clients show all posts, but to make matters worse it may not be a bug. 🤔

As an example, my go-to mobile client Tusky appears to split threads when you change the audience. I could have swore it didn't do that, but at least one conversation I've been a part of only showed the "Follower-Only" posts, orphaning itself from the public thread.

😳... I'm embarrassed to have only now realized this. No doubt I've unnecessarily asked folks for details they assumed were a scroll up away. 🤦

Public, Unlisted, Followers-Only, Direct
ALT text detailsPublic, Unlisted, Followers-Only, Direct
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

Gary's avatar
Gary

@gary@pottering.uk

My technical know-how falls short by a long way and I'm having a little trouble figuring out whether I get what I want from the Fediverse. By my limited understanding AT Protocol allows for a 'nomadic' id/datastore (PDS) but with ActivityPub, the nearest we get to that is by having your own instance of an app of your choice and plugging it in/out of other peoples, but your data can only really live in *your instance of *that app??

海草's avatar
海草

@yyj1983@fans.fans

回头我也试试这个,一把年纪了,突然觉得去中心化,也不错。
writefreely.org/

ropoko's avatar
ropoko

@ropoko@mastodon.gamedev.place

I've been waiting to build my own "Mastodon" to learn more about activitypub, what are some must have features and RFCs I need to implement?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🌻

My personal thanks goes out to the many people that helped me stick around in this great space full of fedizens.

Especially grateful I am, for their consistent support during many yeas, towards the @EUCommission who with @ngi and @nlnet made a BIG difference to where the fediverse stands today.

It goes to show that only with a little "breadcrumb funding" - as I call it in my piece on my years of navigating chaotic , doing and duties - can already achieve so so much 🪙🪙

I hope for further improvement to the facilities that are available to and cocreators, and look expectedly to upcoming changes in the grant programs and their alignment to our fediverse developer ecosystem.

PS. You can find my definition of in the "Challenges of standardization" section of my blog post, right before the call to ideation.

coding.social/blog/grassroots-

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🌻

My personal thanks goes out to the many people that helped me stick around in this great space full of fedizens.

Especially grateful I am, for their consistent support during many yeas, towards the @EUCommission who with @ngi and @nlnet made a BIG difference to where the fediverse stands today.

It goes to show that only with a little "breadcrumb funding" - as I call it in my piece on my years of navigating chaotic , doing and duties - can already achieve so so much 🪙🪙

I hope for further improvement to the facilities that are available to and cocreators, and look expectedly to upcoming changes in the grant programs and their alignment to our fediverse developer ecosystem.

PS. You can find my definition of in the "Challenges of standardization" section of my blog post, right before the call to ideation.

coding.social/blog/grassroots-

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:boosts_appreciated:

In this rushed world of ours, do you still have on your hands here and there? And love spending it on building and nurturing our sustainable and safe gardens?

Do you want be more deeply involved in weaving delightful ? Play a part in future?

Then , the discussion forum for developers, has for you!

The Process as well as the , the two major standardization bodies that drive future, are inclusive and open to anyone to contribute their 2 cents.

Become a now..
Help cocreate a 💃🕺 .

delightful.coding.social/delig

: Our is created today, not .

socialhub.activitypub.rocks/t/

See also the broader discussion on ecosystem and my personal story and invitation about fedi's .

discuss.coding.social/t/sx-sus

social.coop/@smallcircles/1163

Image with a call-to-action to "Join the FEP do-ocracy today. Help make peopleverse happen! There are vacancies for Commons custodians of the fediverse. Ping the FEP team and ask where you can volunteer". The call is followed by the image of a Delft-blue wisdom tile, with the quoted text "If we all did our part, our wicked problems would dissolve". Below 2 cent emoji's and a quote are displayed "Invest in your dreams to make them happen", the credo of the Social coding SEE model Social coding commons follows to assure Sustainable ecosystem evolution. Both quotes are named "Urgent platitutes" by Anold Schrijver, social coder.
ALT text detailsImage with a call-to-action to "Join the FEP do-ocracy today. Help make peopleverse happen! There are vacancies for Commons custodians of the fediverse. Ping the FEP team and ask where you can volunteer". The call is followed by the image of a Delft-blue wisdom tile, with the quoted text "If we all did our part, our wicked problems would dissolve". Below 2 cent emoji's and a quote are displayed "Invest in your dreams to make them happen", the credo of the Social coding SEE model Social coding commons follows to assure Sustainable ecosystem evolution. Both quotes are named "Urgent platitutes" by Anold Schrijver, social coder.
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

🤔

"The Paradox of Emergent Chaordic Commons"

A new Social coding commons blog post is in the works, on the general theme of Sustainable ecosystem evolution (SEE).

social.coop/@smallcircles/1164

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🤔

In follow-up to "Grassroots fediverse evolution", which tells the tale of my 8 year social experience in the commons of and fedi, I am preparing another article, called "Paradox of emergent chaordic commons", which is a factor to take into account for ensuring Sustainable ecosystem evolution (SEE).

See the article's and consider joining the brainstorm for yourself in my call-to-reflection on fedi's future: social.coop/@smallcircles/1163

The pillars of the , which I honor in my article, @evan and @silverpill are doing fabulous work. But it is also work that more people should do, the chores should be more fairly delegated and balanced between all commons participants.

. There's a saying that starts with "If we all did our part" which in forms a key tenet. Proactive ecosystem participation should be duly rewarded for the commons to become more sustainable.

Discussion thread is already made:

discuss.coding.social/t/sx-sus

The diagram shows an exponential 'value creation' graph, with on the X-access the progress of evolution along the solution path. Below the axis the various lifecycle stages of the fediverse service delivery lifecycle are listed: Inception, Ideation, Realization, Delivery, Experience. Rate of value creation & aggregation of the social supply line depends on participation rate.

On the Y-axis is the Potential of the solution design, where value-add of investment in the solution depends on how emergent design leads to desired outcomes. It is not easily perceived as it exists mostly still in emergent space.

Diagram has 3 quadrants. On the bottom left the participation zone is where prolonged Investment is asked, while only little value can be demonstrated in the field. The biggest part above the participation / investment zone is the anticipation zone, where we dream and find possibilities and related opportunities that may have great potential. Expectation mismatch is a risk as the emergent value is stil invisble to most people.

The paradox is solved at an inflection point along the evolution axis of the solution, called appropriately 'the paradox of emergence' point, when actual value is demonstrated by positive societal impact that grows via SX feedback loops. This is the solution zone, the full right side of the diagram, where value creation can grow exponentially and dreams turn to their realization. Now there are sustainability risks to healthy evolution to monitor well.
ALT text detailsThe diagram shows an exponential 'value creation' graph, with on the X-access the progress of evolution along the solution path. Below the axis the various lifecycle stages of the fediverse service delivery lifecycle are listed: Inception, Ideation, Realization, Delivery, Experience. Rate of value creation & aggregation of the social supply line depends on participation rate. On the Y-axis is the Potential of the solution design, where value-add of investment in the solution depends on how emergent design leads to desired outcomes. It is not easily perceived as it exists mostly still in emergent space. Diagram has 3 quadrants. On the bottom left the participation zone is where prolonged Investment is asked, while only little value can be demonstrated in the field. The biggest part above the participation / investment zone is the anticipation zone, where we dream and find possibilities and related opportunities that may have great potential. Expectation mismatch is a risk as the emergent value is stil invisble to most people. The paradox is solved at an inflection point along the evolution axis of the solution, called appropriately 'the paradox of emergence' point, when actual value is demonstrated by positive societal impact that grows via SX feedback loops. This is the solution zone, the full right side of the diagram, where value creation can grow exponentially and dreams turn to their realization. Now there are sustainability risks to healthy evolution to monitor well.
Delft-blue wisdom tile, reading "If we all did our part, our wicked problems would dissolve".
ALT text detailsDelft-blue wisdom tile, reading "If we all did our part, our wicked problems would dissolve".
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🤔

In follow-up to "Grassroots fediverse evolution", which tells the tale of my 8 year social experience in the commons of and fedi, I am preparing another article, called "Paradox of emergent chaordic commons", which is a factor to take into account for ensuring Sustainable ecosystem evolution (SEE).

See the article's and consider joining the brainstorm for yourself in my call-to-reflection on fedi's future: social.coop/@smallcircles/1163

The pillars of the , which I honor in my article, @evan and @silverpill are doing fabulous work. But it is also work that more people should do, the chores should be more fairly delegated and balanced between all commons participants.

. There's a saying that starts with "If we all did our part" which in forms a key tenet. Proactive ecosystem participation should be duly rewarded for the commons to become more sustainable.

Discussion thread is already made:

discuss.coding.social/t/sx-sus

The diagram shows an exponential 'value creation' graph, with on the X-access the progress of evolution along the solution path. Below the axis the various lifecycle stages of the fediverse service delivery lifecycle are listed: Inception, Ideation, Realization, Delivery, Experience. Rate of value creation & aggregation of the social supply line depends on participation rate.

On the Y-axis is the Potential of the solution design, where value-add of investment in the solution depends on how emergent design leads to desired outcomes. It is not easily perceived as it exists mostly still in emergent space.

Diagram has 3 quadrants. On the bottom left the participation zone is where prolonged Investment is asked, while only little value can be demonstrated in the field. The biggest part above the participation / investment zone is the anticipation zone, where we dream and find possibilities and related opportunities that may have great potential. Expectation mismatch is a risk as the emergent value is stil invisble to most people.

The paradox is solved at an inflection point along the evolution axis of the solution, called appropriately 'the paradox of emergence' point, when actual value is demonstrated by positive societal impact that grows via SX feedback loops. This is the solution zone, the full right side of the diagram, where value creation can grow exponentially and dreams turn to their realization. Now there are sustainability risks to healthy evolution to monitor well.
ALT text detailsThe diagram shows an exponential 'value creation' graph, with on the X-access the progress of evolution along the solution path. Below the axis the various lifecycle stages of the fediverse service delivery lifecycle are listed: Inception, Ideation, Realization, Delivery, Experience. Rate of value creation & aggregation of the social supply line depends on participation rate. On the Y-axis is the Potential of the solution design, where value-add of investment in the solution depends on how emergent design leads to desired outcomes. It is not easily perceived as it exists mostly still in emergent space. Diagram has 3 quadrants. On the bottom left the participation zone is where prolonged Investment is asked, while only little value can be demonstrated in the field. The biggest part above the participation / investment zone is the anticipation zone, where we dream and find possibilities and related opportunities that may have great potential. Expectation mismatch is a risk as the emergent value is stil invisble to most people. The paradox is solved at an inflection point along the evolution axis of the solution, called appropriately 'the paradox of emergence' point, when actual value is demonstrated by positive societal impact that grows via SX feedback loops. This is the solution zone, the full right side of the diagram, where value creation can grow exponentially and dreams turn to their realization. Now there are sustainability risks to healthy evolution to monitor well.
Delft-blue wisdom tile, reading "If we all did our part, our wicked problems would dissolve".
ALT text detailsDelft-blue wisdom tile, reading "If we all did our part, our wicked problems would dissolve".
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🤔

In follow-up to "Grassroots fediverse evolution", which tells the tale of my 8 year social experience in the commons of and fedi, I am preparing another article, called "Paradox of emergent chaordic commons", which is a factor to take into account for ensuring Sustainable ecosystem evolution (SEE).

See the article's and consider joining the brainstorm for yourself in my call-to-reflection on fedi's future: social.coop/@smallcircles/1163

The pillars of the , which I honor in my article, @evan and @silverpill are doing fabulous work. But it is also work that more people should do, the chores should be more fairly delegated and balanced between all commons participants.

. There's a saying that starts with "If we all did our part" which in forms a key tenet. Proactive ecosystem participation should be duly rewarded for the commons to become more sustainable.

Discussion thread is already made:

discuss.coding.social/t/sx-sus

The diagram shows an exponential 'value creation' graph, with on the X-access the progress of evolution along the solution path. Below the axis the various lifecycle stages of the fediverse service delivery lifecycle are listed: Inception, Ideation, Realization, Delivery, Experience. Rate of value creation & aggregation of the social supply line depends on participation rate.

On the Y-axis is the Potential of the solution design, where value-add of investment in the solution depends on how emergent design leads to desired outcomes. It is not easily perceived as it exists mostly still in emergent space.

Diagram has 3 quadrants. On the bottom left the participation zone is where prolonged Investment is asked, while only little value can be demonstrated in the field. The biggest part above the participation / investment zone is the anticipation zone, where we dream and find possibilities and related opportunities that may have great potential. Expectation mismatch is a risk as the emergent value is stil invisble to most people.

The paradox is solved at an inflection point along the evolution axis of the solution, called appropriately 'the paradox of emergence' point, when actual value is demonstrated by positive societal impact that grows via SX feedback loops. This is the solution zone, the full right side of the diagram, where value creation can grow exponentially and dreams turn to their realization. Now there are sustainability risks to healthy evolution to monitor well.
ALT text detailsThe diagram shows an exponential 'value creation' graph, with on the X-access the progress of evolution along the solution path. Below the axis the various lifecycle stages of the fediverse service delivery lifecycle are listed: Inception, Ideation, Realization, Delivery, Experience. Rate of value creation & aggregation of the social supply line depends on participation rate. On the Y-axis is the Potential of the solution design, where value-add of investment in the solution depends on how emergent design leads to desired outcomes. It is not easily perceived as it exists mostly still in emergent space. Diagram has 3 quadrants. On the bottom left the participation zone is where prolonged Investment is asked, while only little value can be demonstrated in the field. The biggest part above the participation / investment zone is the anticipation zone, where we dream and find possibilities and related opportunities that may have great potential. Expectation mismatch is a risk as the emergent value is stil invisble to most people. The paradox is solved at an inflection point along the evolution axis of the solution, called appropriately 'the paradox of emergence' point, when actual value is demonstrated by positive societal impact that grows via SX feedback loops. This is the solution zone, the full right side of the diagram, where value creation can grow exponentially and dreams turn to their realization. Now there are sustainability risks to healthy evolution to monitor well.
Delft-blue wisdom tile, reading "If we all did our part, our wicked problems would dissolve".
ALT text detailsDelft-blue wisdom tile, reading "If we all did our part, our wicked problems would dissolve".
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Do NOT create out-of-bound custom and app-centric mechanisms that define new and expected behavior on protocol level.

codeberg.org/fediverse/fediver

Snapshot from a fediverse bot profile reading: "If you DO NOT want a post boosted use #nobot in the post. Add #NoBots to your profile bio to stop all boosts for any tag.
ALT text detailsSnapshot from a fediverse bot profile reading: "If you DO NOT want a post boosted use #nobot in the post. Add #NoBots to your profile bio to stop all boosts for any tag.
ActivityPub for WordPress's avatar
ActivityPub for WordPress

@activitypub.blog@activitypub.blog

This release puts speed and control right at your fingertips. Whether you’re jumping between settings, syncing followers, or handling quotes in real time, version 7.6.0 makes managing your Fediverse presence faster and more intuitive than ever.

This release puts speed and control right at your fingertips. Whether you’re jumping between settings, syncing followers, or handling quotes in real time, version 7.6.0 makes managing your Fediverse presence faster and more intuitive than ever.

Wapuu, the yellow WordPress mascot, pilots a small spaceship shaped like the WordPress ‘W’ through a glowing Fediverse nebula. Light trails and floating ActivityPub icons surround the ship, symbolizing fast, effortless navigation through connected worlds.

Navigate in a Flash

Say hello to the quickest way to move around your ActivityPub settings.

In preparation for WordPress 6.9, which brings the Command Palette (Cmd/Ctrl + K) to the entire wp-admin, the plugin now adds its own commands, giving you instant, keyboard-driven access to your workflows anywhere in WordPress.

Type “ActivityPub” and you’ll see context-aware commands that adapt to your site setup and user role. Whether you’re managing a blog actor or a user actor, you can open followers and following lists, check blocked actors, jump straight to your settings, or even search and edit extra fields — all without ever leaving the Command Palette.

A screenshot of the Command Palette in action.

Every command includes the ActivityPub icon for easy recognition. Just press Cmd + K or Ctrl + K, start typing, and go — it’s the smoothest way yet to pilot your Fediverse setup.

Stay in Sync Across the Fediverse

Your follower lists now stay accurate wherever you connect.
With support for Follower Synchronization (FEP-8fcf), the plugin automatically keeps your followers collection in step with other servers — even when things drift out of sync.

If differences appear, background tasks quietly reconcile them, keeping your lists clean and consistent. The result is a smoother, more reliable experience across the entire Fediverse — no manual fixes required.

Speed When It Counts

Quoted posts and follow confirmations now move at the speed of conversation.

A new immediate Accept dispatch system sends responses as soon as they’re created, instead of waiting for the next scheduled queue.

That means faster follow confirmations and quicker quote acknowledgments, making interactions feel more natural across the Fediverse. Behind the scenes, those Accept messages go straight to the right inboxes — including mentioned and replied-to users — while a scheduled backup ensures full compatibility with slower servers.

It’s a smart balance between speed and reliability, helping your posts and follows appear almost instantly.

Privacy, Your Way

Want to keep your social graph private? You can now hide your followers and following lists from public view while keeping all relationships intact. Your followers still follow — they’re just hidden when you prefer a little more privacy.

Full Changelog

Added

  • Add bidirectional transforms between reply and embed blocks for improved user experience.
  • Add Command Palette integration for quick navigation to ActivityPub admin pages
  • Added a new ap_object post type and taxonomies for storing and managing incoming ActivityPub objects, with updated handlers
  • Added a privacy option to hide followers and following lists from profiles while keeping follow relationships intact.
  • Added a scheduled task and setting to automatically purge old inbox items, helping maintain site performance and storage control.
  • Added fallback to trigger create handling when updates fail for missing posts or comments, ensuring objects are properly created.
  • Added immediate dispatch for Accept activities to speed up quoted posts while keeping scheduled processing for compatibility with other instances.
  • Added new configuration options to better manage traffic spikes when federating posts, allowing finer control over retry limits, delays, and batch pauses.
  • Added support for FEP-8fcf follower synchronization, improving data consistency across servers with new sync headers, digest checks, and reconciliation tasks.
  • Add LiteSpeed Cache integration to prevent ActivityPub JSON responses from being cached incorrectly. Includes automatic .htaccess rules and Site Health check to ensure proper configuration.
  • Add quote visibility setting for Classic Editor users.
  • Add unified attachment processor for handling ActivityPub media imports from both remote URLs and local files, with automatic media block generation and Classic Editor support.
  • Integrate Federated Reply block with WP.com Reader’s post share functionality, allowing users to reply to ActivityPub posts directly from the Reader.

Changed

  • Added support for FEP-3b86 Activity Intents, extending WebFinger and REST interactions with new Create and Follow intent links.
  • Added support for the latest NodeInfo (FEP-0151), with improved federation details, staff info, and software metadata for better ActivityPub compliance.
  • Extended inbox support for undoing Like, Create, and Announce activities, with refactored undo logic and improved activity persistence.
  • Improved Classic Editor integration by adding better media handling and full test coverage for attachments, permissions, and metadata.
  • Improved delivery of public and follower activities by expanding local recipient handling to include all ActivityPub-capable users and follower collections.
  • Improved inbox performance by batching and deduplicating activities, reducing redundant processing and improving handling during high activity periods.
  • Improved REST API responses with smarter context handling.
  • Improved REST collection pagination by using explicit total item counts for more accurate results.
  • Moved default visibility handling from the server to the editor UI, ensuring consistent and flexible ActivityPub visibility settings across both block and classic editors.
  • Prevented self-announcing by ignoring announces from the blog actor, while still processing announces from user and external actors.
  • Refactored activity handling to support multiple recipients per activity, allowing posts and interactions to be linked to several local users at once.
  • Refactored avatar handling into a new system that stores and manages avatars per remote actor, improving reliability and preparing for future caching support.
  • Refactored the inbox system to use a shared inbox, storing activities once with multiple recipients for improved efficiency and reduced duplication.
  • Reorganize integration loader and move Stream integration into dedicated folder structure.
  • Reply posts: do not display post title before @mentions in posts that are replies to somebody else
  • Simplified configuration by always enabling the shared inbox and removing its separate setting, UI field, and related logic.
  • Simplified inbox storage settings, allowing certain activities (like deletes) to be skipped to reduce unnecessary database use.
  • Simplify follow() API return types to int|WP_Error for better predictability.
  • Updated inbox handling to support multiple users receiving the same activity and improve overall data consistency.
  • Updated mailer hooks to send notifications only when activities are successfully handled, preventing emails for failed events.
  • Update plugin short description to be more user-friendly.

Fixed

  • Reply block now properly validates ActivityPub URLs before setting inReplyTo field
  • Added a safeguard to ensure the plugin works correctly even when no post types are selected.
  • Added a safety check to prevent errors when resolving comment author hostnames without a valid IP address.
  • Fixed activity processing to handle QuoteRequest and other edge cases more reliably.
  • Fixed an issue with post content templates to ensure the correct fallback is always applied.
  • Fixed fatal error when transformer Factory receives WP_Error objects.
  • Fixed HTML entity encoding in extra field names when displayed on ActivityPub platforms
  • Fixed typo in example, improve quoting description.
  • Fix Following table error message to display user input instead of empty string when webfinger lookup fails.
  • Fix infinite recursion when storing remote actors with mentions in their bios
  • Fix local inbox delivery to use internal REST API instead of HTTP, enabling local follows and proper boost counting.
  • Fix logic errors in Move handler: remove redundant assignment and fix variable name collision.
  • Fix public key retrieval for GoToSocial profiles with path-based key URLs.
  • Improved actor resolution by prioritizing blog actor detection before remote actor checks and refining home page URL handling.
  • Improved handling of empty fields for better compatibility with Pixelfed and more consistent fallback behavior across actor names, URLs, and related data.
  • Improved hashtag encoding for consistent formatting.
  • Improved Jetpack integration by initializing it during the WordPress startup process.
  • Refactored Mastodon import handling to use consistent array-based data, improving reliability and compatibility across all import scenarios.

Downloads

Thanks, Crew!

Big thanks to everyone who contributed code, feedback, and testing to make this release possible. You keep ActivityPub evolving with every version.

Version 7.6.0 is now live — update today and enjoy lightning-fast navigation, smarter synchronization, and smoother federation! ❤️

Wapuu, the yellow WordPress mascot, pilots a small spaceship shaped like the WordPress ‘W’ through a glowing Fediverse nebula. Light trails and floating ActivityPub icons surround the ship, symbolizing fast, effortless navigation through connected worlds.
ALT text detailsWapuu, the yellow WordPress mascot, pilots a small spaceship shaped like the WordPress ‘W’ through a glowing Fediverse nebula. Light trails and floating ActivityPub icons surround the ship, symbolizing fast, effortless navigation through connected worlds.
A screenshot of the Command Palette in action.
ALT text detailsA screenshot of the Command Palette in action.
ActivityPub for WordPress's avatar
ActivityPub for WordPress

@activitypub.blog@activitypub.blog

We're excited to announce that the ActivityPub for WordPress team will be hosting open office hours during the first week of December! Whether you're just getting started with ActivityPub, running into setup issues, or want to chat about where the plugin is heading, we'd love to see you there. What Are Office Hours? Think of office hours as an open door to hang out with @pfefferle and @obenland. Drop in anytime during the scheduled sessions to get hands-on help with plugin installation and […]

We’re excited to announce that the ActivityPub for WordPress team will be hosting open office hours during the first week of December! Whether you’re just getting started with ActivityPub, running into setup issues, or want to chat about where the plugin is heading, we’d love to see you there.

What Are Office Hours?

Think of office hours as an open door to hang out with @pfefferle and @obenland. Drop in anytime during the scheduled sessions to get hands-on help with plugin installation and setup, troubleshoot any issues you’re experiencing, or share your ideas for new features and improvements. You can also discuss the roadmap and what’s coming next, ask questions about ActivityPub, the fediverse, or how it all works, and connect with the community to see what others are building.

No agenda, no registration required—just show up when you can and let’s talk ActivityPub!

Schedule: December 1-5, 2025

We’re offering multiple sessions throughout the week to accommodate different time zones. Join whichever works best for you!

Monday
Dec 1
Tuesday
Dec 2
Wednesday
Dec 3
Thursday
Dec 4
Friday
Dec 5
10:00 CET🗓️ Add to Calendar🗓️ Add to Calendar🗓️ Add to Calendar
10 am ET📅 Add to Calendar📅 Add to Calendar📅 Add to Calendar📅 Add to Calendar📅 Add to Calendar

Time zone note: CET = Central European Time | ET = Eastern Time (US)

How to Join

Meeting Link: https://meet.google.com/mdb-bkdw-ypz

Just click the link above at any scheduled time and join us! No need to RSVP—these are open sessions where anyone can drop in.

New to video calls? No worries! Just click the link, and you’ll be guided through joining. Most platforms work right in your browser.

Who Should Come?

Everyone! Seriously, we mean it:

  • WordPress site owners curious about connecting to the fediverse.
  • Developers working with the ActivityPub plugin.
  • Fediverse enthusiasts who want to understand how WordPress fits in.
  • Anyone with questions, bug reports, or ideas.
  • Lurkers welcome too—feel free to just listen and learn!

Whether you’re running a personal blog, a community site, or just exploring what ActivityPub can do, we’d love to meet you.

Can’t Make These Times?

We know December 1-5 won’t work for everyone. If you can’t join us live, you can connect with us on GitHub or join the conversation in our community forum.

We’re planning to do more office hours in the future based on how this week goes, so let us know what times work better for you!

See You There! 👋

We’re really looking forward to connecting with the community, answering your questions, and hearing about how you’re using ActivityPub on WordPress. Mark your calendars, grab a coffee (or tea!), and let’s chat!

Have questions before office hours? Drop a comment below.

dansup's avatar
dansup

@dansup@mastodon.social

Consent Driven Curated Collections, aka Starter Kits.

Now available on Loops, and compatible with Mastodon Collections rolling out next week.

joinloops.org/starter-kits

Spread the word. Boosts appreciated.

This is proof we can build ethical, interoperable discovery based on opt-in support at the protocol level.

🚀

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

The article , the Good, the Bad, and the Ugly by Dominik Chrástecký highlights a number of examples of , a topic I also address in the call-for-reflection article Grassroots fediverse evolution ..

discuss.coding.social/t/grassr

social.coop/@smallcircles/1163

I just found 2 possible more possible examples that I raise genuine questions about, see..

codeberg.org/fediverse/fediver

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🤔

is at an inflection point.

Either revival and course correction to the original protocol power and promise. With the potential to .

Or keep current track with fedi-we-have. Be content with a few great and reasonably popular app platforms. Surely some more to come. But with a messy wire protocol that stifles and isn't future-proof.

do you dare to dream?

This special thought provoker is based on personal reflection and 8 years of . Deliberately exposed to the inherent unsustainability of the movement. Burning privilege by spending my savings.

Goal: 1st-hand experience to learn the dynamics that make a tick.

I invite you to a & ride. To ponder how can organically evolve. Become unbeatable by .

coding.social/blog/grassroots-

But in an age of who still reads long handcrafted ? Fill in the .

OptionVoters
In the end I more or less read the whole article32 (62%)
I read the article summary, skimmed for highlights10 (19%)
I passed the problem section, read the tech ideas2 (4%)
Meh, skip. Too technical. Too social fluffy. Other8 (15%)
เ๏'s avatar
เ๏

@io@s.cafe

Fedify ActivityPub server framework

A library for building federated server apps powered by and other standards, so-called

fedify.dev

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

cc @evan relating to earlier discussion we had on the matter.

This bot is already combining logic, has multiple 'profle logic' tags. Dunno if "NoBots" is also already common protocol-decaying practice.

Maybe a solution might be that an bot actor - OT: which I'd personally perhaps had chosen to be Application, not Service actors - would have a botFlags property. Simple to implement, and that.

More involved but also much more versatile might be a "Botiquette" as:Profile, or even a bots:Botiquette type, and a namespace to register them at, and where others may find what they mean and how they operate exactly.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Do NOT create out-of-bound custom and app-centric mechanisms that define new and expected behavior on protocol level.

codeberg.org/fediverse/fediver

Snapshot from a fediverse bot profile reading: "If you DO NOT want a post boosted use #nobot in the post. Add #NoBots to your profile bio to stop all boosts for any tag.
ALT text detailsSnapshot from a fediverse bot profile reading: "If you DO NOT want a post boosted use #nobot in the post. Add #NoBots to your profile bio to stop all boosts for any tag.
dansup's avatar
dansup

@dansup@mastodon.social

Consent Driven Curated Collections, aka Starter Kits.

Now available on Loops, and compatible with Mastodon Collections rolling out next week.

joinloops.org/starter-kits

Spread the word. Boosts appreciated.

This is proof we can build ethical, interoperable discovery based on opt-in support at the protocol level.

🚀

Sam's avatar
Sam

@sam@break3.social

🚀 Mini Fediverse Sticker Pack is here!

Show your love for the decentralized web with 22 stickers (11 designs, 2 of each) featuring your favourite platforms like Mastodon, Misskey, PixelFed, Lemmy & more.

~25mm die-cut stickers
Easy-peel backing (accessible & hassle-free)
Laminated for extra durability & water resistance

Perfect for laptops, notebooks, cases, and anywhere you want to rep the Fediverse
🌐

👉 https://ko-fi.com/s/f3a2f9c606

Fediverse Stickers with 11 different designs (2 of each).

Loops
PixelFed
Sharkey
Mastodon
ActivityPub
Misskey
Piefed
PeerTube
Lemmy
ALT text detailsFediverse Stickers with 11 different designs (2 of each). Loops PixelFed Sharkey Mastodon ActivityPub Misskey Piefed PeerTube Lemmy
Sam's avatar
Sam

@sam@break3.social

🚀 Mini Fediverse Sticker Pack is here!

Show your love for the decentralized web with 22 stickers (11 designs, 2 of each) featuring your favourite platforms like Mastodon, Misskey, PixelFed, Lemmy & more.

~25mm die-cut stickers
Easy-peel backing (accessible & hassle-free)
Laminated for extra durability & water resistance

Perfect for laptops, notebooks, cases, and anywhere you want to rep the Fediverse
🌐

👉 https://ko-fi.com/s/f3a2f9c606

Fediverse Stickers with 11 different designs (2 of each).

Loops
PixelFed
Sharkey
Mastodon
ActivityPub
Misskey
Piefed
PeerTube
Lemmy
ALT text detailsFediverse Stickers with 11 different designs (2 of each). Loops PixelFed Sharkey Mastodon ActivityPub Misskey Piefed PeerTube Lemmy
Sam's avatar
Sam

@sam@break3.social

🚀 Mini Fediverse Sticker Pack is here!

Show your love for the decentralized web with 22 stickers (11 designs, 2 of each) featuring your favourite platforms like Mastodon, Misskey, PixelFed, Lemmy & more.

~25mm die-cut stickers
Easy-peel backing (accessible & hassle-free)
Laminated for extra durability & water resistance

Perfect for laptops, notebooks, cases, and anywhere you want to rep the Fediverse
🌐

👉 https://ko-fi.com/s/f3a2f9c606

Fediverse Stickers with 11 different designs (2 of each).

Loops
PixelFed
Sharkey
Mastodon
ActivityPub
Misskey
Piefed
PeerTube
Lemmy
ALT text detailsFediverse Stickers with 11 different designs (2 of each). Loops PixelFed Sharkey Mastodon ActivityPub Misskey Piefed PeerTube Lemmy
dansup's avatar
dansup

@dansup@mastodon.social

Consent Driven Curated Collections, aka Starter Kits.

Now available on Loops, and compatible with Mastodon Collections rolling out next week.

joinloops.org/starter-kits

Spread the word. Boosts appreciated.

This is proof we can build ethical, interoperable discovery based on opt-in support at the protocol level.

🚀

dansup's avatar
dansup

@dansup@mastodon.social

Consent Driven Curated Collections, aka Starter Kits.

Now available on Loops, and compatible with Mastodon Collections rolling out next week.

joinloops.org/starter-kits

Spread the word. Boosts appreciated.

This is proof we can build ethical, interoperable discovery based on opt-in support at the protocol level.

🚀

B's avatar
B

@blainsmith@fosstodon.org

Taking suggestions on a name for an ActivityPub-based fitness tracking app like Strava, but for any kind of exercising since it will use fitlanguage.org to compose programs and track sessions.

I like non-fedi/AP names like Mastadon and Loops, but as you know naming things are hard.

OptionVoters
FediFit22 (50%)
Fitiverse14 (32%)
Other, reply....8 (18%)
B's avatar
B

@blainsmith@fosstodon.org

Taking suggestions on a name for an ActivityPub-based fitness tracking app like Strava, but for any kind of exercising since it will use fitlanguage.org to compose programs and track sessions.

I like non-fedi/AP names like Mastadon and Loops, but as you know naming things are hard.

OptionVoters
FediFit22 (50%)
Fitiverse14 (32%)
Other, reply....8 (18%)
dansup's avatar
dansup

@dansup@mastodon.social

GotoSocial created the interactionPolicy for activities, but declined creating a FEP

Mastodon used the interactionPolicy and applied it to actor objects and will publish a FEP

Loops is using both

This is the magic of the fediverse.

Any project can innovate and create new extensions to push the fediverse forward.

And the biggest projects like @Mastodon will work to ensure compatibility, no matter how popular your project is, to the best of their ability.

WE ARE THE FUTURE

B's avatar
B

@blainsmith@fosstodon.org

Taking suggestions on a name for an ActivityPub-based fitness tracking app like Strava, but for any kind of exercising since it will use fitlanguage.org to compose programs and track sessions.

I like non-fedi/AP names like Mastadon and Loops, but as you know naming things are hard.

OptionVoters
FediFit22 (50%)
Fitiverse14 (32%)
Other, reply....8 (18%)
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to B's post

@blainsmith

Other. Avoid another "fedi" this-and-that at all cost, I would suggest.

Witness the overload and abundance on the fedi lists I curate at delightful.coding.social and where the fedi experience list has a related projects :)

Some first brainwaved names..

FitFriends
FitnessPub
FitFinder

SportsRoads
SportSocials
SportingSocial

B's avatar
B

@blainsmith@fosstodon.org

Taking suggestions on a name for an ActivityPub-based fitness tracking app like Strava, but for any kind of exercising since it will use fitlanguage.org to compose programs and track sessions.

I like non-fedi/AP names like Mastadon and Loops, but as you know naming things are hard.

OptionVoters
FediFit22 (50%)
Fitiverse14 (32%)
Other, reply....8 (18%)
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Marcus Rohrmoser 🌻's post

@mro @evan @julian @fedify

P.P.S. My latest blog post about fediverse contains a "Back to (potentially radical) simplicity" call-to-reflection (among other subject matters) .. social.coop/@smallcircles/1163

Solution is.. difficult, but simple, yet not easy. 😝

Marcus Rohrmoser 🌻's avatar
Marcus Rohrmoser 🌻

@mro@digitalcourage.social · Reply to Evan Prodromou's post

Hi @evan
regarding 'keeps things simple' - have you looked into ?
(Looking at you, Innerlist doi.org/10.17487/RFC9421)

All this for what benefit?

@julian @fedify

P.S.: I don't consider to be simple in the first place, so hard to keep it simple that way.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

As precursor to my blog post announcement later today, here's my response to the topic on how to treat the based open standard where messages can be expressed both as plain as well as in , leading to the most costly misconception that has dragged the sideways from its original promise and power..

socialhub.activitypub.rocks/t/

Mavnn's blog's avatar
Mavnn's blog

@blog@bonfire.mavnn.eu

Read this post in its full formatted glory at https://blog.mavnn.eu/2026/04/11/now_with_hashtags.html

To follow up on yesterday's announcement of fediverse, the 'federate your RSS feed' project, today I've pushed support for mapping RSS categories to ActivityPub hashtags. This does add a new required config field, as each ActivityPub server can map hashtags to different places.

That's... about it, really. This is mostly a blog post so that there is a blog post with hashtags to point at.

Mavnn's blog's avatar
Mavnn's blog

@blog@bonfire.mavnn.eu

Read this post in its full formatted glory at https://blog.mavnn.eu/2026/04/11/now_with_hashtags.html

To follow up on yesterday's announcement of fediverse, the 'federate your RSS feed' project, today I've pushed support for mapping RSS categories to ActivityPub hashtags. This does add a new required config field, as each ActivityPub server can map hashtags to different places.

That's... about it, really. This is mostly a blog post so that there is a blog post with hashtags to point at.

Marcus Rohrmoser 🌻's avatar
Marcus Rohrmoser 🌻

@mro@digitalcourage.social · Reply to Evan Prodromou's post

Hi @evan
regarding 'keeps things simple' - have you looked into ?
(Looking at you, Innerlist doi.org/10.17487/RFC9421)

All this for what benefit?

@julian @fedify

P.S.: I don't consider to be simple in the first place, so hard to keep it simple that way.

Mavnn's blog's avatar
Mavnn's blog

@blog@bonfire.mavnn.eu

Read this post in its full formatted glory at https://blog.mavnn.eu/2026/04/11/now_with_hashtags.html

To follow up on yesterday's announcement of fediverse, the 'federate your RSS feed' project, today I've pushed support for mapping RSS categories to ActivityPub hashtags. This does add a new required config field, as each ActivityPub server can map hashtags to different places.

That's... about it, really. This is mostly a blog post so that there is a blog post with hashtags to point at.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🤔

For those who chimed in to join the and want to be nerdsniped potentially you may ponder that..

♟️ is a great example of an .

🌱 Recipe for of chess

- [chess ingredients here]

And then to continue onwards and think how the relationship is between individuals who give their all-in best-efforts for world improvement, make real sacrifices, and who gift their 2 cts with best-intentions, still are faced with uncomfortable questions.

To turn that into solution-orientation we must find a good recipe, and note down ingredients..

🌱 Recipe for Sustainable open social systems i.e.

- [sustainable FOSS ingredients here]

Hint / rule: Max. ingredients is 10.

social.coop/@smallcircles/1163

@helge Recipe support on the fediverse?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:blobhyperthink:

Uncomfortable questions..

- To what extent is complicit to the rise of ?

- To what extent is FOSS complicit to disruptive craze we face today?

- To what extent are vibe coding even possible without FOSS?

"BUT.. BUT.. The License!"

- To what extent does slapping on a license free us from responsibility, knowing that it hardly offers protection from abuse?

- To what extent did FOSS too just introduce the tech and damn the externalities?

- To what extent is FOSS complicit to the current state of the world?

- To what extent is it enough to consider FOSS to be "imbibed by good morals and values" if we can't defend those?

OptionVoters
We are clear. Because our intentions are good.5 (9%)
We are clear. We just code. Bad actors abuse it7 (12%)
We must find better ways to protect our work.40 (69%)
Other (please comment)6 (10%)
เ๏'s avatar
เ๏

@io@s.cafe

Fedify ActivityPub server framework

A library for building federated server apps powered by and other standards, so-called

fedify.dev

เ๏'s avatar
เ๏

@io@s.cafe

Fedify ActivityPub server framework

A library for building federated server apps powered by and other standards, so-called

fedify.dev

เ๏'s avatar
เ๏

@io@s.cafe

Fedify ActivityPub server framework

A library for building federated server apps powered by and other standards, so-called

fedify.dev

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

:blobhyperthink:

@laurenshof wrote fabulous reports analysing our and sadly this included raging techno-ideological too. How can we turn that to ?

So much friction and heat in the raging discussions vs. 😭

🔮 What is *much* more relevant in vs AP is WHY ❔ Bluesky + ATProto gets the bigger uptake, despite compromising on and values and we hold dear.

Knowing the answers to that is where for strategic action comes from. And subsequently following what you may call instead of just 'wild-coding' the chaotic with countless independent, uncoordinated "Show, don't tells" of yet more code to shove onto the that fediverse-we-have increasingly represents.

provides such Opportunity.

To revive on a *greenfield basis* doing design and adopt lessons-learned from APv1 vs. .

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

🤔

🌈 Between locals and neighbors is weakest.

:boosts_appreciated: <--> 🌐 <--> 🌍 <--> 🏡 <--> 🫂

social.coop/@smallcircles/1163

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Arnold Schrijver's post

@aschrijver

A bug in @Discourse plugin? cc @angusmcleod

Image from the subject 3 times included, and with the being the filename, not the alt-text I gave in the post.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

:blobhyperthink:

Back to promise and power of AP?
Sustainable , hmm, yes.
, you say? Right, umm.. 🤷

-we-have vs. , which is more powerful and ?

Lego Sets vs. Lego Blocks, which is more powerful and versatile?

View the video mentioned in the article about Emergent Complexity..

youtube.com/watch?v=0HqUYpGQIfs

Can you influence and steer emergence and evolution? Some people like me, with Social experience design think so. Another person is Richard D. Bartlett known from who also is behind , which I was reminded of the other day. Have a look for yourself..

microsolidarity.cc

Regular Lego blocks in different colors.
ALT text detailsRegular Lego blocks in different colors.
Lego Set shaped with blocks shaped to form the Dinosaurs depicted on the box, and in the instruction set.
ALT text detailsLego Set shaped with blocks shaped to form the Dinosaurs depicted on the box, and in the instruction set.
Domingos Faria's avatar
Domingos Faria

@df@s.dfaria.eu

A full fediverse instance running on a simple shared host, in pure PHP, with no external dependencies. That is the idea behind Starling:
https://github.com/dfaria-eu/Starling/

B's avatar
B

@blainsmith@fosstodon.org

Help, I am starting a new ActivityPub-based project for fitness programs and tracking sessions based on FitLang.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-04-10

Servers

- PeerTube v8.1.5
- diaspora* v0.9.1.0
- Stegodon v1.8.3
- Mitra v5.1.0
- Catodon v26.4.0
- Gush! v0.0.35
- NeoDB v0.13.9
- flohmarkt v0.18.0
- Vernissage Server v.1.33.0
- NodeBB v4.10.2
- PieFed v1.6.18
- Wafrn v2026.04.01
- Designing Collections (Mastodon)
- Trunk & Tidbits, March 2026 (Mastodon)

Clients

- toot v0.52.0
- Coho v0.9
- Summit v1.81.2
- Pixelix v4.3.3
- Mitra Mini v0.2.0
- Holos v1.3.0
- Aria v1.4.9
- SmolFedi: A lightweight, no-JavaScript Fediverse client written in PHP

Tools and Plugins

- Enable Mastodon Apps v1.6.0 (WordPress plugin)

For developers

- Fedify v2.1.3

Protocol

- FEP-9f9f: Collections

Articles

- FR#158 – What is Mastodon for?
- Grassroots fediverse evolution

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d54b3-fd82-7233-1375-436f54d83aff

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-04-10

Servers

- PeerTube v8.1.5
- diaspora* v0.9.1.0
- Stegodon v1.8.3
- Mitra v5.1.0
- Catodon v26.4.0
- Gush! v0.0.35
- NeoDB v0.13.9
- flohmarkt v0.18.0
- Vernissage Server v.1.33.0
- NodeBB v4.10.2
- PieFed v1.6.18
- Wafrn v2026.04.01
- Designing Collections (Mastodon)
- Trunk & Tidbits, March 2026 (Mastodon)

Clients

- toot v0.52.0
- Coho v0.9
- Summit v1.81.2
- Pixelix v4.3.3
- Mitra Mini v0.2.0
- Holos v1.3.0
- Aria v1.4.9
- SmolFedi: A lightweight, no-JavaScript Fediverse client written in PHP

Tools and Plugins

- Enable Mastodon Apps v1.6.0 (WordPress plugin)

For developers

- Fedify v2.1.3

Protocol

- FEP-9f9f: Collections

Articles

- FR#158 – What is Mastodon for?
- Grassroots fediverse evolution

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d54b3-fd82-7233-1375-436f54d83aff

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-04-10

Servers

- PeerTube v8.1.5
- diaspora* v0.9.1.0
- Stegodon v1.8.3
- Mitra v5.1.0
- Catodon v26.4.0
- Gush! v0.0.35
- NeoDB v0.13.9
- flohmarkt v0.18.0
- Vernissage Server v.1.33.0
- NodeBB v4.10.2
- PieFed v1.6.18
- Wafrn v2026.04.01
- Designing Collections (Mastodon)
- Trunk & Tidbits, March 2026 (Mastodon)

Clients

- toot v0.52.0
- Coho v0.9
- Summit v1.81.2
- Pixelix v4.3.3
- Mitra Mini v0.2.0
- Holos v1.3.0
- Aria v1.4.9
- SmolFedi: A lightweight, no-JavaScript Fediverse client written in PHP

Tools and Plugins

- Enable Mastodon Apps v1.6.0 (WordPress plugin)

For developers

- Fedify v2.1.3

Protocol

- FEP-9f9f: Collections

Articles

- FR#158 – What is Mastodon for?
- Grassroots fediverse evolution

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d54b3-fd82-7233-1375-436f54d83aff

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-04-10

Servers

- PeerTube v8.1.5
- diaspora* v0.9.1.0
- Stegodon v1.8.3
- Mitra v5.1.0
- Catodon v26.4.0
- Gush! v0.0.35
- NeoDB v0.13.9
- flohmarkt v0.18.0
- Vernissage Server v.1.33.0
- NodeBB v4.10.2
- PieFed v1.6.18
- Wafrn v2026.04.01
- Designing Collections (Mastodon)
- Trunk & Tidbits, March 2026 (Mastodon)

Clients

- toot v0.52.0
- Coho v0.9
- Summit v1.81.2
- Pixelix v4.3.3
- Mitra Mini v0.2.0
- Holos v1.3.0
- Aria v1.4.9
- SmolFedi: A lightweight, no-JavaScript Fediverse client written in PHP

Tools and Plugins

- Enable Mastodon Apps v1.6.0 (WordPress plugin)

For developers

- Fedify v2.1.3

Protocol

- FEP-9f9f: Collections

Articles

- FR#158 – What is Mastodon for?
- Grassroots fediverse evolution

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d54b3-fd82-7233-1375-436f54d83aff

dansup's avatar
dansup

@dansup@mastodon.social

GotoSocial created the interactionPolicy for activities, but declined creating a FEP

Mastodon used the interactionPolicy and applied it to actor objects and will publish a FEP

Loops is using both

This is the magic of the fediverse.

Any project can innovate and create new extensions to push the fediverse forward.

And the biggest projects like @Mastodon will work to ensure compatibility, no matter how popular your project is, to the best of their ability.

WE ARE THE FUTURE

Domingos Faria's avatar
Domingos Faria

@df@s.dfaria.eu

A full fediverse instance running on a simple shared host, in pure PHP, with no external dependencies. That is the idea behind Starling:
https://github.com/dfaria-eu/Starling/

dansup's avatar
dansup

@dansup@mastodon.social

MAU are tanking across every major platform and nobody wants to say what's obvious — the corporate social media model is broken.

People are sick of being fed algorithmic garbage and influencer ads disguised as content.

The fediverse is what social media was supposed to be.

Human connections.
No gamification.
No bullshit.

GotoSocial, Loops and Piefed aren't just part of the next chapter — we're writing it.

🚀

marius's avatar
marius

@mariusor@metalhead.club

Does anyone know of Mastodon servers that use outbound RFC9421 HTTP-Signatures ?

According to the release notes, version 4.5 should have it enabled by default for outgoing requests using the double knocking mechanism, but so far I haven't seen any request containing them...

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

dansup's avatar
dansup

@dansup@mastodon.social

Loops now shows the Follow + Share + Atom buttons to guests on profiles!

We included some helpful steps to guide guests and help them follow Loops accounts remotely ✨

Loops Profile with the new guest buttons
ALT text detailsLoops Profile with the new guest buttons
Loops Profile with the new Follow Modal shown to guests
ALT text detailsLoops Profile with the new Follow Modal shown to guests
Loops Profile with the new Atom feed modal
ALT text detailsLoops Profile with the new Atom feed modal
Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

Arnold Schrijver (@smallcircles) just published a fairly long thinkpiece on the future of ActivityPub and the fediverse and how we could achieve a grassroots improvement of the standards. It's well worth a read!

coding.social/blog/grassroots-

Domingos Faria's avatar
Domingos Faria

@df@s.dfaria.eu

A full fediverse instance running on a simple shared host, in pure PHP, with no external dependencies. That is the idea behind Starling:
https://github.com/dfaria-eu/Starling/

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

Arnold Schrijver (@smallcircles) just published a fairly long thinkpiece on the future of ActivityPub and the fediverse and how we could achieve a grassroots improvement of the standards. It's well worth a read!

coding.social/blog/grassroots-

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

🤔

is at an inflection point.

Either revival and course correction to the original protocol power and promise. With the potential to .

Or keep current track with fedi-we-have. Be content with a few great and reasonably popular app platforms. Surely some more to come. But with a messy wire protocol that stifles and isn't future-proof.

do you dare to dream?

This special thought provoker is based on personal reflection and 8 years of . Deliberately exposed to the inherent unsustainability of the movement. Burning privilege by spending my savings.

Goal: 1st-hand experience to learn the dynamics that make a tick.

I invite you to a & ride. To ponder how can organically evolve. Become unbeatable by .

coding.social/blog/grassroots-

But in an age of who still reads long handcrafted ? Fill in the .

OptionVoters
In the end I more or less read the whole article32 (62%)
I read the article summary, skimmed for highlights10 (19%)
I passed the problem section, read the tech ideas2 (4%)
Meh, skip. Too technical. Too social fluffy. Other8 (15%)
Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

Arnold Schrijver (@smallcircles) just published a fairly long thinkpiece on the future of ActivityPub and the fediverse and how we could achieve a grassroots improvement of the standards. It's well worth a read!

coding.social/blog/grassroots-

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

As precursor to my blog post announcement later today, here's my response to the topic on how to treat the based open standard where messages can be expressed both as plain as well as in , leading to the most costly misconception that has dragged the sideways from its original promise and power..

socialhub.activitypub.rocks/t/

Fediverse Connection's avatar
Fediverse Connection

@fediverseconnection@social.vivaldi.net · Reply to bh4tech's post

@dansup

Now all we need is something like Patreon, but based on , where we can manage membership rights and payments. With @Liberapay, , @Taler and the like, and the ability to integrate @pixelfed, @loops, @Castopod, @peertube and blog posts, we can give artists, authors and musicians the chance to leave Big Tech entirely without having to forgo their income.

  

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

As precursor to my blog post announcement later today, here's my response to the topic on how to treat the based open standard where messages can be expressed both as plain as well as in , leading to the most costly misconception that has dragged the sideways from its original promise and power..

socialhub.activitypub.rocks/t/

lps's avatar
lps

@lps@mograph.social · Reply to Framework :fedora: :ubuntu:'s post

@frameworkcomputer when/if you decide to harness the power of consider also streaming your live events with where we can avoid the baddies of and follow/comment right from here.

@penpot has already done this, and very well:).

It may seem like a small thing, to an initially small audience, but it speaks volumes about an orgs values. Plus you become pioneers ... again;)

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social

RE: mastodon.social/@bagder/116359

Could be potentially nice for fediverse server testing, as more implementations make the jump to final RFC 9421 HTTP signatures.

On the flip side, ever more complex curl invocations (here: Accept header plus signature fields plus key file, presumably) suggest use of more specialized CLI tools, such as provided by @fedify, or at least scripts/aliases.

Speaking of RFC 9421, which notable fediverse implementations can't handle it yet? Anyone keeping track?

ropoko's avatar
ropoko

@ropoko@mastodon.gamedev.place

I have one question related to activitypub.

Let's consider bookwyrm (The AP website to review books), for mastodon to allow that we basically just need to support whatever activity type bookwyrm uses, correct?

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»Designing Collections« blog.joinmastodon.org/2026/04/

lps's avatar
lps

@lps@mograph.social · Reply to Framework :fedora: :ubuntu:'s post

@frameworkcomputer when/if you decide to harness the power of consider also streaming your live events with where we can avoid the baddies of and follow/comment right from here.

@penpot has already done this, and very well:).

It may seem like a small thing, to an initially small audience, but it speaks volumes about an orgs values. Plus you become pioneers ... again;)

Joaquim Homrighausen's avatar
Joaquim Homrighausen

@joho@mastodon.online

I'm a bit curious about GoToSocial, in particular because I want to host a few Fediverse/ActivityPub instances myself, and GTS seems to be a bit less resource hungry and supports "backports" of past data.

Does anyone have experience with the GTS platform vs Mastodon? I'm not interested in a "flame war", just objective comparisons.

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»Designing Collections« blog.joinmastodon.org/2026/04/

dansup's avatar
dansup

@dansup@mastodon.social

Loops now includes video thumbnails in our ActivityPub objects, using the `icon` attribute, like PeerTube!

browser.pub/https://loops.vide

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»Designing Collections« blog.joinmastodon.org/2026/04/

KING CONSULT | Kommunikation's avatar
KING CONSULT | Kommunikation

@kingconsult@berlin.social

Update zur – dem demokratiestärkenden -Festival am 4. Mai in Hamburg:
👉 2mr.social/

Wir reden über !⚙️

Wir freuen uns riesig auf strategischen Tech-Talk zur Zukunft von sozialen Medien mit:

🔹 @sabrinkmann von @54gradsoftware

🔹 @honeywinter von @fediway

🔹 @samuel_p von @ossrox

🗓️ Termin als .ics: 2mr.social/wp-content/uploads/

👪 2MR-Community- : fedidevs.com/s/OTc0/

Das Sharepic hat diesen Text auf pinkem Untergrund:

2MR Digital Democracy For Tomorrow

On the best Day to fight empires: May the 4th

Darunter ist mit einer einfachen Grafik eine Yoda-Figur angedeutet.
ALT text detailsDas Sharepic hat diesen Text auf pinkem Untergrund: 2MR Digital Democracy For Tomorrow On the best Day to fight empires: May the 4th Darunter ist mit einer einfachen Grafik eine Yoda-Figur angedeutet.
KING CONSULT | Kommunikation's avatar
KING CONSULT | Kommunikation

@kingconsult@berlin.social

Update zur – dem demokratiestärkenden -Festival am 4. Mai in Hamburg:
👉 2mr.social/

Wir reden über !⚙️

Wir freuen uns riesig auf strategischen Tech-Talk zur Zukunft von sozialen Medien mit:

🔹 @sabrinkmann von @54gradsoftware

🔹 @honeywinter von @fediway

🔹 @samuel_p von @ossrox

🗓️ Termin als .ics: 2mr.social/wp-content/uploads/

👪 2MR-Community- : fedidevs.com/s/OTc0/

Das Sharepic hat diesen Text auf pinkem Untergrund:

2MR Digital Democracy For Tomorrow

On the best Day to fight empires: May the 4th

Darunter ist mit einer einfachen Grafik eine Yoda-Figur angedeutet.
ALT text detailsDas Sharepic hat diesen Text auf pinkem Untergrund: 2MR Digital Democracy For Tomorrow On the best Day to fight empires: May the 4th Darunter ist mit einer einfachen Grafik eine Yoda-Figur angedeutet.
Joaquim Homrighausen's avatar
Joaquim Homrighausen

@joho@mastodon.online

I'm a bit curious about GoToSocial, in particular because I want to host a few Fediverse/ActivityPub instances myself, and GTS seems to be a bit less resource hungry and supports "backports" of past data.

Does anyone have experience with the GTS platform vs Mastodon? I'm not interested in a "flame war", just objective comparisons.

Ben Pate 🤘🏻's avatar
Ben Pate 🤘🏻

@benpate@mastodon.social · Reply to YurkshireLad's post

ActivityPub is tops, for all it’s flaws.

Skip , too. It’s web3 cryptobros all the way down.

seems interesting, but I haven’t done a deep dive.

I am a fan of and , which give you many features (except comments) for 5% of the hassle. You could say the same for APIs, like and , which are awesome, but the community seems even less organized than the ActivityPub community (if that’s possible)

@YurkshireLad

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@silverpill

There are a couple of projects that focus on providing the good tools that abstract away the complexities of wire-level network comms, and help free the hands of a solution developer to focus more directly on what people need, instead of on plumbing and Babylonian speech confusion of how things fit together. I try to emphasize these projects, e.g. @fedify by listing them higher in the delightful.coding.social curated lists.

But their challenge is to offer a kind of reverse to browser quirks mode. Web browsers can handle about any malformed HTML a person throws at it, and still manage to turn that into machine processable form, and make the most of it.

As a fedi toolkit builder you almost need to do the opposite. Focus on offering comprehensive and intuitive API's and functionality to solution developers, and translate it into wire chaos that constitutes the fediverse-protocol-of-the-day.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

The protocol is often compared to email with its actor inboxes and outboxes.

However email allows emailers to email without knowing anything about how SMTP works under the hood. Using friendly tools you can construct newsletters, order receipts, invoices, etc. and send them to addressees. Fire and forget, and if it was undeliverable you receive notice. The network mechanics are a black box.

Here the significantly differs. Solution developers (emailers) creating apps and services must not only become protocol experts (handle SMTP) but deal with ugly wire reality (self-hosting email), then do whack-a-mole maintenance against moving release targets to fix app-by-app breakages and protocol decay. That is like if I send an email, it may break yours.

The ActivityPub API initiative + task force offer GREAT opportunity to improve things. A greenfield -like start to realign with the original promise and power of AS/AP based social web.

github.com/swicg/activitypub-a

Surf's avatar
Surf

@surf@flipboard.social

Feeds that make you go 🤔!

Check out our Curious Minds section, where you can dive into EU policy, books, urbanism and more, with Rayna Stamboliyska,
@dillonthebiologist, @robin and more.

surf.social/discover

A screenshot of the Curious Minds section of Flipboard's Surf website.
ALT text detailsA screenshot of the Curious Minds section of Flipboard's Surf website.
Surf's avatar
Surf

@surf@flipboard.social

Feeds that make you go 🤔!

Check out our Curious Minds section, where you can dive into EU policy, books, urbanism and more, with Rayna Stamboliyska,
@dillonthebiologist, @robin and more.

surf.social/discover

A screenshot of the Curious Minds section of Flipboard's Surf website.
ALT text detailsA screenshot of the Curious Minds section of Flipboard's Surf website.
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Michael Newton's post

@mavnn

> As an aside, I'm quite liking the ActivityPub APIs so far, although ld-json does leave me feeling like there's a fair jump from "script that works" to "actually does everything the spec would theoretically allow".

There's the "linked data conundrum" as I call it, which recently reared its head again, triggered by a post I created the other day:

socialhub.activitypub.rocks/t/

The conundrum is the eternal friction between the plain and the view of the social web. And it has never really be solved. I consider it one of the misconception that led to endless discussion, confusion, and waste of time. For the ActivityPub API which hold the promise to correct course towards a more standards-compliant , I created an issue on the subject..

github.com/swicg/activitypub-a

Followed by another on protocol design..

github.com/swicg/activitypub-a

In #Flancia we'll meet's avatar
In #Flancia we'll meet

@flancian@social.coop

[[Fedisky]] looks very interesting!

github.com/msonnb/fedisky

A extension to run off your personal data store!

Berliner Fediverse Tag's avatar
Berliner Fediverse Tag

@berlinfediday@berlin.social

🚀 The Call for Participation is OPEN! 🎤✨ All good things come in threes – together! 👨‍👨‍👧‍👧

Submit your talks & ideas and be part of 2026! 🌐🔥 @ @cbase

👉 ctalx.c-base.org/fediday-2026/

- -

🚀 Der Call for Participation ist OPEN! 🎤✨ Alle guten Dinge sind 3 - zusammen! 👨‍👨‍👧‍👧

Reich deine Talks & Ideen ein und werde Teil vom Fediday 2026! 🌐🔥

👉 ctalx.c-base.org/fediday-2026/

A Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
ALT text detailsA Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Michael Newton's post

@mavnn

> As an aside, I'm quite liking the ActivityPub APIs so far, although ld-json does leave me feeling like there's a fair jump from "script that works" to "actually does everything the spec would theoretically allow".

There's the "linked data conundrum" as I call it, which recently reared its head again, triggered by a post I created the other day:

socialhub.activitypub.rocks/t/

The conundrum is the eternal friction between the plain and the view of the social web. And it has never really be solved. I consider it one of the misconception that led to endless discussion, confusion, and waste of time. For the ActivityPub API which hold the promise to correct course towards a more standards-compliant , I created an issue on the subject..

github.com/swicg/activitypub-a

Followed by another on protocol design..

github.com/swicg/activitypub-a

Michael Newton's avatar
Michael Newton

@mavnn@bonfire.mavnn.eu

Nearly there with the rss -> activitypub script first cut, but slightly hampered by the fact that it seems like there's a bug (github.com/bonfire-networks/...) in the handling of Update activities in Bonfire's client to server #activitypub API. Either that or I'm holding it wrong, which is entirely possible given it is the first time I'm using the API!

As an aside, I'm quite liking the ActivityPub APIs so far, although ld-json does leave me feeling like there's a fair jump from "script that works" to "actually does everything the spec would theoretically allow".

Michael Newton's avatar
Michael Newton

@mavnn@bonfire.mavnn.eu

Nearly there with the rss -> activitypub script first cut, but slightly hampered by the fact that it seems like there's a bug (github.com/bonfire-networks/...) in the handling of Update activities in Bonfire's client to server #activitypub API. Either that or I'm holding it wrong, which is entirely possible given it is the first time I'm using the API!

As an aside, I'm quite liking the ActivityPub APIs so far, although ld-json does leave me feeling like there's a fair jump from "script that works" to "actually does everything the spec would theoretically allow".

dansup's avatar
dansup

@dansup@mastodon.social

Loops now includes video thumbnails in our ActivityPub objects, using the `icon` attribute, like PeerTube!

browser.pub/https://loops.vide

In #Flancia we'll meet's avatar
In #Flancia we'll meet

@flancian@social.coop

[[Fedisky]] looks very interesting!

github.com/msonnb/fedisky

A extension to run off your personal data store!

In #Flancia we'll meet's avatar
In #Flancia we'll meet

@flancian@social.coop

[[Fedisky]] looks very interesting!

github.com/msonnb/fedisky

A extension to run off your personal data store!

Berliner Fediverse Tag's avatar
Berliner Fediverse Tag

@berlinfediday@berlin.social

🚀 The Call for Participation is OPEN! 🎤✨ All good things come in threes – together! 👨‍👨‍👧‍👧

Submit your talks & ideas and be part of 2026! 🌐🔥 @ @cbase

👉 ctalx.c-base.org/fediday-2026/

- -

🚀 Der Call for Participation ist OPEN! 🎤✨ Alle guten Dinge sind 3 - zusammen! 👨‍👨‍👧‍👧

Reich deine Talks & Ideen ein und werde Teil vom Fediday 2026! 🌐🔥

👉 ctalx.c-base.org/fediday-2026/

A Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
ALT text detailsA Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
Berliner Fediverse Tag's avatar
Berliner Fediverse Tag

@berlinfediday@berlin.social

🚀 The Call for Participation is OPEN! 🎤✨ All good things come in threes – together! 👨‍👨‍👧‍👧

Submit your talks & ideas and be part of 2026! 🌐🔥 @ @cbase

👉 ctalx.c-base.org/fediday-2026/

- -

🚀 Der Call for Participation ist OPEN! 🎤✨ Alle guten Dinge sind 3 - zusammen! 👨‍👨‍👧‍👧

Reich deine Talks & Ideen ein und werde Teil vom Fediday 2026! 🌐🔥

👉 ctalx.c-base.org/fediday-2026/

A Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
ALT text detailsA Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
dansup's avatar
dansup

@dansup@mastodon.social

Loops now includes video thumbnails in our ActivityPub objects, using the `icon` attribute, like PeerTube!

browser.pub/https://loops.vide

dansup's avatar
dansup

@dansup@mastodon.social

Loops now includes video thumbnails in our ActivityPub objects, using the `icon` attribute, like PeerTube!

browser.pub/https://loops.vide

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

🤔

Peopleverse ?

How do you #ReimagineSocial ?
Do you dare to dream? Then Dream.
Do you dare to play? Then Play.
Can you imagine a peopleverse ?
Then let The journey begin.
ALT text detailsPeopleverse ? How do you #ReimagineSocial ? Do you dare to dream? Then Dream. Do you dare to play? Then Play. Can you imagine a peopleverse ? Then let The journey begin.
Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

has launched , a feature allowing users to create customisable social websites that aggregate content from various platforms like Bluesky, Mastodon, Threads, YouTube, podcasts, blogs, and RSS feeds. This tool aims to simplify the user experience by providing a centralised feed, similar to a personal homepage, for content from multiple sources. explosion.com/174452/flipboard

Berliner Fediverse Tag's avatar
Berliner Fediverse Tag

@berlinfediday@berlin.social

🚀 The Call for Participation is OPEN! 🎤✨ All good things come in threes – together! 👨‍👨‍👧‍👧

Submit your talks & ideas and be part of 2026! 🌐🔥 @ @cbase

👉 ctalx.c-base.org/fediday-2026/

- -

🚀 Der Call for Participation ist OPEN! 🎤✨ Alle guten Dinge sind 3 - zusammen! 👨‍👨‍👧‍👧

Reich deine Talks & Ideen ein und werde Teil vom Fediday 2026! 🌐🔥

👉 ctalx.c-base.org/fediday-2026/

A Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
ALT text detailsA Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
Berliner Fediverse Tag's avatar
Berliner Fediverse Tag

@berlinfediday@berlin.social

🚀 The Call for Participation is OPEN! 🎤✨ All good things come in threes – together! 👨‍👨‍👧‍👧

Submit your talks & ideas and be part of 2026! 🌐🔥 @ @cbase

👉 ctalx.c-base.org/fediday-2026/

- -

🚀 Der Call for Participation ist OPEN! 🎤✨ Alle guten Dinge sind 3 - zusammen! 👨‍👨‍👧‍👧

Reich deine Talks & Ideen ein und werde Teil vom Fediday 2026! 🌐🔥

👉 ctalx.c-base.org/fediday-2026/

A Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
ALT text detailsA Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
Berliner Fediverse Tag's avatar
Berliner Fediverse Tag

@berlinfediday@berlin.social

🚀 The Call for Participation is OPEN! 🎤✨ All good things come in threes – together! 👨‍👨‍👧‍👧

Submit your talks & ideas and be part of 2026! 🌐🔥 @ @cbase

👉 ctalx.c-base.org/fediday-2026/

- -

🚀 Der Call for Participation ist OPEN! 🎤✨ Alle guten Dinge sind 3 - zusammen! 👨‍👨‍👧‍👧

Reich deine Talks & Ideen ein und werde Teil vom Fediday 2026! 🌐🔥

👉 ctalx.c-base.org/fediday-2026/

A Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
ALT text detailsA Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
เ๏'s avatar
เ๏

@io@s.cafe

Fedify ActivityPub server framework

A library for building federated server apps powered by and other standards, so-called

fedify.dev

เ๏'s avatar
เ๏

@io@s.cafe

Fedify ActivityPub server framework

A library for building federated server apps powered by and other standards, so-called

fedify.dev

Berliner Fediverse Tag's avatar
Berliner Fediverse Tag

@berlinfediday@berlin.social

🚀 The Call for Participation is OPEN! 🎤✨ All good things come in threes – together! 👨‍👨‍👧‍👧

Submit your talks & ideas and be part of 2026! 🌐🔥 @ @cbase

👉 ctalx.c-base.org/fediday-2026/

- -

🚀 Der Call for Participation ist OPEN! 🎤✨ Alle guten Dinge sind 3 - zusammen! 👨‍👨‍👧‍👧

Reich deine Talks & Ideen ein und werde Teil vom Fediday 2026! 🌐🔥

👉 ctalx.c-base.org/fediday-2026/

A Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
ALT text detailsA Picture with the Logo from the Fediday 2026 11-13 September at c-base in Berlin.
Michael Newton's avatar
Michael Newton

@mavnn@bonfire.mavnn.eu

bonfire.mavnn.eu/pub/objects...

Excellent! I now have my blog rss feed pushed to Bonfire by a nice little #fsharp program I'll be open sourcing soonish. It also runs a mini-webserver to allow embedding comments into the blog, but that still requires a bit of sysops work that I haven't finished yet.

Still: if you want to follow my blog via #activitypub, now you can.

Michael Newton's avatar
Michael Newton

@mavnn@bonfire.mavnn.eu

bonfire.mavnn.eu/pub/objects...

Excellent! I now have my blog rss feed pushed to Bonfire by a nice little #fsharp program I'll be open sourcing soonish. It also runs a mini-webserver to allow embedding comments into the blog, but that still requires a bit of sysops work that I haven't finished yet.

Still: if you want to follow my blog via #activitypub, now you can.

Tiota Sram's avatar
Tiota Sram

@tiotasram@kolektiva.social

In the interests of starting a more productive dialogue than yesterday's main character was interested in, let's make a thread about design changes to ActivityPub and/or client UI that could actually help address drive-by (often racist) harassment on the fediverse.

Feel free to discuss pros/cons but don't feel an idea needs to be perfect to suggest it. Also since this is a brainstorm don't worry about complexity/implementation cost. If you have a great-but-hard-to-implement idea someone else may think of a way to simplify it.

Note that the underlying problem *is* a social one, do there won't be a technological fix! But tech changes can make social remedies easier/harder.

I've got some to start:

1. Have a "protected mode" that users can voluntarily turn on. Some servers might turn it on by default. In protected mode, users whose accounts are less than D days old and/or who have fewer than F followers can't reply to or DM you. F and D could have different values for same-sever vs. different-server accounts, and could be customized by each user. Obviously a dedicated harasser can get around this, but it ups the activation energy for block evasion and pile-ons a bit. Would be interesting to review moderation records to estimate how helpful this might or might not be. Could also have a setting to require "follows-from-my-server" although that might be too limiting on private servers. Restriction would be turned off for people you mention within that thread and could be set to unlimit anyone you've ever mentioned. Would this lock new users out of engagement entirely? If everyone had it on via a default, you'd have you post your own stuff until someone followed you (assuming F=1). One could add "R non-moderated replies" and/or "F favorites" options to soften things; those experiencing more harassment could set higher limits. When muting/blocking/reporting someone who replied to your post, protected mode could be suggested with settings that would have filtered the post you're reporting.

2. Enable some form of public moderation info to be displayed when both moderator and local server opt-in. Obviously each server would be able to ignore federated public tags. I'm imagining "banned from X server for R reason (optional link to evidence)" appearing on someone's profile & an icon on their PFP in each post viewed by someone on server Y *if* the mods of server X decide it's appropriate *and* server Y opts in to displaying such tags from server X specifically. Alliances of servers with similar moderation preferences could then have moderation action on one server result in clear warning propagation to others without the other mods needing to decide whether to also take action immediately. In some cases different moderation preferences would mean you wouldn't take action yourself but would keep the notice up for your users to consider. Obviously the "Scarlet Letter" vibe ain't great, but in some cases it's deserved, and when there's disagreement between servers about that, mods on server Y could either disable a specific tag or disable federation of mod tags from that server in general. Even better shared moderation tools are of course possible.

3. Different people/groups have different norms around boosting. Currently we only have a locked/public binary. Without any big protocol changes, adding a "prefers boosts/doesn't" setting which would warn in the UI before a viewer chooses to boost if the preference is "doesn't" could help. This could be set per-post, but could also have defaults and could have different values for same-server or not, or for particular servers. For example, I could say "default to prefer boosts from users on my server but not from users on other servers" or "default to prefer boosting on all servers except mastodon.social." Last option might be harder to implement I guess.

Tiota Sram's avatar
Tiota Sram

@tiotasram@kolektiva.social

In the interests of starting a more productive dialogue than yesterday's main character was interested in, let's make a thread about design changes to ActivityPub and/or client UI that could actually help address drive-by (often racist) harassment on the fediverse.

Feel free to discuss pros/cons but don't feel an idea needs to be perfect to suggest it. Also since this is a brainstorm don't worry about complexity/implementation cost. If you have a great-but-hard-to-implement idea someone else may think of a way to simplify it.

Note that the underlying problem *is* a social one, do there won't be a technological fix! But tech changes can make social remedies easier/harder.

I've got some to start:

1. Have a "protected mode" that users can voluntarily turn on. Some servers might turn it on by default. In protected mode, users whose accounts are less than D days old and/or who have fewer than F followers can't reply to or DM you. F and D could have different values for same-sever vs. different-server accounts, and could be customized by each user. Obviously a dedicated harasser can get around this, but it ups the activation energy for block evasion and pile-ons a bit. Would be interesting to review moderation records to estimate how helpful this might or might not be. Could also have a setting to require "follows-from-my-server" although that might be too limiting on private servers. Restriction would be turned off for people you mention within that thread and could be set to unlimit anyone you've ever mentioned. Would this lock new users out of engagement entirely? If everyone had it on via a default, you'd have you post your own stuff until someone followed you (assuming F=1). One could add "R non-moderated replies" and/or "F favorites" options to soften things; those experiencing more harassment could set higher limits. When muting/blocking/reporting someone who replied to your post, protected mode could be suggested with settings that would have filtered the post you're reporting.

2. Enable some form of public moderation info to be displayed when both moderator and local server opt-in. Obviously each server would be able to ignore federated public tags. I'm imagining "banned from X server for R reason (optional link to evidence)" appearing on someone's profile & an icon on their PFP in each post viewed by someone on server Y *if* the mods of server X decide it's appropriate *and* server Y opts in to displaying such tags from server X specifically. Alliances of servers with similar moderation preferences could then have moderation action on one server result in clear warning propagation to others without the other mods needing to decide whether to also take action immediately. In some cases different moderation preferences would mean you wouldn't take action yourself but would keep the notice up for your users to consider. Obviously the "Scarlet Letter" vibe ain't great, but in some cases it's deserved, and when there's disagreement between servers about that, mods on server Y could either disable a specific tag or disable federation of mod tags from that server in general. Even better shared moderation tools are of course possible.

3. Different people/groups have different norms around boosting. Currently we only have a locked/public binary. Without any big protocol changes, adding a "prefers boosts/doesn't" setting which would warn in the UI before a viewer chooses to boost if the preference is "doesn't" could help. This could be set per-post, but could also have defaults and could have different values for same-server or not, or for particular servers. For example, I could say "default to prefer boosts from users on my server but not from users on other servers" or "default to prefer boosting on all servers except mastodon.social." Last option might be harder to implement I guess.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Tiota Sram's post

@tiotasram interesting ideation topic.

Not sure if I have time to respond today, but just wanted to note that this aligns with the general interest and focus of Social experience design (SX) at coding.social which I elaborate on as a hobby, and perhaps one day my job.

The disadvantage of microblogging is how ephemeral it is, but the advantage is reach. Should you be interested you are welcome to share results on the social coding forum, which serves as a note-taking tool: discuss.coding.social

Also there's the fediverse-ideas repository on codeberg at: codeberg.org/fediverse/fediver

Tiota Sram's avatar
Tiota Sram

@tiotasram@kolektiva.social

In the interests of starting a more productive dialogue than yesterday's main character was interested in, let's make a thread about design changes to ActivityPub and/or client UI that could actually help address drive-by (often racist) harassment on the fediverse.

Feel free to discuss pros/cons but don't feel an idea needs to be perfect to suggest it. Also since this is a brainstorm don't worry about complexity/implementation cost. If you have a great-but-hard-to-implement idea someone else may think of a way to simplify it.

Note that the underlying problem *is* a social one, do there won't be a technological fix! But tech changes can make social remedies easier/harder.

I've got some to start:

1. Have a "protected mode" that users can voluntarily turn on. Some servers might turn it on by default. In protected mode, users whose accounts are less than D days old and/or who have fewer than F followers can't reply to or DM you. F and D could have different values for same-sever vs. different-server accounts, and could be customized by each user. Obviously a dedicated harasser can get around this, but it ups the activation energy for block evasion and pile-ons a bit. Would be interesting to review moderation records to estimate how helpful this might or might not be. Could also have a setting to require "follows-from-my-server" although that might be too limiting on private servers. Restriction would be turned off for people you mention within that thread and could be set to unlimit anyone you've ever mentioned. Would this lock new users out of engagement entirely? If everyone had it on via a default, you'd have you post your own stuff until someone followed you (assuming F=1). One could add "R non-moderated replies" and/or "F favorites" options to soften things; those experiencing more harassment could set higher limits. When muting/blocking/reporting someone who replied to your post, protected mode could be suggested with settings that would have filtered the post you're reporting.

2. Enable some form of public moderation info to be displayed when both moderator and local server opt-in. Obviously each server would be able to ignore federated public tags. I'm imagining "banned from X server for R reason (optional link to evidence)" appearing on someone's profile & an icon on their PFP in each post viewed by someone on server Y *if* the mods of server X decide it's appropriate *and* server Y opts in to displaying such tags from server X specifically. Alliances of servers with similar moderation preferences could then have moderation action on one server result in clear warning propagation to others without the other mods needing to decide whether to also take action immediately. In some cases different moderation preferences would mean you wouldn't take action yourself but would keep the notice up for your users to consider. Obviously the "Scarlet Letter" vibe ain't great, but in some cases it's deserved, and when there's disagreement between servers about that, mods on server Y could either disable a specific tag or disable federation of mod tags from that server in general. Even better shared moderation tools are of course possible.

3. Different people/groups have different norms around boosting. Currently we only have a locked/public binary. Without any big protocol changes, adding a "prefers boosts/doesn't" setting which would warn in the UI before a viewer chooses to boost if the preference is "doesn't" could help. This could be set per-post, but could also have defaults and could have different values for same-server or not, or for particular servers. For example, I could say "default to prefer boosts from users on my server but not from users on other servers" or "default to prefer boosting on all servers except mastodon.social." Last option might be harder to implement I guess.

matthew - retroedge.tech's avatar
matthew - retroedge.tech

@matthew@social.retroedge.tech · Reply to Scott Jenson's post

Are they leaving the #fediverse completely? Or just using other #ActivityPub servers?

I was on a #mastodon instance for a while, hosted by a tech Youtuber. When that instance shut down, I moved to another independently hosted mastodon instance, then decided to self-host a Pleroma (alternative to mastodon) server and have been on that ever since (a couple years).

#selfhost
matthew - retroedge.tech's avatar
matthew - retroedge.tech

@matthew@social.retroedge.tech · Reply to Scott Jenson's post

Are they leaving the #fediverse completely? Or just using other #ActivityPub servers?

I was on a #mastodon instance for a while, hosted by a tech Youtuber. When that instance shut down, I moved to another independently hosted mastodon instance, then decided to self-host a Pleroma (alternative to mastodon) server and have been on that ever since (a couple years).

#selfhost
omi's avatar
omi

@omi_geek@mstdn.jp

I’m building a new website partly as a photography project, and I’m planning to install the plugin so it can integrate with Fedivers

omi's avatar
omi

@omi_geek@mstdn.jp

I’m building a new website partly as a photography project, and I’m planning to install the plugin so it can integrate with Fedivers

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social

RE: mastodon.social/@bagder/116359

Could be potentially nice for fediverse server testing, as more implementations make the jump to final RFC 9421 HTTP signatures.

On the flip side, ever more complex curl invocations (here: Accept header plus signature fields plus key file, presumably) suggest use of more specialized CLI tools, such as provided by @fedify, or at least scripts/aliases.

Speaking of RFC 9421, which notable fediverse implementations can't handle it yet? Anyone keeping track?

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social

RE: mastodon.social/@bagder/116359

Could be potentially nice for fediverse server testing, as more implementations make the jump to final RFC 9421 HTTP signatures.

On the flip side, ever more complex curl invocations (here: Accept header plus signature fields plus key file, presumably) suggest use of more specialized CLI tools, such as provided by @fedify, or at least scripts/aliases.

Speaking of RFC 9421, which notable fediverse implementations can't handle it yet? Anyone keeping track?

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social

RE: mastodon.social/@bagder/116359

Could be potentially nice for fediverse server testing, as more implementations make the jump to final RFC 9421 HTTP signatures.

On the flip side, ever more complex curl invocations (here: Accept header plus signature fields plus key file, presumably) suggest use of more specialized CLI tools, such as provided by @fedify, or at least scripts/aliases.

Speaking of RFC 9421, which notable fediverse implementations can't handle it yet? Anyone keeping track?

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social

RE: mastodon.social/@bagder/116359

Could be potentially nice for fediverse server testing, as more implementations make the jump to final RFC 9421 HTTP signatures.

On the flip side, ever more complex curl invocations (here: Accept header plus signature fields plus key file, presumably) suggest use of more specialized CLI tools, such as provided by @fedify, or at least scripts/aliases.

Speaking of RFC 9421, which notable fediverse implementations can't handle it yet? Anyone keeping track?

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

Nils Müller's avatar
Nils Müller

@Weltenkreuzer@social.tchncs.de

Wie bringe ich das -Plugin von eigentlich dazu, den Volltext zu föderieren und nicht nur Titel mit Link?

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Aslak Raanes's post

@aslakr @leanderlindahl

🤔 Off-topic reformulation of the procedure in general terms.. In areas where PeerTube isn't post-facto interop leader itself, it should hope a reasonably broadly adopted consensus exists, or follow the post-facto leader in that particular application area and accept the upstream dependency to that part of the specs the leader owns (and hopefully cares for, beyond their own needs, with good design and documentation).

Leander Lindahl 🇪🇺's avatar
Leander Lindahl 🇪🇺

@leanderlindahl@social.folkdata.se

Why don't PeerTube tags show up on Mastodon? And why can't you quote the automated mastodon posts from PeerTube, because that would have been a way to add tags and context to the videos so people who follow a tag (topic) finds them.

And why do you have to click twice on a link to PeerTube? First you open a "faux" Mastodon post of the clip and then the actual URL (the server page with the clip).

And why doesn't the clip embed for viewing right here in Mastodon?

Leander Lindahl 🇪🇺's avatar
Leander Lindahl 🇪🇺

@leanderlindahl@social.folkdata.se

Why don't PeerTube tags show up on Mastodon? And why can't you quote the automated mastodon posts from PeerTube, because that would have been a way to add tags and context to the videos so people who follow a tag (topic) finds them.

And why do you have to click twice on a link to PeerTube? First you open a "faux" Mastodon post of the clip and then the actual URL (the server page with the clip).

And why doesn't the clip embed for viewing right here in Mastodon?

Leander Lindahl 🇪🇺's avatar
Leander Lindahl 🇪🇺

@leanderlindahl@social.folkdata.se

Why don't PeerTube tags show up on Mastodon? And why can't you quote the automated mastodon posts from PeerTube, because that would have been a way to add tags and context to the videos so people who follow a tag (topic) finds them.

And why do you have to click twice on a link to PeerTube? First you open a "faux" Mastodon post of the clip and then the actual URL (the server page with the clip).

And why doesn't the clip embed for viewing right here in Mastodon?

spaceotter :mastodon: 🏳️‍🌈's avatar
spaceotter :mastodon: 🏳️‍🌈

@spaceotter@mastodon.online · Reply to Tuta's post

@Tutanota @Mastodon @ecosia @nextcloud
@pixelfed
@loops

and here's my remix:

Social media alternatives:

Instagram  → Pixelfed
X → Mastodon
YouTube → PeerTube
Tiktok → Loops
ALT text detailsSocial media alternatives: Instagram → Pixelfed X → Mastodon YouTube → PeerTube Tiktok → Loops
spaceotter :mastodon: 🏳️‍🌈's avatar
spaceotter :mastodon: 🏳️‍🌈

@spaceotter@mastodon.online · Reply to Tuta's post

@Tutanota @Mastodon @ecosia @nextcloud
@pixelfed
@loops

and here's my remix:

Social media alternatives:

Instagram  → Pixelfed
X → Mastodon
YouTube → PeerTube
Tiktok → Loops
ALT text detailsSocial media alternatives: Instagram → Pixelfed X → Mastodon YouTube → PeerTube Tiktok → Loops
Jon Henshaw's avatar
Jon Henshaw

@jon@henshaw.social

When I interviewed @Gargron he said that education was key to @Mastodon and the fediverse growing. That, along with the algorithm-free approach of most ActivityPub-supporting platforms, inspired me to create algo.free

It covers the benefits of going algo-free, provides ActivityPub-powered alternatives to centralized, algo-driven platforms, and offers tips for getting started.

spaceotter :mastodon: 🏳️‍🌈's avatar
spaceotter :mastodon: 🏳️‍🌈

@spaceotter@mastodon.online · Reply to Tuta's post

@Tutanota @Mastodon @ecosia @nextcloud
@pixelfed
@loops

and here's my remix:

Social media alternatives:

Instagram  → Pixelfed
X → Mastodon
YouTube → PeerTube
Tiktok → Loops
ALT text detailsSocial media alternatives: Instagram → Pixelfed X → Mastodon YouTube → PeerTube Tiktok → Loops
Jon Henshaw's avatar
Jon Henshaw

@jon@henshaw.social

When I interviewed @Gargron he said that education was key to @Mastodon and the fediverse growing. That, along with the algorithm-free approach of most ActivityPub-supporting platforms, inspired me to create algo.free

It covers the benefits of going algo-free, provides ActivityPub-powered alternatives to centralized, algo-driven platforms, and offers tips for getting started.

fediprofile's avatar
fediprofile

@fediprofile@social.vocalcat.com

As always, we are looking for people to help test, this time single-user instance self-hosting. If you are interested in a activitypub-enabled self-host linktree alternative check https://github.com/tryvocalcat/fediprofile now with SingleUser mode enabled!

#fediverse #activitypub

prealpinux :debian:'s avatar
prealpinux :debian:

@prealpinux@mastodon.uno

C’è una sorpresa per voi nell’uovo di Pasqua! 🐣

Per tutti coloro che vogliono capire come funziona il fediverso grazie al protocollo ActivityPub ed iniziare a muovere i primi passi nei social network decentralizzati:

activitypub.it

@fediverso

lovingisliving's avatar
lovingisliving

@lovingisliving@indieweb.social

I've been working on a highly customizable multiplatform fediverse client, similar to bridging technologies that exist currently but a bit more seamless and robust, and focused on the indieweb vibe and personal customization overall. Excited to get it out there for testing, but I am really enjoying what I have so far.

GENKI's avatar
GENKI

@nibushibu@vivaldi.net · Reply to GENKI's post

まだ になる前、イーロン・マスクが買収とほぼ同時に

:suspiciousFry: < ここ :vivaldi_blue: を含めた :mastodon: のサーバーのドメインを「有害サイト」として投稿できなくしたり
:suspiciousFry: < :mastodon: とか代替 SNS を匂わすアカウントをいきなり凍結したり(自分は当時それは免れたけど周りに何人かそういう人がいて自分も覚悟してはいた)
:suspiciousFry: < サードパーティー開発者を API からいきなり BAN

などなど、"やりはじめた" 3年くらい?前から自分は「こりゃあかんな」と思って、同時期に立ち上げられたここ :vivaldi_blue: に軸足を移した(その後 に命名変更される直前にアカウント消した)わけだけど、

今となっては当時の Twitter でフォローさせてもらってたのと同じくらいのアカウントをここからフォローしてて、仕組み上グローバルな串刺し検索ができない :fediverse: でも、自分がウォッチしたい情報は自然と(文字通り人づてに)流れてくるようになったし、

Threads の :fediverse: 対応(ちょっと中途半端なままではあるにせよ)とか、Bluesky からブリッジを通して :fediverse: に流れてくる投稿とか、 :activitypub: の恩恵で適度に外部の情報も自分のタイムラインに流せるようになってきて、Twitter 時代に自分が意識的にフォローしてた人々の投稿も徐々にここから見えるようになってきたし、

さらに :mastodon: はクライアントもたくさん選択肢があって楽しい( は既存のソーシャルメディアの UI のなかでもトップレベルに気に入っている)し、

つまり、いまから "移住先" を探すみなさんにも伝わったらいいなあと思うことは(決してマウントを取りたいわけではなく、シンプルに「オススメしたい」という気持ちで)

:apartyblobcat: < :mastodon: でも :misskey: でもそれ以外のなにか(技術があるならお一人様サーバーとか)でもいいから :fediverse: なアカウントを持っておいたらいいと思う👍
:apartyblobcat: < 時系列タイムラインでもリストとかちゃんと活用すれば、十分タイムラインは追っていける👍
:apartyblobcat: <(インフルエンサーが攻略するべき対象としての)アルゴリズムとか、その指標としてのインプレッションみたいな力学が働いていない場所は、やっぱ比較的平和っすよ👍(加えてブロックとかミュートもちゃんとできるし🛡️

ってことかなあ :tony_wee:

Domingos Faria's avatar
Domingos Faria

@df@s.dfaria.eu

Do you have a basic shared hosting plan? You can now host a instance on that plan. Check out : https://github.com/dfaria-eu/Starling

PepeCyBs Welt's avatar
PepeCyBs Welt

@pcw@hub.hubzilla.hu

#^Der Pepe probiert wieder mal was: snac2

snac2-title.png

Ich habe mich entschlossen, den Hoster zu wechseln. Nicht, weil ich mit dem alten nicht grundsätzlich zufrieden war (immerhin habe ich acht Jahre meine Projekte dort betrieben), sondern weil ich das Gefühl hatte, dass er aus bestimmten Gründen den Service bald aufgeben würde. Und tatsächlich erhielt ich vor ein paar Tagen die Mitteilung, dass er den Dienst an einen anderen Hoster verkaufen musste.

Der neue Server läuft auch schon. YunoHost ist drauf... und erstmal nur phpMyAdmin, Webmin und snac2.

Vom Fediverse-Dienst snac bzw. snac2 hatte ich hier und da mal was aufgeschnappt, ich habe ihn mir aber nie genauer angeschaut. Bis vorgestern!

Und seit dem läuft auch meine snac2-Instanz...


..:: Weiterlesen ::..

#fediverse #snac2 #yunohost #activitypub
snac2-title.png
ALT text detailssnac2-title.png
fediprofile's avatar
fediprofile

@fediprofile@social.vocalcat.com

As always, we are looking for people to help test, this time single-user instance self-hosting. If you are interested in a activitypub-enabled self-host linktree alternative check https://github.com/tryvocalcat/fediprofile now with SingleUser mode enabled!

#fediverse #activitypub

fediprofile's avatar
fediprofile

@fediprofile@social.vocalcat.com

As always, we are looking for people to help test, this time single-user instance self-hosting. If you are interested in a activitypub-enabled self-host linktree alternative check https://github.com/tryvocalcat/fediprofile now with SingleUser mode enabled!

#fediverse #activitypub

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

ActivityPub outboxes are the new RSS / Atom / WebFeed.

You can just read from them to get a JSON feed of someone's posts.

I.e., you do NOT have to implement the full suite of Fediverse protocols, or Follow, or run your own server, or anything else to get someone's posts on the Fediverse — just read from their outbox.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

James Wynn 🧐's avatar
James Wynn 🧐

@james@social.wynning.tech

Does anyone have a good #ActivityPub integration for #Hugo? I'd like a link to posts to be published and then show comments on the blog. I've seen a few people get it to work.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

Stefan Bohacek's avatar
Stefan Bohacek

@stefan@stefanbohacek.online

Meeting minutes from the last Social Web Working Group call, which covered topics like discovery, groups, trust and safety, and more.

github.com/w3c/socialwg/blob/m

Reminder that the fediverse is a "group project" and really does take a village.

Care to join in and help?

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

developers: which of these HTTP caching headers does your software publish or consume?

OptionVoters
Last-Modified5 (29%)
ETag6 (35%)
If-Modified-Since3 (18%)
If-None-Match3 (18%)
Stefan Bohacek's avatar
Stefan Bohacek

@stefan@stefanbohacek.online

Meeting minutes from the last Social Web Working Group call, which covered topics like discovery, groups, trust and safety, and more.

github.com/w3c/socialwg/blob/m

Reminder that the fediverse is a "group project" and really does take a village.

Care to join in and help?

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

HeathenStorm's avatar
HeathenStorm

@heathenstorm@mastodon.social

Tweaked my config to use only the Blog actor, instead of both Blog and Author. Now, the Blog actor federates posts directly, rather than boosting posts from each Author.

Has anyone else tried this? Did it cause any issues interacting with boosted Author posts that were previously federated?

Would I need to “repost” all previously federated content for it to appear under the Blog Actor?

Nicholas A. Ferrell's avatar
Nicholas A. Ferrell

@naferrell@social.emucafe.org

Yesterday I shared Discover more of the Fediverse with tags.pub in my Pook-Emu Bee links for the day. The post introduces a new feature for the ActivityPub for WordPress plugin: Subscribing a site to the tags.pub relay for hashtag boosting. It provides the following instructions for self-hosted WordPress sites such as this one: For self-hosted WordPress sites, head to Settings → ActivityPub → Settings and scroll to the Relay section. Add one of these URLs: Inbox: […]

Yesterday I shared Discover more of the Fediverse with tags.pub in my Pook-Emu Bee links for the day. The post introduces a new feature for the ActivityPub for WordPress plugin: Subscribing a site to the tags.pub relay for hashtag boosting. It provides the following instructions for self-hosted WordPress sites such as this one:

For self-hosted WordPress sites, head to Settings → ActivityPub → Settings and scroll to the Relay section. Add one of these URLs:

The instructions offer two URLs and say “[a]dd one.” I added the second because it is more aesthetic. But I did wonder what the difference was between the two URLs. So too did commenter bocops:

Could you explain the difference between the “Inbox” and the “Shared Inbox” relay URLs?

Post author and ActivityPub for WordPress developer Matthias Pfefferle answered the question:

from a user perspective there is none. you can use either one of them!

While the instructions do say “[a]dd one of these URLs” and I interpreted the instructions correctly in the first instance, I will offer my two-cent take that it does raise a question why there are two URLs and how they may differ. I dealt (and will deal again) with this issue regarding site feeds. On NLJ, I make a point of promoting various feed formats, namely RSS, ATOM, RDF, and JSON. However, I am sensitive to the fact that many readers may not be familiar with feeds, much less different formats. Thus, I explain that RSS (our default) and ATOM should work in all feed readers, so most people should use one of those formats (usually RSS since that is the WordPress default at /feed/) unless they have a specific reason to use JSON (which I use to subscribe to NLJ in Miniflux) or RDF (that seems less likely but maybe there are some RDF fans out there). Regarding the tags.pub  post, I would recommend offering one link as a sort of “default” while adding a note (or footnote) on the distinction (if any) for people who may be interested.

All that aside, tags.pub works for me and is a very nice feature for WordPress sites (both .com and .org) taking advantage of new Fediverse features. I tip my hat to Mr. Pfefferle and everyone who is working on it.

hamish campbell's avatar
hamish campbell

@hamishcampbell@mastodon.social · Reply to Elena Rossini ⁂'s post

@_elena @evan @Sascha

It’s not about features. It’s about culture.

comes out of the tradition.

comes out of a split lineage - roots, shaped by incentives, with an upbringing.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-04-03

Servers

- TinyAP v0.1.7
- Iceshrimp v2026.4.1
- Gush! v0.0.34
- Ktistec v3.3.5
- Socialhome v0.23.0
- PeerTube v8.1.4
- Misskey v2026.3.2
- NeoDB v0.13.0
- PieFed v1.6.14
- Wafrn v2026.03.03

Clients

- nicolium v0.1.2
- Voyager v2.45.1
- Blorp v1.12.0
- Mitra Mini: A headless ActivityPub client that implements FEP-ae97 specification

Tools and Plugins

- Friends v4.0 (WordPress plugin)

For developers

- BotKit v0.4.0

Protocol

- FEP-1a11: Send Announces Containing Many Activities

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d30f2-2656-7043-04d6-328ad9750e23

James Wynn 🧐's avatar
James Wynn 🧐

@james@social.wynning.tech

Does anyone have a good #ActivityPub integration for #Hugo? I'd like a link to posts to be published and then show comments on the blog. I've seen a few people get it to work.

Nicholas A. Ferrell's avatar
Nicholas A. Ferrell

@naferrell@social.emucafe.org

Yesterday I shared Discover more of the Fediverse with tags.pub in my Pook-Emu Bee links for the day. The post introduces a new feature for the ActivityPub for WordPress plugin: Subscribing a site to the tags.pub relay for hashtag boosting. It provides the following instructions for self-hosted WordPress sites such as this one: For self-hosted WordPress sites, head to Settings → ActivityPub → Settings and scroll to the Relay section. Add one of these URLs: Inbox: […]

Yesterday I shared Discover more of the Fediverse with tags.pub in my Pook-Emu Bee links for the day. The post introduces a new feature for the ActivityPub for WordPress plugin: Subscribing a site to the tags.pub relay for hashtag boosting. It provides the following instructions for self-hosted WordPress sites such as this one:

For self-hosted WordPress sites, head to Settings → ActivityPub → Settings and scroll to the Relay section. Add one of these URLs:

The instructions offer two URLs and say “[a]dd one.” I added the second because it is more aesthetic. But I did wonder what the difference was between the two URLs. So too did commenter bocops:

Could you explain the difference between the “Inbox” and the “Shared Inbox” relay URLs?

Post author and ActivityPub for WordPress developer Matthias Pfefferle answered the question:

from a user perspective there is none. you can use either one of them!

While the instructions do say “[a]dd one of these URLs” and I interpreted the instructions correctly in the first instance, I will offer my two-cent take that it does raise a question why there are two URLs and how they may differ. I dealt (and will deal again) with this issue regarding site feeds. On NLJ, I make a point of promoting various feed formats, namely RSS, ATOM, RDF, and JSON. However, I am sensitive to the fact that many readers may not be familiar with feeds, much less different formats. Thus, I explain that RSS (our default) and ATOM should work in all feed readers, so most people should use one of those formats (usually RSS since that is the WordPress default at /feed/) unless they have a specific reason to use JSON (which I use to subscribe to NLJ in Miniflux) or RDF (that seems less likely but maybe there are some RDF fans out there). Regarding the tags.pub  post, I would recommend offering one link as a sort of “default” while adding a note (or footnote) on the distinction (if any) for people who may be interested.

All that aside, tags.pub works for me and is a very nice feature for WordPress sites (both .com and .org) taking advantage of new Fediverse features. I tip my hat to Mr. Pfefferle and everyone who is working on it.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-04-03

Servers

- TinyAP v0.1.7
- Iceshrimp v2026.4.1
- Gush! v0.0.34
- Ktistec v3.3.5
- Socialhome v0.23.0
- PeerTube v8.1.4
- Misskey v2026.3.2
- NeoDB v0.13.0
- PieFed v1.6.14
- Wafrn v2026.03.03

Clients

- nicolium v0.1.2
- Voyager v2.45.1
- Blorp v1.12.0
- Mitra Mini: A headless ActivityPub client that implements FEP-ae97 specification

Tools and Plugins

- Friends v4.0 (WordPress plugin)

For developers

- BotKit v0.4.0

Protocol

- FEP-1a11: Send Announces Containing Many Activities

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d30f2-2656-7043-04d6-328ad9750e23

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-04-03

Servers

- TinyAP v0.1.7
- Iceshrimp v2026.4.1
- Gush! v0.0.34
- Ktistec v3.3.5
- Socialhome v0.23.0
- PeerTube v8.1.4
- Misskey v2026.3.2
- NeoDB v0.13.0
- PieFed v1.6.14
- Wafrn v2026.03.03

Clients

- nicolium v0.1.2
- Voyager v2.45.1
- Blorp v1.12.0
- Mitra Mini: A headless ActivityPub client that implements FEP-ae97 specification

Tools and Plugins

- Friends v4.0 (WordPress plugin)

For developers

- BotKit v0.4.0

Protocol

- FEP-1a11: Send Announces Containing Many Activities

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d30f2-2656-7043-04d6-328ad9750e23

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-04-03

Servers

- TinyAP v0.1.7
- Iceshrimp v2026.4.1
- Gush! v0.0.34
- Ktistec v3.3.5
- Socialhome v0.23.0
- PeerTube v8.1.4
- Misskey v2026.3.2
- NeoDB v0.13.0
- PieFed v1.6.14
- Wafrn v2026.03.03

Clients

- nicolium v0.1.2
- Voyager v2.45.1
- Blorp v1.12.0
- Mitra Mini: A headless ActivityPub client that implements FEP-ae97 specification

Tools and Plugins

- Friends v4.0 (WordPress plugin)

For developers

- BotKit v0.4.0

Protocol

- FEP-1a11: Send Announces Containing Many Activities

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d30f2-2656-7043-04d6-328ad9750e23

Domingos Faria's avatar
Domingos Faria

@df@s.dfaria.eu

Do you have a basic shared hosting plan? You can now host a instance on that plan. Check out : https://github.com/dfaria-eu/Starling

Domingos Faria's avatar
Domingos Faria

@df@s.dfaria.eu

Do you have a basic shared hosting plan? You can now host a instance on that plan. Check out : https://github.com/dfaria-eu/Starling

Stefan Bohacek's avatar
Stefan Bohacek

@stefan@stefanbohacek.online

Meeting minutes from the last Social Web Working Group call, which covered topics like discovery, groups, trust and safety, and more.

github.com/w3c/socialwg/blob/m

Reminder that the fediverse is a "group project" and really does take a village.

Care to join in and help?

GENKI's avatar
GENKI

@nibushibu@vivaldi.net

RE: activitypub.blog/2026/04/02/di

:activitypub: :fediverse: でも、よりグローバルにハッシュタグをフォローできるサービスが爆誕していた。
能動的に興味のある話題を探しに行く時に重宝しそう :tony_happy:

ActivityPub for WordPress's avatar
ActivityPub for WordPress

@activitypub.blog@activitypub.blog

Hashtag discovery in the Fediverse is limited by which servers yours knows about. tags.pub, a global hashtag server by the Social Web Foundation, fills that gap. It collects public posts and redistributes them by hashtag, so your content reaches people across the network. It works out of the box on WordPress.com. Self-hosted sites can connect by adding a relay in the ActivityPub settings. The project is open source, privacy-conscious, and respects opt-outs.

One of the best things about the Fediverse is that conversations happen everywhere, across Mastodon, WordPress, Pixelfed, and dozens of other platforms. One of the trickiest things about the Fediverse is finding those conversations in the first place.

Wapuu in a space suit floats through a colorful nebula, reaching out to catch glowing hashtag symbols drifting like stars across a wide cosmic background.

Hashtags have always been the Fediverse’s answer to discovery. But because the network is decentralized, the posts you see for any given hashtag depend on which servers yours already knows about. If nobody on your server follows someone who posted about #WordPressFederation, you’ll never see that post, even though it’s public and out there.

tags.pub changes that.

What Is tags.pub?

tags.pub is a global hashtag server built by the Social Web Foundation, a nonprofit dedicated to growing the open social web, and an organization Automattic is proud to partner with.

The idea is simple: tags.pub collects publicly posted content from across the Fediverse and redistributes it based on hashtags. When you follow a hashtag account like @photography@tags.pub, you’ll see posts tagged #photography from servers your instance might never have heard of. It fills in the gaps that decentralization naturally creates.

The project is open source (AGPL-3.0), privacy-conscious, it doesn’t store post content, images, or media, and respects user controls like #NoTagsPub and #NoBots opt-outs.

How It Works on WordPress.com

If you’re running a WordPress.com site with the ActivityPub plugin, there’s nothing to configure. tags.pub already works out of the box. Your public posts and their hashtags are discoverable across the Fediverse through tags.pub, and you can follow hashtag accounts from your Following page.

Connecting a Self-Hosted WordPress Site

For self-hosted WordPress sites, head to Settings → ActivityPub → Settings and scroll to the Relay section. Add one of these URLs:

  • Inbox: https://tags.pub/user/_____relay_____/inbox
  • Shared Inbox: https://tags.pub/shared/inbox
A screenshot of the Relay-Settings of the ActivityPub plugin.

This creates a one-way connection where your server sends public posts to tags.pub for hashtag distribution, and your posts become part of the global hashtag network.

Following Hashtags

Once connected, you can also follow specific hashtags by searching for them as accounts. For example, to follow #WordPress posts from across the entire Fediverse, follow:

@wordpress@tags.pub

Any publicly tagged post that reaches tags.pub will be boosted by that account into your timeline. When posts are edited or deleted, tags.pub updates accordingly.

Privacy and Control

tags.pub is designed with user agency in mind:

  • Opt out anytime by adding #NoTagsPub or #NoBots to your bio, your posts won’t be boosted.
  • Block the domain entirely if you prefer not to interact with the service at all.
  • No content storage, tags.pub doesn’t archive your posts, images, or media. It only maintains boost records.
  • Respects blocks, if someone blocks tags.pub, their content stays out.

A Step Toward Better Discovery

Discoverability is one of the areas we’ve identified on our 2026 roadmap as a key challenge, and services like tags.pub are exactly the kind of infrastructure that helps solve it. By connecting WordPress sites to a global hashtag network, your posts can reach people who care about the same topics, even if they’ve never heard of your blog before.

If you’re already using ActivityPub for WordPress, connecting to tags.pub takes less than a minute. Give it a try and let us know how it works for you. Have you noticed more engagement from the wider Fediverse? We’d love to hear about your experience.

Wapuu in a space suit floats through a colorful nebula, reaching out to catch glowing hashtag symbols drifting like stars across a wide cosmic background.
ALT text detailsWapuu in a space suit floats through a colorful nebula, reaching out to catch glowing hashtag symbols drifting like stars across a wide cosmic background.
A screenshot of the Relay-Settings of the ActivityPub plugin.
ALT text detailsA screenshot of the Relay-Settings of the ActivityPub plugin.
GENKI's avatar
GENKI

@nibushibu@vivaldi.net

RE: activitypub.blog/2026/04/02/di

:activitypub: :fediverse: でも、よりグローバルにハッシュタグをフォローできるサービスが爆誕していた。
能動的に興味のある話題を探しに行く時に重宝しそう :tony_happy:

ActivityPub for WordPress's avatar
ActivityPub for WordPress

@activitypub.blog@activitypub.blog

Hashtag discovery in the Fediverse is limited by which servers yours knows about. tags.pub, a global hashtag server by the Social Web Foundation, fills that gap. It collects public posts and redistributes them by hashtag, so your content reaches people across the network. It works out of the box on WordPress.com. Self-hosted sites can connect by adding a relay in the ActivityPub settings. The project is open source, privacy-conscious, and respects opt-outs.

One of the best things about the Fediverse is that conversations happen everywhere, across Mastodon, WordPress, Pixelfed, and dozens of other platforms. One of the trickiest things about the Fediverse is finding those conversations in the first place.

Wapuu in a space suit floats through a colorful nebula, reaching out to catch glowing hashtag symbols drifting like stars across a wide cosmic background.

Hashtags have always been the Fediverse’s answer to discovery. But because the network is decentralized, the posts you see for any given hashtag depend on which servers yours already knows about. If nobody on your server follows someone who posted about #WordPressFederation, you’ll never see that post, even though it’s public and out there.

tags.pub changes that.

What Is tags.pub?

tags.pub is a global hashtag server built by the Social Web Foundation, a nonprofit dedicated to growing the open social web, and an organization Automattic is proud to partner with.

The idea is simple: tags.pub collects publicly posted content from across the Fediverse and redistributes it based on hashtags. When you follow a hashtag account like @photography@tags.pub, you’ll see posts tagged #photography from servers your instance might never have heard of. It fills in the gaps that decentralization naturally creates.

The project is open source (AGPL-3.0), privacy-conscious, it doesn’t store post content, images, or media, and respects user controls like #NoTagsPub and #NoBots opt-outs.

How It Works on WordPress.com

If you’re running a WordPress.com site with the ActivityPub plugin, there’s nothing to configure. tags.pub already works out of the box. Your public posts and their hashtags are discoverable across the Fediverse through tags.pub, and you can follow hashtag accounts from your Following page.

Connecting a Self-Hosted WordPress Site

For self-hosted WordPress sites, head to Settings → ActivityPub → Settings and scroll to the Relay section. Add one of these URLs:

  • Inbox: https://tags.pub/user/_____relay_____/inbox
  • Shared Inbox: https://tags.pub/shared/inbox
A screenshot of the Relay-Settings of the ActivityPub plugin.

This creates a one-way connection where your server sends public posts to tags.pub for hashtag distribution, and your posts become part of the global hashtag network.

Following Hashtags

Once connected, you can also follow specific hashtags by searching for them as accounts. For example, to follow #WordPress posts from across the entire Fediverse, follow:

@wordpress@tags.pub

Any publicly tagged post that reaches tags.pub will be boosted by that account into your timeline. When posts are edited or deleted, tags.pub updates accordingly.

Privacy and Control

tags.pub is designed with user agency in mind:

  • Opt out anytime by adding #NoTagsPub or #NoBots to your bio, your posts won’t be boosted.
  • Block the domain entirely if you prefer not to interact with the service at all.
  • No content storage, tags.pub doesn’t archive your posts, images, or media. It only maintains boost records.
  • Respects blocks, if someone blocks tags.pub, their content stays out.

A Step Toward Better Discovery

Discoverability is one of the areas we’ve identified on our 2026 roadmap as a key challenge, and services like tags.pub are exactly the kind of infrastructure that helps solve it. By connecting WordPress sites to a global hashtag network, your posts can reach people who care about the same topics, even if they’ve never heard of your blog before.

If you’re already using ActivityPub for WordPress, connecting to tags.pub takes less than a minute. Give it a try and let us know how it works for you. Have you noticed more engagement from the wider Fediverse? We’d love to hear about your experience.

Wapuu in a space suit floats through a colorful nebula, reaching out to catch glowing hashtag symbols drifting like stars across a wide cosmic background.
ALT text detailsWapuu in a space suit floats through a colorful nebula, reaching out to catch glowing hashtag symbols drifting like stars across a wide cosmic background.
A screenshot of the Relay-Settings of the ActivityPub plugin.
ALT text detailsA screenshot of the Relay-Settings of the ActivityPub plugin.
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

developers: which of these HTTP caching headers does your software publish or consume?

OptionVoters
Last-Modified5 (29%)
ETag6 (35%)
If-Modified-Since3 (18%)
If-None-Match3 (18%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

Tueddelmors :ubuntu:'s avatar
Tueddelmors :ubuntu:

@reeeen@norden.social

Kleines Fediverse-Phänomen: Ich poste auf Mastodon, mein Tröt landet auf Pixelfed, jemand auf Misskey boosted ihn, eine PeerTube-Instanz verlinkt ihn in der Beschreibung – und das alles ohne dass ein Algorithmus entschieden hat, ob ich "relevant genug" bin.

Das ist nicht Magie. Das ist einfach wie das Internet eigentlich gedacht war. 🕸️

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»Flipboard’s new ‘social websites’ help publishers and creators tap into the open social web« techcrunch.com/2026/04/02/flip

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»Flipboard’s new ‘social websites’ help publishers and creators tap into the open social web« techcrunch.com/2026/04/02/flip

Surf's avatar
Surf

@surf@flipboard.social

🌊 🌊 🌊

Version 1.0.383 of Surf is now live on TestFlight and Android! Create feeds faster with the new quick feed builder! We’ll serve up recommendations for whatever you’re into. Tap Discover Feeds in your sidebar and look for the new module below Trending.

Two screenshots of the Surf app, one showing the Discover page with "Tech news" in the search bar, and the other showing the results of that search for Tech news.
ALT text detailsTwo screenshots of the Surf app, one showing the Discover page with "Tech news" in the search bar, and the other showing the results of that search for Tech news.
Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

André Menrath's avatar
André Menrath

@linos@graz.social

Dear users, I want to hear your opinion!

I'm currently finishing my work on the Polls For plugin.

I decided to use a custom post type for polls. However, many people mentioned that they would like to also add polls to normal posts.

My first question is: what is the best workflow/UI for the block-editor when adding a new poll block to a normal post?

I started with an empty state: "Create new Poll, Embed existing poll". Here I was wondering, whether I should directly enforce the user to create a poll which is stored as a draft when choosing "Create new poll", or keeping all data local to the post until the post is saved/published.

And should I allow the user to edit an embedded poll inline? Or should I just link to the edit link of the poll directly, once it's created? And how many warnings about such relationships do users expect? When deleting a poll that might be embedded. Isn't it similar to media? What are your wishes?!

codeberg.org/linos/wordpress-p

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Elena Rossini ⁂'s post

@_elena thank you for sharing the article.

The same considerations should be honestly made for the fediverse as well. So we may address them in time. Not all is well. I am writing a blog post on open standards divergence and increasing unattractiveness of an ecosystem that hems itself into a straitjacket of narrow application areas, by the protocol decay we allow to fester. Combined with inadequate work methods to reconcile the tech debt that this incurs. We must go "back to standards" or have an ecosystem based on enabling technologies that are increasingly unattractive to adopt.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

I think if there's one thing I'd say to developers, it's this: it seems like it's going to be easier to just parse Activity Streams 2.0 data as plain JSON, but it's not. You have to keep track of too many variations. Use a JSON-LD library instead. For JavaScript, try activitystrea.ms:

github.com/jasnell/activitystr

Jessie Heald's avatar
Jessie Heald

@JessieHealdUK@defcon.social · Reply to Elena Rossini ⁂'s post

@_elena This is why I'll _almost_ never understand the excitement around the . It's designed with FOSS aesthetics and private interest profiteering in mind.

Not to say that doesn't have some pretty big problems, it does. Ones that does a much better job with. But with ActivityPub? It's not designed or built around a private platform first. It was built to be an open ecosystem from its inception.

Bluesky was built to be open as a side quest, not a driving mission.

André Menrath's avatar
André Menrath

@linos@graz.social

Dear users, I want to hear your opinion!

I'm currently finishing my work on the Polls For plugin.

I decided to use a custom post type for polls. However, many people mentioned that they would like to also add polls to normal posts.

My first question is: what is the best workflow/UI for the block-editor when adding a new poll block to a normal post?

I started with an empty state: "Create new Poll, Embed existing poll". Here I was wondering, whether I should directly enforce the user to create a poll which is stored as a draft when choosing "Create new poll", or keeping all data local to the post until the post is saved/published.

And should I allow the user to edit an embedded poll inline? Or should I just link to the edit link of the poll directly, once it's created? And how many warnings about such relationships do users expect? When deleting a poll that might be embedded. Isn't it similar to media? What are your wishes?!

codeberg.org/linos/wordpress-p

André Menrath's avatar
André Menrath

@linos@graz.social

Dear users, I want to hear your opinion!

I'm currently finishing my work on the Polls For plugin.

I decided to use a custom post type for polls. However, many people mentioned that they would like to also add polls to normal posts.

My first question is: what is the best workflow/UI for the block-editor when adding a new poll block to a normal post?

I started with an empty state: "Create new Poll, Embed existing poll". Here I was wondering, whether I should directly enforce the user to create a poll which is stored as a draft when choosing "Create new poll", or keeping all data local to the post until the post is saved/published.

And should I allow the user to edit an embedded poll inline? Or should I just link to the edit link of the poll directly, once it's created? And how many warnings about such relationships do users expect? When deleting a poll that might be embedded. Isn't it similar to media? What are your wishes?!

codeberg.org/linos/wordpress-p

Elena Rossini ⁂'s avatar
Elena Rossini ⁂

@_elena@mastodon.social

RE: mas.to/@Aubreader/116330793703

This article is a must read.

An excerpt: “Why would anyone fund an Atmosphere project if , with $100 million in the bank, might ship a competing feature at any moment? Why would a founder bet their career on this ecosystem? The presentation didn't just hurt Graze. It made the entire ecosystem look unfundable.”

Why do I keep bringing up this topic?

Because is often put in the same category as (“open protocols yay”) but I strongly disagree with that stance

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Elena Rossini ⁂'s post

@_elena thank you for sharing the article.

The same considerations should be honestly made for the fediverse as well. So we may address them in time. Not all is well. I am writing a blog post on open standards divergence and increasing unattractiveness of an ecosystem that hems itself into a straitjacket of narrow application areas, by the protocol decay we allow to fester. Combined with inadequate work methods to reconcile the tech debt that this incurs. We must go "back to standards" or have an ecosystem based on enabling technologies that are increasingly unattractive to adopt.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

Elena Rossini ⁂'s avatar
Elena Rossini ⁂

@_elena@mastodon.social

RE: mas.to/@Aubreader/116330793703

This article is a must read.

An excerpt: “Why would anyone fund an Atmosphere project if , with $100 million in the bank, might ship a competing feature at any moment? Why would a founder bet their career on this ecosystem? The presentation didn't just hurt Graze. It made the entire ecosystem look unfundable.”

Why do I keep bringing up this topic?

Because is often put in the same category as (“open protocols yay”) but I strongly disagree with that stance

Elena Rossini ⁂'s avatar
Elena Rossini ⁂

@_elena@mastodon.social

RE: mas.to/@Aubreader/116330793703

This article is a must read.

An excerpt: “Why would anyone fund an Atmosphere project if , with $100 million in the bank, might ship a competing feature at any moment? Why would a founder bet their career on this ecosystem? The presentation didn't just hurt Graze. It made the entire ecosystem look unfundable.”

Why do I keep bringing up this topic?

Because is often put in the same category as (“open protocols yay”) but I strongly disagree with that stance

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

panos's avatar
panos

@panos@catodon.rocks

One last change before the RC for 26.4.0: Catodon now handles ActivityPub Articles and Pages properly, rendering html and all, instead of turning them all into Notes and showing them as a CW with the summary as comment, which tbf was pretty ugly. I will gradually make more adjustments so that we are better aligned with ActivityPub.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

I think if there's one thing I'd say to developers, it's this: it seems like it's going to be easier to just parse Activity Streams 2.0 data as plain JSON, but it's not. You have to keep track of too many variations. Use a JSON-LD library instead. For JavaScript, try activitystrea.ms:

github.com/jasnell/activitystr

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Nils Weisensee's post

@nw @phanpy

Not direct suggestions, but lists..

delightful.coding.social

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

Dave Slusher - Self-hosted's avatar
Dave Slusher - Self-hosted

@geniodiabolico@mastodon.geniodiabolico.synology.me

When my blog was on Wordpress still, I was using the plugin so that it was directly on Mastodon. After I left WP for that was a hit I took. I looked for simple lightweight solutions I could use, hopefully something like a small PHP solution. At the time, there were none.

Today I see this:

github.com/dfaria-eu/Starling/

What I'm not exactly sure is if I drop this in the same directory as my blog will it automatically federate or can it be coerced to automatically federate? works but is at best an imperfect kludge. I'd love to make ActivityPub a first class citizen of the blog. I guess I'll play around on a non-production system to see what it does.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

Domingos Faria's avatar
Domingos Faria

@df@s.dfaria.eu

A full fediverse instance running on a simple shared host, in pure PHP, with no external dependencies. That is the idea behind Starling:
https://github.com/dfaria-eu/Starling/

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

The for the Fediverse & Social Web track at COSCUP 2026 (Taipei, Aug 8–9) is now open! If you're working on , the , or anything in the open social web space, we'd love to hear from you. The deadline is May 9. is free to attend.

👉 https://hackers.pub/@fedidevkr/2026/fediverse-social-web-track-at-coscup-2026-cfp

(Boosts appreciated!)

FediDev KR (한국 연합우주 개발자 모임)'s avatar
FediDev KR (한국 연합우주 개발자 모임)

@fedidevkr@hackers.pub

Read it in other languages: 日本語 (Japanese), 한국어 (Korean).


FediDev KR and FediLUG (Japan) are pleased to announce the Fediverse & Social Web track at COSCUP 2026, and invite participants to submit proposals for talks.

COSCUP (Conference for Open Source Coders, Users, and Promoters) is a free, community-run open source conference held annually in Taipei, Taiwan. Think FOSDEM, but in East Asia. This year it takes place August 8–9 at the National Taiwan University of Science and Technology, and is co-hosted with UbuCon Asia 2026.

The Fediverse & Social Web track runs for a full day, six hours in total. It is the first dedicated fediverse track at a major open source conference in East Asia, and we hope it becomes a regular gathering point for the fediverse community in the region.

Format

The default talk length is 30 minutes. If you need more or less time, note your preferred length when submitting.

Topics

We welcome proposals on anything related to the fediverse and the open social web, including:

  • Implementations of ActivityPub or related protocols
  • Clients for ActivityPub-enabled software
  • Libraries, toolkits, and frameworks for fediverse development
  • Supporting services: search, onboarding, moderation tooling
  • Instance administration and operations
  • Governance, policy, and the social dimensions of running federated communities
  • The broader open social web and interoperability

Important dates

  • Submission opens: March 28, 2026
  • Submission deadline: May 9, 2026 (AoE)
  • Acceptance notifications: June 9, 2026
  • Conference: August 8–9, 2026

Submissions

Submit proposals at https://pretalx.coscup.org/coscup-2026/cfp. Select Fediverse & Social Web from the track dropdown.

You can write your proposal in English or Chinese. COSCUP publishes session descriptions bilingually in English and Chinese, but that translation happens after acceptance; you don't need to provide both languages when submitting.

All sessions will be recorded and released under CC BY-SA 4.0. If your talk contains material that cannot be recorded or released under those terms, please note this in your submission.

Code of conduct

All speakers and attendees are expected to follow the COSCUP Code of Conduct.

Contact

Questions about the track, topics, or the fediverse in general are welcome at contact@fedidev.kr or @fedidevkr on the fediverse.

Nils Weisensee's avatar
Nils Weisensee

@nw@ioc.exchange

Again looking at running my own instance and seeing a ton of abandoned projects for lightweight, single-user servers. Are there options that are actively maintained and ready for use? I've run before but don't actually need a web frontend. Happy to @phanpy and that's it. Suggestions, anyone?

dusoft's avatar
dusoft

@dusoft@fosstodon.org

I have added relays to ActivityPub (Mastodon) bots:
github.com/nekromoff/mastodon-

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Houba's post

@houba yes, totally. The license is but a small tool in the toolbox. Some actors are repelled by , but still we have this open kitchen then, where they learn all the recipes and let folks explore the market for them on the cheap.

In a separate branch I mentioned the concept of "commons based" as a way forward, where the and form the collaboration environments for cocreation..

social.coop/@smallcircles/1163

The chaotic commons is big. How do we foster chaordic organization, so that FOSS projects and initiatives are encouraged to pay attention beyond their direct scope, to dedicate collectively to the health of the ecosystem and key enabling technologies such as that they rely upon?

Here comes in, which can be supported on the itself. Different than top-down enforced , which only works at small scales, self-interest is basis for participation.

coding.social/blog/reimagine-s

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Coder Jason's post

@coderjason

I agree. To enforce spirit and word implies a level of control that the commons has / retains. SX considers "commons based" to be a state where sustainable evolution and healthy natural growth can be assured i.e. commons based is the place-to-be.

Things start with a minimization of access to the bad actors / players, and subsequently design and deliver services that are less attractive to them. Stripping the benefits for the bad actor, not just at the software level, but at participation level i.e. the processes around software (co)creation. Change the fitness formula in the commons to work against the bad actor.

One important aspect is Trust, and related, Trustworthiness that trust builds over time. Our hypercapitalist society is increasingly built on mistrust.

Coding is social. What is very interesting is that social networking is much broader than social media. It constitutes *all* human interaction. So here online we should be able to have commons based social web.

panos's avatar
panos

@panos@catodon.rocks

One last change before the RC for 26.4.0: Catodon now handles ActivityPub Articles and Pages properly, rendering html and all, instead of turning them all into Notes and showing them as a CW with the summary as comment, which tbf was pretty ugly. I will gradually make more adjustments so that we are better aligned with ActivityPub.

Sebastian Herold's avatar
Sebastian Herold

@sherold@mastodon.online

Help! I've been thinking so much about decentralized platforms and open protocols lately that my brain has become completely decentralized itself. 🙃
Time to go touch some grass.

panos's avatar
panos

@panos@catodon.rocks

One last change before the RC for 26.4.0: Catodon now handles ActivityPub Articles and Pages properly, rendering html and all, instead of turning them all into Notes and showing them as a CW with the summary as comment, which tbf was pretty ugly. I will gradually make more adjustments so that we are better aligned with ActivityPub.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

started at the end of 2025. A full server now runs on your phone, with the ability to use your own domain as your identity, DMs via Signal Protocol, zero-knowledge encrypted backup, media served from your own cloud, a tailored timeline based on your interests thanks to , and the ability to switch views depending on your mood or the content you want to browse. Thank you for your feedback and support that helped to go through these steps.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Houba's post

@houba yes, totally. The license is but a small tool in the toolbox. Some actors are repelled by , but still we have this open kitchen then, where they learn all the recipes and let folks explore the market for them on the cheap.

In a separate branch I mentioned the concept of "commons based" as a way forward, where the and form the collaboration environments for cocreation..

social.coop/@smallcircles/1163

The chaotic commons is big. How do we foster chaordic organization, so that FOSS projects and initiatives are encouraged to pay attention beyond their direct scope, to dedicate collectively to the health of the ecosystem and key enabling technologies such as that they rely upon?

Here comes in, which can be supported on the itself. Different than top-down enforced , which only works at small scales, self-interest is basis for participation.

coding.social/blog/reimagine-s

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Coder Jason's post

@coderjason

I agree. To enforce spirit and word implies a level of control that the commons has / retains. SX considers "commons based" to be a state where sustainable evolution and healthy natural growth can be assured i.e. commons based is the place-to-be.

Things start with a minimization of access to the bad actors / players, and subsequently design and deliver services that are less attractive to them. Stripping the benefits for the bad actor, not just at the software level, but at participation level i.e. the processes around software (co)creation. Change the fitness formula in the commons to work against the bad actor.

One important aspect is Trust, and related, Trustworthiness that trust builds over time. Our hypercapitalist society is increasingly built on mistrust.

Coding is social. What is very interesting is that social networking is much broader than social media. It constitutes *all* human interaction. So here online we should be able to have commons based social web.

dusoft's avatar
dusoft

@dusoft@fosstodon.org

I have added relays to ActivityPub (Mastodon) bots:
github.com/nekromoff/mastodon-

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

The cool thing about the Activitystreams Activity Vocab RFC is that it’s nearly completely useless for any practical implementation purpose …

Surf's avatar
Surf

@surf@flipboard.social

🌊 🌊 🌊

Version 1.0.383 of Surf is now live on TestFlight and Android! Create feeds faster with the new quick feed builder! We’ll serve up recommendations for whatever you’re into. Tap Discover Feeds in your sidebar and look for the new module below Trending.

Two screenshots of the Surf app, one showing the Discover page with "Tech news" in the search bar, and the other showing the results of that search for Tech news.
ALT text detailsTwo screenshots of the Surf app, one showing the Discover page with "Tech news" in the search bar, and the other showing the results of that search for Tech news.
Surf's avatar
Surf

@surf@flipboard.social · Reply to Surf's post

Sign up for the waitlist here using the referral code SurfShares to start building feeds and communities and see what other people are making.

waitlist.surf.social

Surf's avatar
Surf

@surf@flipboard.social · Reply to Surf's post

There's more! Hit the new + button to add feeds to Favorites, your Surf Timeline or a custom feed.

Screenshot of the Surf app showing David Imel's FilmFeed on the left and what happens if you hit the + button on the right.
ALT text detailsScreenshot of the Surf app showing David Imel's FilmFeed on the left and what happens if you hit the + button on the right.
Surf's avatar
Surf

@surf@flipboard.social

🌊 🌊 🌊

Version 1.0.383 of Surf is now live on TestFlight and Android! Create feeds faster with the new quick feed builder! We’ll serve up recommendations for whatever you’re into. Tap Discover Feeds in your sidebar and look for the new module below Trending.

Two screenshots of the Surf app, one showing the Discover page with "Tech news" in the search bar, and the other showing the results of that search for Tech news.
ALT text detailsTwo screenshots of the Surf app, one showing the Discover page with "Tech news" in the search bar, and the other showing the results of that search for Tech news.
Michael Newton's avatar
Michael Newton

@mavnn@bonfire.mavnn.eu

Starting to put together a hacky program to federate my blog by reading the rss feed to publish articles with #activitypub and then provide a known url to show any replies that I can drop onto the actual blog pages.

But that means creating a directory for the code, which means a name, 'activity_rss' sounds good but that's too long, I know...

mkdir arss

Fortunately my brain caught up with me before I actually hit enter.

dusoft's avatar
dusoft

@dusoft@fosstodon.org

BTW, why does people disable quoting here? I don't get it.

dansup's avatar
dansup

@dansup@mastodon.social

I know some ActivityPub devs feel jealous of AtProto’s success.

I’ve felt it too.

But really, we shouldn’t.

Every serious step toward decentralization is a win for the open social web.

With tools like Bridgy from @anewsocial, we can stay connected across protocols and keep building a more open future together.

If you really believe in empowering humanity, then this isn’t competition, it’s momentum.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

silverpill's avatar
silverpill

@silverpill@mitra.social

Announcing Mitra Mini v0.1.0

Mitra Mini is an ActivityPub client that implements nomadic identity. It has become stable enough that I decided to cut the first release.

The basic features have been implemented: posts, reposts, likes. For more information, check the project's readme:

https://codeberg.org/silverpill/minimitra

It all started nearly four years ago with a vague idea that linking cryptographic keys to #ActivityPub actors could unlock decentralized identity in Fediverse. Eventually, the solution was discovered, and implemented by several projects, but these implementations were servers, not clients. Now there is finally a client, and the design has been proven to work well.

#NomadicIdentity

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

Activitypub micropayments idea:
what if instead of some digital token like Taler or Monero, I send a digital “cheque” instead, which is a signed payment intent, signed with the other actor’s e.g. Liberapay pubkey.

At the end of the month, the other person can take all these micropayment cheques and prove to liberapay that other people owe them money, and everything is settled in one transaction.

shopkeeper's avatar
shopkeeper

@potatomeow@fosstodon.org

fixed my ios app, now I'm not sure if location should be attached onto a note object or account actor or both

shopkeeper's avatar
shopkeeper

@potatomeow@fosstodon.org

fixed my ios app, now I'm not sure if location should be attached onto a note object or account actor or both

silverpill's avatar
silverpill

@silverpill@mitra.social

Announcing Mitra Mini v0.1.0

Mitra Mini is an ActivityPub client that implements nomadic identity. It has become stable enough that I decided to cut the first release.

The basic features have been implemented: posts, reposts, likes. For more information, check the project's readme:

https://codeberg.org/silverpill/minimitra

It all started nearly four years ago with a vague idea that linking cryptographic keys to #ActivityPub actors could unlock decentralized identity in Fediverse. Eventually, the solution was discovered, and implemented by several projects, but these implementations were servers, not clients. Now there is finally a client, and the design has been proven to work well.

#NomadicIdentity

silverpill's avatar
silverpill

@silverpill@mitra.social

Announcing Mitra Mini v0.1.0

Mitra Mini is an ActivityPub client that implements nomadic identity. It has become stable enough that I decided to cut the first release.

The basic features have been implemented: posts, reposts, likes. For more information, check the project's readme:

https://codeberg.org/silverpill/minimitra

It all started nearly four years ago with a vague idea that linking cryptographic keys to #ActivityPub actors could unlock decentralized identity in Fediverse. Eventually, the solution was discovered, and implemented by several projects, but these implementations were servers, not clients. Now there is finally a client, and the design has been proven to work well.

#NomadicIdentity

Robert Kingett's avatar
Robert Kingett

@WeirdWriter@caneandable.social · Reply to Elena Brescacin's post

Link at end but I mean, frankly, this is why I stick with a simple SSG. I don't even attempt integration because I actually don't want comments on my blog, ever! Got something to say? People can send an email, and if you can't be bothered to send me an email, then your words aren't of any weight to me whatsoever. I don't want to make it *easier* for the web to talk to me. That's why that friction exists, but I do have to applaud you for giving it a shot and I actually fully understand your decision! If I didn't have help with my blog I'd have used Bearblog. sightlessscribbles.com/posts/c @elettrona @selfhosted @_elena

silverpill's avatar
silverpill

@silverpill@mitra.social

Announcing Mitra Mini v0.1.0

Mitra Mini is an ActivityPub client that implements nomadic identity. It has become stable enough that I decided to cut the first release.

The basic features have been implemented: posts, reposts, likes. For more information, check the project's readme:

https://codeberg.org/silverpill/minimitra

It all started nearly four years ago with a vague idea that linking cryptographic keys to #ActivityPub actors could unlock decentralized identity in Fediverse. Eventually, the solution was discovered, and implemented by several projects, but these implementations were servers, not clients. Now there is finally a client, and the design has been proven to work well.

#NomadicIdentity

Amber's avatar
Amber

@Amberrrrrrr@tech.lgbt

Any recommendations on where to begin if I, someone with a background in game development, wanted to start messing around with ActivityPub stuff in my free time?

silverpill's avatar
silverpill

@silverpill@mitra.social

Announcing Mitra Mini v0.1.0

Mitra Mini is an ActivityPub client that implements nomadic identity. It has become stable enough that I decided to cut the first release.

The basic features have been implemented: posts, reposts, likes. For more information, check the project's readme:

https://codeberg.org/silverpill/minimitra

It all started nearly four years ago with a vague idea that linking cryptographic keys to #ActivityPub actors could unlock decentralized identity in Fediverse. Eventually, the solution was discovered, and implemented by several projects, but these implementations were servers, not clients. Now there is finally a client, and the design has been proven to work well.

#NomadicIdentity

silverpill's avatar
silverpill

@silverpill@mitra.social

Announcing Mitra Mini v0.1.0

Mitra Mini is an ActivityPub client that implements nomadic identity. It has become stable enough that I decided to cut the first release.

The basic features have been implemented: posts, reposts, likes. For more information, check the project's readme:

https://codeberg.org/silverpill/minimitra

It all started nearly four years ago with a vague idea that linking cryptographic keys to #ActivityPub actors could unlock decentralized identity in Fediverse. Eventually, the solution was discovered, and implemented by several projects, but these implementations were servers, not clients. Now there is finally a client, and the design has been proven to work well.

#NomadicIdentity

silverpill's avatar
silverpill

@silverpill@mitra.social

Announcing Mitra Mini v0.1.0

Mitra Mini is an ActivityPub client that implements nomadic identity. It has become stable enough that I decided to cut the first release.

The basic features have been implemented: posts, reposts, likes. For more information, check the project's readme:

https://codeberg.org/silverpill/minimitra

It all started nearly four years ago with a vague idea that linking cryptographic keys to #ActivityPub actors could unlock decentralized identity in Fediverse. Eventually, the solution was discovered, and implemented by several projects, but these implementations were servers, not clients. Now there is finally a client, and the design has been proven to work well.

#NomadicIdentity

silverpill's avatar
silverpill

@silverpill@mitra.social

Announcing Mitra Mini v0.1.0

Mitra Mini is an ActivityPub client that implements nomadic identity. It has become stable enough that I decided to cut the first release.

The basic features have been implemented: posts, reposts, likes. For more information, check the project's readme:

https://codeberg.org/silverpill/minimitra

It all started nearly four years ago with a vague idea that linking cryptographic keys to #ActivityPub actors could unlock decentralized identity in Fediverse. Eventually, the solution was discovered, and implemented by several projects, but these implementations were servers, not clients. Now there is finally a client, and the design has been proven to work well.

#NomadicIdentity

DNKrupinski's avatar
DNKrupinski

@dnkrupinski@hannover.town

RE: stefanbohacek.online/@stefan/1

@hakendran Sind und wirklich miteinander vergleichbar?!

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

I am outputting ActivityPub/ActivityStreams content for the listing of what is in a directory.

Think of it as the AP/AS version of output from the `ls` command.

AP/AS has a whole bunch of stuff that can be used to represents files. Even sub-types of files

w3.org/TR/activitystreams-voca

And, while AP/AS has 'Collection' (and 'CollectionPage') —

w3.org/TR/activitystreams-voca

AP/AS doesn't have a 'Directory' type (as a sub-type of 'Collection')

Amber's avatar
Amber

@Amberrrrrrr@tech.lgbt

Any recommendations on where to begin if I, someone with a background in game development, wanted to start messing around with ActivityPub stuff in my free time?

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

I am outputting ActivityPub/ActivityStreams content for the listing of what is in a directory.

Think of it as the AP/AS version of output from the `ls` command.

AP/AS has a whole bunch of stuff that can be used to represents files. Even sub-types of files

w3.org/TR/activitystreams-voca

And, while AP/AS has 'Collection' (and 'CollectionPage') —

w3.org/TR/activitystreams-voca

AP/AS doesn't have a 'Directory' type (as a sub-type of 'Collection')

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to @reiver ⊼ (Charles) :batman:'s post

@reiver

Today "ActivityStreams: Where do you want to go to today?" might be a slogan we borrowed from Microsoft.

The question is whether should be used - besides all the things it is already being used for - to also map to file systems.

The nature of is generally shunned in favor of plain . That in itself is fine, as long as:

a) information still represents valid .

b) information models still follow data modeling best practices.

c) information models are designed with in mind.

Not saying your approach is good or bad, just observing that everyone mapping and overloading their own app-specific semantics to the poor AS vocab looks to me a worst-practice. We can get away with it, as we made post-facto interop the poor man's accepted practice, lacking more rigorous extension process and guidance.

There are likely existing standardized ontologies.

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

I am outputting ActivityPub/ActivityStreams content for the listing of what is in a directory.

Think of it as the AP/AS version of output from the `ls` command.

AP/AS has a whole bunch of stuff that can be used to represents files. Even sub-types of files

w3.org/TR/activitystreams-voca

And, while AP/AS has 'Collection' (and 'CollectionPage') —

w3.org/TR/activitystreams-voca

AP/AS doesn't have a 'Directory' type (as a sub-type of 'Collection')

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

With , you can have your identity on your own domain. No server? A simple CNAME record is enough. Already have a server? Point a subdomain to handle traffic and serve a static JSON file on your root domain.

This is a step toward the same sovereignty offers with cryptographic identities, but staying in the ecosystem you already know.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

will support custom root domains tomorrow. You'll be able to use @you@yourdomain.com as your identity while traffic is routed through a subdomain.
With a single user, a simple static json file will be enough on your root domain.

PS: if you already use a subdomain, it will work without extra work.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

started at the end of 2025. A full server now runs on your phone, with the ability to use your own domain as your identity, DMs via Signal Protocol, zero-knowledge encrypted backup, media served from your own cloud, a tailored timeline based on your interests thanks to , and the ability to switch views depending on your mood or the content you want to browse. Thank you for your feedback and support that helped to go through these steps.

Amber's avatar
Amber

@Amberrrrrrr@tech.lgbt

Any recommendations on where to begin if I, someone with a background in game development, wanted to start messing around with ActivityPub stuff in my free time?

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

started at the end of 2025. A full server now runs on your phone, with the ability to use your own domain as your identity, DMs via Signal Protocol, zero-knowledge encrypted backup, media served from your own cloud, a tailored timeline based on your interests thanks to , and the ability to switch views depending on your mood or the content you want to browse. Thank you for your feedback and support that helped to go through these steps.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

started at the end of 2025. A full server now runs on your phone, with the ability to use your own domain as your identity, DMs via Signal Protocol, zero-knowledge encrypted backup, media served from your own cloud, a tailored timeline based on your interests thanks to , and the ability to switch views depending on your mood or the content you want to browse. Thank you for your feedback and support that helped to go through these steps.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

started at the end of 2025. A full server now runs on your phone, with the ability to use your own domain as your identity, DMs via Signal Protocol, zero-knowledge encrypted backup, media served from your own cloud, a tailored timeline based on your interests thanks to , and the ability to switch views depending on your mood or the content you want to browse. Thank you for your feedback and support that helped to go through these steps.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

Friends, if you haven't already, it would be a big favour to me if you could enable tags.pub to boost your public tagged posts.

Just search for @_followback in your Mastodon UI. Click the follow button there. (Don't try to follow from the profile page; it doesn't work yet.)

It will follow you back, and when you make a post with a hashtag in it, the server will boost your post from the appropriate hashtag.

dusoft's avatar
dusoft

@dusoft@fosstodon.org

Quite sad that ActivityPub community web like socialhub.activitypub.rocks does not verify new users quickly, so they can contribute..
4+ days and counting...
Maybe no moderators, maybe no time, maybe no interest. Well, maybe do not run a discussion forum, if you are unwilling to run it properly.

Rasmus Sindum's avatar
Rasmus Sindum

@sindum@mstdn.dk

I've had an inspiring first week with Fedibook. Your feedback has been truly inspiring. It started as a provocation and an experiment — but I have decided to turn this into a proper open source project. My first ever!

If you tested on dev1.fedibook.dk — come to fedibook.net. The new showcase instance where we will run the latest released code. Or even better, run your own instance and friend request me @sindum@fedibook.net.

I'm heading off on holiday, but I wanted to share what I'm hoping we can build together:

Your Friendly Neighborhood Social Network... One that is there for you when you want to take a moment to connect and follow up. That shows your feed from friends, follows and groups. Nothing more. With a UI that focuses on that rather than keeping your attention.

Jump over to my blog for this post with a little more detail.

sindum.dk/come-join-fedibook-n

@shellsharks

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

🐝Mr.Mark🐝's avatar
🐝Mr.Mark🐝

@markmetz@sfba.social

Can someone point me to a good explainer article about protocol, , and the that I can share with my tech industry daughter who is fed up with Instagram? Thanks!

🐝Mr.Mark🐝's avatar
🐝Mr.Mark🐝

@markmetz@sfba.social

Can someone point me to a good explainer article about protocol, , and the that I can share with my tech industry daughter who is fed up with Instagram? Thanks!

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social · Reply to Flipboard's post

Find the Dot Social playlist here and discover past episodes with @molly0xfff, @tchambers, @jasonkoebler, @kissane and more.

flipboard.video/c/dot_social/v

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social · Reply to Flipboard's post

Find the Dot Social playlist here and discover past episodes with @molly0xfff, @tchambers, @jasonkoebler, @kissane and more.

flipboard.video/c/dot_social/v

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-27

Servers

- Vernissage Server v1.32.0
- snac v2.91
- Lemmy v0.19.17
- Mitra v5.0.0
- Gush! v0.0.33
- Mastodon v4.5.8
- Hubzilla v11.2.0
- Mobilizon v5.2.3
- NodeBB v4.10.1
- appy v0.5.0
- Madblog v1.3.0
- A Redesign for Profiles (Mastodon)
- TinyAP: Tiny ActivityPub Micro-blogging
- oeee-cafe: The federated and networked oekaki board
- ActivityPub bots: ActivityPub / Mastodon compatible instance to quickly create and deploy multiple bots
- ProFed: Federated professional network

Clients

- Holos v1.1.0
- Fedilab v3.37.2
- Pachli v3.5.0
- Mastodon for iOS v2026.02
- Summit v1.80.0
- Blorp v1.11.0
- Aria v1.4.8
- Announcing Nicolium v0.1.0
- Hackers' Pub Android

Tools and Plugins

- Poduptime v6.3.1
- Enable Mastodon Apps v1.5.0 (WordPress plugin)

For developers

- Fedify v2.1.0
- APx v0.22.0
- Federails v0.8.0

Articles

- Dipping a Toe into the Fediverse (Again)
- Can we have a more “social” media?
- Mastodon (Bluesky/X/Instagram) is not the right platform for posting long-form content (a blog is)
- FediMod FIRES on building better and decentralised social media applications

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d0d0a-2958-a430-8db0-95350f8495e5

Yoodle 🇨🇦's avatar
Yoodle 🇨🇦

@chimpchomp@thecanadian.social

Is the problem with the AT protocol itself, or just how the developers over at Bluesky implement it? In theory could it be possible to make the AT protocol truly decentralized, the same way the protocol is, or is that a lost cause?

(Don’t worry, I’m not thinking of joining Bluesky or anything, I’m jut curious to hear people’s thoughts on this)

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-27

Servers

- Vernissage Server v1.32.0
- snac v2.91
- Lemmy v0.19.17
- Mitra v5.0.0
- Gush! v0.0.33
- Mastodon v4.5.8
- Hubzilla v11.2.0
- Mobilizon v5.2.3
- NodeBB v4.10.1
- appy v0.5.0
- Madblog v1.3.0
- A Redesign for Profiles (Mastodon)
- TinyAP: Tiny ActivityPub Micro-blogging
- oeee-cafe: The federated and networked oekaki board
- ActivityPub bots: ActivityPub / Mastodon compatible instance to quickly create and deploy multiple bots
- ProFed: Federated professional network

Clients

- Holos v1.1.0
- Fedilab v3.37.2
- Pachli v3.5.0
- Mastodon for iOS v2026.02
- Summit v1.80.0
- Blorp v1.11.0
- Aria v1.4.8
- Announcing Nicolium v0.1.0
- Hackers' Pub Android

Tools and Plugins

- Poduptime v6.3.1
- Enable Mastodon Apps v1.5.0 (WordPress plugin)

For developers

- Fedify v2.1.0
- APx v0.22.0
- Federails v0.8.0

Articles

- Dipping a Toe into the Fediverse (Again)
- Can we have a more “social” media?
- Mastodon (Bluesky/X/Instagram) is not the right platform for posting long-form content (a blog is)
- FediMod FIRES on building better and decentralised social media applications

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d0d0a-2958-a430-8db0-95350f8495e5

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

With , you can have your identity on your own domain. No server? A simple CNAME record is enough. Already have a server? Point a subdomain to handle traffic and serve a static JSON file on your root domain.

This is a step toward the same sovereignty offers with cryptographic identities, but staying in the ecosystem you already know.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

will support custom root domains tomorrow. You'll be able to use @you@yourdomain.com as your identity while traffic is routed through a subdomain.
With a single user, a simple static json file will be enough on your root domain.

PS: if you already use a subdomain, it will work without extra work.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

The next step with will be to let you use your root domain as your identity while still using a subdomain for the relay.
Yes, is kind of like but with . The main difference: your data lives on your device, not on a server, and relays remain completely dumb.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

Next step with and custom domains: being able to use your root domain as your identity. A subdomain would point to the relay via CNAME, but your identity would use your root domain.
I will write a small how-to to make the setup straightforward for everyone.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

will support custom root domains tomorrow. You'll be able to use @you@yourdomain.com as your identity while traffic is routed through a subdomain.
With a single user, a simple static json file will be enough on your root domain.

PS: if you already use a subdomain, it will work without extra work.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

With , you can have your identity on your own domain. No server? A simple CNAME record is enough. Already have a server? Point a subdomain to handle traffic and serve a static JSON file on your root domain.

This is a step toward the same sovereignty offers with cryptographic identities, but staying in the ecosystem you already know.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

will support custom root domains tomorrow. You'll be able to use @you@yourdomain.com as your identity while traffic is routed through a subdomain.
With a single user, a simple static json file will be enough on your root domain.

PS: if you already use a subdomain, it will work without extra work.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-27

Servers

- Vernissage Server v1.32.0
- snac v2.91
- Lemmy v0.19.17
- Mitra v5.0.0
- Gush! v0.0.33
- Mastodon v4.5.8
- Hubzilla v11.2.0
- Mobilizon v5.2.3
- NodeBB v4.10.1
- appy v0.5.0
- Madblog v1.3.0
- A Redesign for Profiles (Mastodon)
- TinyAP: Tiny ActivityPub Micro-blogging
- oeee-cafe: The federated and networked oekaki board
- ActivityPub bots: ActivityPub / Mastodon compatible instance to quickly create and deploy multiple bots
- ProFed: Federated professional network

Clients

- Holos v1.1.0
- Fedilab v3.37.2
- Pachli v3.5.0
- Mastodon for iOS v2026.02
- Summit v1.80.0
- Blorp v1.11.0
- Aria v1.4.8
- Announcing Nicolium v0.1.0
- Hackers' Pub Android

Tools and Plugins

- Poduptime v6.3.1
- Enable Mastodon Apps v1.5.0 (WordPress plugin)

For developers

- Fedify v2.1.0
- APx v0.22.0
- Federails v0.8.0

Articles

- Dipping a Toe into the Fediverse (Again)
- Can we have a more “social” media?
- Mastodon (Bluesky/X/Instagram) is not the right platform for posting long-form content (a blog is)
- FediMod FIRES on building better and decentralised social media applications

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d0d0a-2958-a430-8db0-95350f8495e5

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

With , you can have your identity on your own domain. No server? A simple CNAME record is enough. Already have a server? Point a subdomain to handle traffic and serve a static JSON file on your root domain.

This is a step toward the same sovereignty offers with cryptographic identities, but staying in the ecosystem you already know.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

will support custom root domains tomorrow. You'll be able to use @you@yourdomain.com as your identity while traffic is routed through a subdomain.
With a single user, a simple static json file will be enough on your root domain.

PS: if you already use a subdomain, it will work without extra work.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

With , you can have your identity on your own domain. No server? A simple CNAME record is enough. Already have a server? Point a subdomain to handle traffic and serve a static JSON file on your root domain.

This is a step toward the same sovereignty offers with cryptographic identities, but staying in the ecosystem you already know.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

will support custom root domains tomorrow. You'll be able to use @you@yourdomain.com as your identity while traffic is routed through a subdomain.
With a single user, a simple static json file will be enough on your root domain.

PS: if you already use a subdomain, it will work without extra work.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-27

Servers

- Vernissage Server v1.32.0
- snac v2.91
- Lemmy v0.19.17
- Mitra v5.0.0
- Gush! v0.0.33
- Mastodon v4.5.8
- Hubzilla v11.2.0
- Mobilizon v5.2.3
- NodeBB v4.10.1
- appy v0.5.0
- Madblog v1.3.0
- A Redesign for Profiles (Mastodon)
- TinyAP: Tiny ActivityPub Micro-blogging
- oeee-cafe: The federated and networked oekaki board
- ActivityPub bots: ActivityPub / Mastodon compatible instance to quickly create and deploy multiple bots
- ProFed: Federated professional network

Clients

- Holos v1.1.0
- Fedilab v3.37.2
- Pachli v3.5.0
- Mastodon for iOS v2026.02
- Summit v1.80.0
- Blorp v1.11.0
- Aria v1.4.8
- Announcing Nicolium v0.1.0
- Hackers' Pub Android

Tools and Plugins

- Poduptime v6.3.1
- Enable Mastodon Apps v1.5.0 (WordPress plugin)

For developers

- Fedify v2.1.0
- APx v0.22.0
- Federails v0.8.0

Articles

- Dipping a Toe into the Fediverse (Again)
- Can we have a more “social” media?
- Mastodon (Bluesky/X/Instagram) is not the right platform for posting long-form content (a blog is)
- FediMod FIRES on building better and decentralised social media applications

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019d0d0a-2958-a430-8db0-95350f8495e5

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

will support custom root domains tomorrow. You'll be able to use @you@yourdomain.com as your identity while traffic is routed through a subdomain.
With a single user, a simple static json file will be enough on your root domain.

PS: if you already use a subdomain, it will work without extra work.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

will support custom root domains tomorrow. You'll be able to use @you@yourdomain.com as your identity while traffic is routed through a subdomain.
With a single user, a simple static json file will be enough on your root domain.

PS: if you already use a subdomain, it will work without extra work.

KIP/JΛYCHØU ⁂ ⚡ :chuckya: :atproto: :nostr:'s avatar
KIP/JΛYCHØU ⁂ ⚡ :chuckya: :atproto: :nostr:

@admin@mstdn.feddit.social

关于联邦软件——hollo的消极吐槽(梦话)——很一般、很普通

......如果用过 ,那差不多就相当于用过hollo了 (
虽然也是和 一样的“单”用户实例;
但是gotosocial,只是推荐单用户;
而hollo,应该是一个管理员,可以创建多个账户,比如这个@admin@fedihollo.org ,还可以创建 @xxx@fedihollo.org ;
创建多账户上这一点要比botkit更好?botkit是一域名一机器人的,就像 @mybot@drawbot
Gotosocial还是要比Hollo完善许多,Gotosocial在功能上不比mastodon差多少,hollo就算了
总的来说吧,单用户不推荐自托管 -dev/hollo,如果想搭建机器人,可以用fedify-dev/botkit

介绍 #Hollo。Hollo 是一款支持 #ActivityPub 的单用户微型博客软件。虽然它只针对单一用户,但它也支持为不同主题创建和运行多个账户。
它是无头的,意味着你可以使用现有的 #Mastodon 客户端应用,配合其兼容 Mastodon 的 API。它与猛犸象在特征上几乎相当。Mastodon 的两个大区别是你可以在帖子内容中使用 #Markdown,并且可以引用其他帖子。
哦,Hollo 是用 #Bun 和 #Fedify 构建的。
https://github.com/dahlia/hollo
#fedidev

这里也确实提到了“虽然它只针对单一用户,但它也支持为不同主题创建和运行多个账户”
hollo最近发了一个投票:

Hollo 一直都是无头的——没有内置前端,只有一个兼容 Mastodon 的 API。你自己选客户。这正是重点。
但我们一直在想:如果 Hollo 发布自己的网页前端会怎样?Mastodon 兼容的 API 会保留,所以你当前的客户端设置不会改变。这只是多了一个选择。
你会用吗?

你要我怎么夸你呢?占用1.4GB内存......还是“创建 账户变得非常简单低成本吗?”

Links:
hollo.social/@hollo
github.com/fedify-dev/botkit
github.com/fedify-dev/hollo
fedihollo.org/@admin

抱歉hollo的开发者们

RE: fedihollo.org/@admin/019d3008-

https://fedihollo.org/@admin
ALT text detailshttps://fedihollo.org/@admin
https://bot.moe.pub/
ALT text detailshttps://bot.moe.pub/
Ricardo's avatar
Ricardo

@rmdes@indieweb.social

Having fun with and @davew
@hongminhee

---> diff.rmendes.net/about

Follow the tool on the fedi with @bot

Ricardo's avatar
Ricardo

@rmdes@indieweb.social

Having fun with and @davew
@hongminhee

---> diff.rmendes.net/about

Follow the tool on the fedi with @bot

Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

I stumbled upon this "ARE YOU JUST
A .md FILE?" thingy this morning: deathbyclawd.com/

...and I couldn't resist to check for

We are all save!

I like the "N/A — You cannot assassinate a standard. Ask RSS how that worked out." part 😂

/cc @davew

Screenshot of the service result: +∞% (it's free and open source, there is no stock, the concept of a stock drop does not apply, please stop trying to financialize protocols)
ALT text detailsScreenshot of the service result: +∞% (it's free and open source, there is no stock, the concept of a stock drop does not apply, please stop trying to financialize protocols)
Ricardo's avatar
Ricardo

@rmdes@indieweb.social

Having fun with and @davew
@hongminhee

---> diff.rmendes.net/about

Follow the tool on the fedi with @bot

artlog's avatar
artlog

@artlog@agora.l0g.eu

Once a while i was wondering if #ActivityPub could replace #smtp mail where i was answered that i was different and seem to surprise people.

Now i'm reading this https://bifurcation.github.io/mimi-aim/draft-barnes-mimi-aim.html and it seems to confort me in my stubborness.
Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

I stumbled upon this "ARE YOU JUST
A .md FILE?" thingy this morning: deathbyclawd.com/

...and I couldn't resist to check for

We are all save!

I like the "N/A — You cannot assassinate a standard. Ask RSS how that worked out." part 😂

/cc @davew

Screenshot of the service result: +∞% (it's free and open source, there is no stock, the concept of a stock drop does not apply, please stop trying to financialize protocols)
ALT text detailsScreenshot of the service result: +∞% (it's free and open source, there is no stock, the concept of a stock drop does not apply, please stop trying to financialize protocols)
artlog's avatar
artlog

@artlog@agora.l0g.eu

Once a while i was wondering if #ActivityPub could replace #smtp mail where i was answered that i was different and seem to surprise people.

Now i'm reading this https://bifurcation.github.io/mimi-aim/draft-barnes-mimi-aim.html and it seems to confort me in my stubborness.
Hubzilla's avatar
Hubzilla

@info@hubzilla.org

For importing a list of #activitypub contacts/followers into your Hubzilla channel, there's now a new add-on, called csvimport, created by @Der Pepe (Hubzilla) ⁂! Your hub admin can install it from here.

RE: https://hub.hubzilla.hu/item/fe85085a-4838-4b82-98d1-faa0be82819f
Der Pepe (Hubzilla) ⁂ ⚝'s avatar
Der Pepe (Hubzilla) ⁂ ⚝

@pepecyb@hub.hubzilla.hu

Oft taucht bei Interessierten, die zu Hubzilla wechseln möchten oder den Dienst zusätzlich nutzen wollen, die Frage auf, ob es denn möglich ist, seine Kontakte von einem anderen Dienst mitzunehmen.

Sehr viele Fediversedienste erlauben den Export der "Followed-Liste" (also die Liste der Kontakte, denen man selbst folgt) im csv-Format. Hubzilla bietet nativ aber keinen Import solcher Listen an.

Das hat auch einen Grund, denn im Gegensatz zu den meisten anderen Diensten sind Verbindungen bei Hubzilla immer "bidirektional". Das bedeutet, Hubzilla unterscheidet nicht zwischen "Followed" und "Follower". Verbindungen wirken stets in beide Richtungen, sind also "Followed und Follower" zugleich.

Wenn ich eine Verbindung herstelle, dann möchte ich auf die Inhalte des Gefolgten zugreifen (bedeutet meist, dass ich seine Postings in meinem Stream sehen und ggf. darauf reagieren kann). Ich räume ihm aber gleichzeitig auch die Möglichkeit ein, meine Inhalte in seiner Timeline zu sehen und ggf. damit zu interagieren (das allerdings kann ich bei Hubzilla sehr genau und fein erlauben bzw. einschränken).

Erhalte ich von einem fremden Nutze eine Verbindungsanfrage und genehmige ich diese, so bedeutet das aber nicht nur, dass er nun meine Inhalte in seine Timeline bekommt, sondern dass auch ich seine Inhalte erhalte (auch das kann man natürlich einschränken).

Trotzdem könnte es ausgesprochen sinnvoll sein, eine Kontaktliste ("Followed") in seinen Hubzilla-Kanal zu übernehmen.

Und dafür gibt es jetzt mein Addon "csvimport", welches genau das leistet. Man öffnet in dieser App eine csv-Datei mit Kontakten und klickt auf den Button "Import".

csvimport02.png

Anschließend extrahiert das Addon alle Fediverse-Adressen (Handles / Webbies) aus der Datei und stellt Verbindungen zu diesen mit den Standard-Berechtigungen her.

csvimport03.png

Hubzilla-Admins können das Addon entweder manuell installieren oder mein Addon-Repo der Installation hinzufügen:

util/add_addon_repo https://codeberg.org/derpepe/pepes-addons.git pepes-addons

Er muss das Addon dann in der Admin-Oberfläche noch aktivieren, und anschließend kann jeder Nutzer die App in der App-Verwaltung installieren.

Image/photo

#hubzilla #import #kontakte
csvimport02.png
ALT text detailscsvimport02.png
csvimport03.png
ALT text detailscsvimport03.png
Hubzilla's avatar
Hubzilla

@info@hubzilla.org

For importing a list of #activitypub contacts/followers into your Hubzilla channel, there's now a new add-on, called csvimport, created by @Der Pepe (Hubzilla) ⁂! Your hub admin can install it from here.

RE: https://hub.hubzilla.hu/item/fe85085a-4838-4b82-98d1-faa0be82819f
Der Pepe (Hubzilla) ⁂ ⚝'s avatar
Der Pepe (Hubzilla) ⁂ ⚝

@pepecyb@hub.hubzilla.hu

Oft taucht bei Interessierten, die zu Hubzilla wechseln möchten oder den Dienst zusätzlich nutzen wollen, die Frage auf, ob es denn möglich ist, seine Kontakte von einem anderen Dienst mitzunehmen.

Sehr viele Fediversedienste erlauben den Export der "Followed-Liste" (also die Liste der Kontakte, denen man selbst folgt) im csv-Format. Hubzilla bietet nativ aber keinen Import solcher Listen an.

Das hat auch einen Grund, denn im Gegensatz zu den meisten anderen Diensten sind Verbindungen bei Hubzilla immer "bidirektional". Das bedeutet, Hubzilla unterscheidet nicht zwischen "Followed" und "Follower". Verbindungen wirken stets in beide Richtungen, sind also "Followed und Follower" zugleich.

Wenn ich eine Verbindung herstelle, dann möchte ich auf die Inhalte des Gefolgten zugreifen (bedeutet meist, dass ich seine Postings in meinem Stream sehen und ggf. darauf reagieren kann). Ich räume ihm aber gleichzeitig auch die Möglichkeit ein, meine Inhalte in seiner Timeline zu sehen und ggf. damit zu interagieren (das allerdings kann ich bei Hubzilla sehr genau und fein erlauben bzw. einschränken).

Erhalte ich von einem fremden Nutze eine Verbindungsanfrage und genehmige ich diese, so bedeutet das aber nicht nur, dass er nun meine Inhalte in seine Timeline bekommt, sondern dass auch ich seine Inhalte erhalte (auch das kann man natürlich einschränken).

Trotzdem könnte es ausgesprochen sinnvoll sein, eine Kontaktliste ("Followed") in seinen Hubzilla-Kanal zu übernehmen.

Und dafür gibt es jetzt mein Addon "csvimport", welches genau das leistet. Man öffnet in dieser App eine csv-Datei mit Kontakten und klickt auf den Button "Import".

csvimport02.png

Anschließend extrahiert das Addon alle Fediverse-Adressen (Handles / Webbies) aus der Datei und stellt Verbindungen zu diesen mit den Standard-Berechtigungen her.

csvimport03.png

Hubzilla-Admins können das Addon entweder manuell installieren oder mein Addon-Repo der Installation hinzufügen:

util/add_addon_repo https://codeberg.org/derpepe/pepes-addons.git pepes-addons

Er muss das Addon dann in der Admin-Oberfläche noch aktivieren, und anschließend kann jeder Nutzer die App in der App-Verwaltung installieren.

Image/photo

#hubzilla #import #kontakte
csvimport02.png
ALT text detailscsvimport02.png
csvimport03.png
ALT text detailscsvimport03.png
Kazuky Akayashi ฅ^•ﻌ•^ฅ's avatar
Kazuky Akayashi ฅ^•ﻌ•^ฅ

@KazukyAkayashi@social.zarchbox.fr · Reply to Kazuky Akayashi ฅ^•ﻌ•^ฅ's post

Les geekos•sses du fedi vont bien nous trouvez un moyen de bloquer cette merde, hein ? n'est-ce pas ? rassurer moi

Hubzilla's avatar
Hubzilla

@info@hubzilla.org

For importing a list of #activitypub contacts/followers into your Hubzilla channel, there's now a new add-on, called csvimport, created by @Der Pepe (Hubzilla) ⁂! Your hub admin can install it from here.

RE: https://hub.hubzilla.hu/item/fe85085a-4838-4b82-98d1-faa0be82819f
Der Pepe (Hubzilla) ⁂ ⚝'s avatar
Der Pepe (Hubzilla) ⁂ ⚝

@pepecyb@hub.hubzilla.hu

Oft taucht bei Interessierten, die zu Hubzilla wechseln möchten oder den Dienst zusätzlich nutzen wollen, die Frage auf, ob es denn möglich ist, seine Kontakte von einem anderen Dienst mitzunehmen.

Sehr viele Fediversedienste erlauben den Export der "Followed-Liste" (also die Liste der Kontakte, denen man selbst folgt) im csv-Format. Hubzilla bietet nativ aber keinen Import solcher Listen an.

Das hat auch einen Grund, denn im Gegensatz zu den meisten anderen Diensten sind Verbindungen bei Hubzilla immer "bidirektional". Das bedeutet, Hubzilla unterscheidet nicht zwischen "Followed" und "Follower". Verbindungen wirken stets in beide Richtungen, sind also "Followed und Follower" zugleich.

Wenn ich eine Verbindung herstelle, dann möchte ich auf die Inhalte des Gefolgten zugreifen (bedeutet meist, dass ich seine Postings in meinem Stream sehen und ggf. darauf reagieren kann). Ich räume ihm aber gleichzeitig auch die Möglichkeit ein, meine Inhalte in seiner Timeline zu sehen und ggf. damit zu interagieren (das allerdings kann ich bei Hubzilla sehr genau und fein erlauben bzw. einschränken).

Erhalte ich von einem fremden Nutze eine Verbindungsanfrage und genehmige ich diese, so bedeutet das aber nicht nur, dass er nun meine Inhalte in seine Timeline bekommt, sondern dass auch ich seine Inhalte erhalte (auch das kann man natürlich einschränken).

Trotzdem könnte es ausgesprochen sinnvoll sein, eine Kontaktliste ("Followed") in seinen Hubzilla-Kanal zu übernehmen.

Und dafür gibt es jetzt mein Addon "csvimport", welches genau das leistet. Man öffnet in dieser App eine csv-Datei mit Kontakten und klickt auf den Button "Import".

csvimport02.png

Anschließend extrahiert das Addon alle Fediverse-Adressen (Handles / Webbies) aus der Datei und stellt Verbindungen zu diesen mit den Standard-Berechtigungen her.

csvimport03.png

Hubzilla-Admins können das Addon entweder manuell installieren oder mein Addon-Repo der Installation hinzufügen:

util/add_addon_repo https://codeberg.org/derpepe/pepes-addons.git pepes-addons

Er muss das Addon dann in der Admin-Oberfläche noch aktivieren, und anschließend kann jeder Nutzer die App in der App-Verwaltung installieren.

Image/photo

#hubzilla #import #kontakte
csvimport02.png
ALT text detailscsvimport02.png
csvimport03.png
ALT text detailscsvimport03.png
Kazuky Akayashi ฅ^•ﻌ•^ฅ's avatar
Kazuky Akayashi ฅ^•ﻌ•^ฅ

@KazukyAkayashi@social.zarchbox.fr · Reply to Kazuky Akayashi ฅ^•ﻌ•^ฅ's post

Bon donc après moulte recherche impossible de bloquer cette merde, pas d'user-agent, même avec mon blocage des user-agent des IA ça passera pas car si je comprend bien ça passer pas direct par Anthropique de mes couilles ...

FANTASTIQUE ...
:blobPikaGlare:

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:blobhyperthink:

App-centrism is a re-centralization force in the fediverse.

For the the accepted app-centric work method is a decentralized NPM-like dependency hell waiting to happen.

Apps that introduce extensions become owners of parts of the specs when they become de-facto standards. We can only hope for responsible , and that the project stays around to keep their docs and code in the air.

The and the are two points of we find acceptable to help mitigate protocol decay and tech debt. It is not ideal, but a bandaid to keep an utterly fragmented developer ecosystem together.

The people who do most of this holding together are volunteers that can be counted on one hand. They may burnout and leave any day, in typical fashion.

investigates the concept of , where the standardization process matches social dynamics that exist in our .

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp · Reply to Fediverse Linux Users Group's post

@COSCUP@floss.social にて「FediDevKR & FediLUG (Japan)」でブースを出展についても採択されました! ​:fedilug:
東アジアのFediverseの発信地・交流の場として準備を進めています!!
日本のFediLUGからはノベルティ配布などの企画を考えています!詳細情報をお楽しみに!!
https://blog.coscup.org/2026/03/coscup-x-ubucon-asia-2026-first-wave-of.html
Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp · Reply to Fediverse Linux Users Group's post

@COSCUP@floss.social にて「FediDevKR & FediLUG (Japan)」でブースを出展についても採択されました! ​:fedilug:
東アジアのFediverseの発信地・交流の場として準備を進めています!!
日本のFediLUGからはノベルティ配布などの企画を考えています!詳細情報をお楽しみに!!
https://blog.coscup.org/2026/03/coscup-x-ubucon-asia-2026-first-wave-of.html
Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp · Reply to Fediverse Linux Users Group's post

@COSCUP@floss.social にて「FediDevKR & FediLUG (Japan)」でブースを出展についても採択されました! ​:fedilug:
東アジアのFediverseの発信地・交流の場として準備を進めています!!
日本のFediLUGからはノベルティ配布などの企画を考えています!詳細情報をお楽しみに!!
https://blog.coscup.org/2026/03/coscup-x-ubucon-asia-2026-first-wave-of.html
Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp · Reply to Fediverse Linux Users Group's post

@COSCUP@floss.social にて「FediDevKR & FediLUG (Japan)」でブースを出展についても採択されました! ​:fedilug:
東アジアのFediverseの発信地・交流の場として準備を進めています!!
日本のFediLUGからはノベルティ配布などの企画を考えています!詳細情報をお楽しみに!!
https://blog.coscup.org/2026/03/coscup-x-ubucon-asia-2026-first-wave-of.html
Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp

2026年8月8–9日台湾・台北にて開催される @COSCUP@floss.social にて、 が主催する「Fediverse & Social Web」トラックが採択されました! 、オープンなソーシャルウェブをテーマに、丸一日・計6時間のトラックを予定しています。

発表者向けのCFP(申し込み)はまだ始まっていませんが、公開され次第お知らせします!

jeremiah's avatar
jeremiah

@jeremiah@micro.glasshoundcomputing.com

I think one down side to a single-user instance is that it's harder for people to find you. If you join a mult-user instance, your posts are surfaced regularly. I like having this instance but I do wish I could send a signal to some instances that I would like their server to pull my posts in.

Maybe something like this is possible and I just don't understand #ActivityPub well enough.

dusoft's avatar
dusoft

@dusoft@fosstodon.org

I have released v1.0 of ActivityPub Bots that are Mastodon-compatible: github.com/nekromoff/mastodon-

How about you celebrate by launching one?! I will click follow!

dusoft's avatar
dusoft

@dusoft@fosstodon.org

I have released v1.0 of ActivityPub Bots that are Mastodon-compatible: github.com/nekromoff/mastodon-

How about you celebrate by launching one?! I will click follow!

silverpill's avatar
silverpill

@silverpill@mitra.social · Reply to 🫧 socialcoding..'s post

@smallcircles

There are a couple of #ActivityPub projects that focus on providing the good tools that abstract away the complexities of wire-level network comms

You're talking to a developer of such project.

There is no "wire chaos", where did you get this idea from?

@fedify

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

New post: Can we have a more “social” media?

profpatsch.de/essays/a-more-so

On advertising, the Fediverse, and what a more human social web could look like.

Special mentions: @smallcircles, @phnt, @happy-programming

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

webbeef's avatar
webbeef

@webbeef@mastodon.social

🦫 alert!

We published the second episode of "Teach the Web new Tricks", featuring
native support for ATProto ! Learn more how we improve user agency and privacy at webbeef.org/atproto.html :

- Native at:// protocol support.
- Log in your PDS and forget OAuth !
- Authorize 3rd parties

Since we're on Mastodon, please help us figure out what we can do to add native ActivityPub support!

top level load of an at:// uri
ALT text detailstop level load of an at:// uri
login to atproto in beaver settings
ALT text detailslogin to atproto in beaver settings
atproto explorer offering to create a new bsky post
ALT text detailsatproto explorer offering to create a new bsky post
context menu with the new atproto authorization item
ALT text detailscontext menu with the new atproto authorization item
webbeef's avatar
webbeef

@webbeef@mastodon.social

🦫 alert!

We published the second episode of "Teach the Web new Tricks", featuring
native support for ATProto ! Learn more how we improve user agency and privacy at webbeef.org/atproto.html :

- Native at:// protocol support.
- Log in your PDS and forget OAuth !
- Authorize 3rd parties

Since we're on Mastodon, please help us figure out what we can do to add native ActivityPub support!

top level load of an at:// uri
ALT text detailstop level load of an at:// uri
login to atproto in beaver settings
ALT text detailslogin to atproto in beaver settings
atproto explorer offering to create a new bsky post
ALT text detailsatproto explorer offering to create a new bsky post
context menu with the new atproto authorization item
ALT text detailscontext menu with the new atproto authorization item
jeremiah's avatar
jeremiah

@jeremiah@micro.glasshoundcomputing.com

I think one down side to a single-user instance is that it's harder for people to find you. If you join a mult-user instance, your posts are surfaced regularly. I like having this instance but I do wish I could send a signal to some instances that I would like their server to pull my posts in.

Maybe something like this is possible and I just don't understand #ActivityPub well enough.

webbeef's avatar
webbeef

@webbeef@mastodon.social

🦫 alert!

We published the second episode of "Teach the Web new Tricks", featuring
native support for ATProto ! Learn more how we improve user agency and privacy at webbeef.org/atproto.html :

- Native at:// protocol support.
- Log in your PDS and forget OAuth !
- Authorize 3rd parties

Since we're on Mastodon, please help us figure out what we can do to add native ActivityPub support!

top level load of an at:// uri
ALT text detailstop level load of an at:// uri
login to atproto in beaver settings
ALT text detailslogin to atproto in beaver settings
atproto explorer offering to create a new bsky post
ALT text detailsatproto explorer offering to create a new bsky post
context menu with the new atproto authorization item
ALT text detailscontext menu with the new atproto authorization item
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social

My ongoing projects in order of priority, for anyone waiting for something:

– Interaction policy / reply controls FEP: highest priority, stalled for the past few weeks due to other responsibilities
@encyclia: probably migrating from Deno+Fresh to Node+Hono for @fedify 2.0, boring infra work
– Updating @fedidevs starter packs for compatibility with @loops and @Mastodon packs: on warm hold, will get to it, but vainly hoping someone will write a Python lib for it before I have to 🙃

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social

My ongoing projects in order of priority, for anyone waiting for something:

– Interaction policy / reply controls FEP: highest priority, stalled for the past few weeks due to other responsibilities
@encyclia: probably migrating from Deno+Fresh to Node+Hono for @fedify 2.0, boring infra work
– Updating @fedidevs starter packs for compatibility with @loops and @Mastodon packs: on warm hold, will get to it, but vainly hoping someone will write a Python lib for it before I have to 🙃

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social

My ongoing projects in order of priority, for anyone waiting for something:

– Interaction policy / reply controls FEP: highest priority, stalled for the past few weeks due to other responsibilities
@encyclia: probably migrating from Deno+Fresh to Node+Hono for @fedify 2.0, boring infra work
– Updating @fedidevs starter packs for compatibility with @loops and @Mastodon packs: on warm hold, will get to it, but vainly hoping someone will write a Python lib for it before I have to 🙃

NovaFuture's avatar
NovaFuture

@novafuture@mastodon.social

What if independent social networks were no longer synonymous with loneliness? This article is both an invitation to debate and a call to action. Can't wait to read your thoughts and please share!

novafuture.org/underground-cul

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social

My ongoing projects in order of priority, for anyone waiting for something:

– Interaction policy / reply controls FEP: highest priority, stalled for the past few weeks due to other responsibilities
@encyclia: probably migrating from Deno+Fresh to Node+Hono for @fedify 2.0, boring infra work
– Updating @fedidevs starter packs for compatibility with @loops and @Mastodon packs: on warm hold, will get to it, but vainly hoping someone will write a Python lib for it before I have to 🙃

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@COSCUP 2026(台北、8月8–9日)にて、Fediverse & Social Webトラックが採択されました!、オープンなソーシャルウェブをテーマに、丸一日・計6時間のトラックを予定しています。

発表者向けのCFPはまだ始まっていませんが、公開され次第お知らせします。お楽しみに!

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp

2026年8月8–9日台湾・台北にて開催される @COSCUP@floss.social にて、 が主催する「Fediverse & Social Web」トラックが採択されました! 、オープンなソーシャルウェブをテーマに、丸一日・計6時間のトラックを予定しています。

発表者向けのCFP(申し込み)はまだ始まっていませんが、公開され次第お知らせします!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

NovaFuture's avatar
NovaFuture

@novafuture@mastodon.social

What if independent social networks were no longer synonymous with loneliness? This article is both an invitation to debate and a call to action. Can't wait to read your thoughts and please share!

novafuture.org/underground-cul

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@COSCUP 2026(臺北(타이베이), 8() 8–9())에서 저희 Fediverse & Social Web 트랙이 承認(승인)되었습니다! , , 오픈 소셜 웹을 主題(주제)로 하루 終日(종일), () 6時間(시간)進行(진행)豫定(예정)입니다.

發表者(발표자) 募集(모집) CFP는 아직 열리지 않았지만, 始作(시작)되는 대로 바로 公知(공지)하겠습니다. 期待(기대)해 주세요!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp · Reply to Fediverse Linux Users Group's post

@COSCUP@floss.social にて「FediDevKR & FediLUG (Japan)」でブースを出展についても採択されました! ​:fedilug:
東アジアのFediverseの発信地・交流の場として準備を進めています!!
日本のFediLUGからはノベルティ配布などの企画を考えています!詳細情報をお楽しみに!!
https://blog.coscup.org/2026/03/coscup-x-ubucon-asia-2026-first-wave-of.html
Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp

2026年8月8–9日台湾・台北にて開催される @COSCUP@floss.social にて、 が主催する「Fediverse & Social Web」トラックが採択されました! 、オープンなソーシャルウェブをテーマに、丸一日・計6時間のトラックを予定しています。

発表者向けのCFP(申し込み)はまだ始まっていませんが、公開され次第お知らせします!

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp

2026年8月8–9日台湾・台北にて開催される @COSCUP@floss.social にて、 が主催する「Fediverse & Social Web」トラックが採択されました! 、オープンなソーシャルウェブをテーマに、丸一日・計6時間のトラックを予定しています。

発表者向けのCFP(申し込み)はまだ始まっていませんが、公開され次第お知らせします!

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp

2026年8月8–9日台湾・台北にて開催される @COSCUP@floss.social にて、 が主催する「Fediverse & Social Web」トラックが採択されました! 、オープンなソーシャルウェブをテーマに、丸一日・計6時間のトラックを予定しています。

発表者向けのCFP(申し込み)はまだ始まっていませんが、公開され次第お知らせします!

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp

2026年8月8–9日台湾・台北にて開催される @COSCUP@floss.social にて、 が主催する「Fediverse & Social Web」トラックが採択されました! 、オープンなソーシャルウェブをテーマに、丸一日・計6時間のトラックを予定しています。

発表者向けのCFP(申し込み)はまだ始まっていませんが、公開され次第お知らせします!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@COSCUP 2026(台北、8月8–9日)にて、Fediverse & Social Webトラックが採択されました!、オープンなソーシャルウェブをテーマに、丸一日・計6時間のトラックを予定しています。

発表者向けのCFPはまだ始まっていませんが、公開され次第お知らせします。お楽しみに!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@COSCUP 2026(台北、8月8–9日)にて、Fediverse & Social Webトラックが採択されました!、オープンなソーシャルウェブをテーマに、丸一日・計6時間のトラックを予定しています。

発表者向けのCFPはまだ始まっていませんが、公開され次第お知らせします。お楽しみに!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@silverpill

There are a couple of projects that focus on providing the good tools that abstract away the complexities of wire-level network comms, and help free the hands of a solution developer to focus more directly on what people need, instead of on plumbing and Babylonian speech confusion of how things fit together. I try to emphasize these projects, e.g. @fedify by listing them higher in the delightful.coding.social curated lists.

But their challenge is to offer a kind of reverse to browser quirks mode. Web browsers can handle about any malformed HTML a person throws at it, and still manage to turn that into machine processable form, and make the most of it.

As a fedi toolkit builder you almost need to do the opposite. Focus on offering comprehensive and intuitive API's and functionality to solution developers, and translate it into wire chaos that constitutes the fediverse-protocol-of-the-day.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to silverpill's post

@silverpill

@delta might like to have a word with you. 😅

I did not try to make the literal comparison between a person who emails or creates email-related software with AP solution development.

What I did want to point out was how blurred the lines are in the fediverse between stuff that is the protocol, and stuff that is solution development i.e. app-specific / domain-specific.

The anti-patterns I listed are encountered by any newcomer dev who takes an interest in creating fedi apps & services, and is faced with much more than they bargained for when reading the AS/AP specs.

It forms a barrier to entry, decrease in attractiveness to create fedi apps, and devs leaving the space for greener pastures (e.g. to or various still-less-mature-than-fedi protocols)

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@COSCUP 2026(臺北(타이베이), 8() 8–9())에서 저희 Fediverse & Social Web 트랙이 承認(승인)되었습니다! , , 오픈 소셜 웹을 主題(주제)로 하루 終日(종일), () 6時間(시간)進行(진행)豫定(예정)입니다.

發表者(발표자) 募集(모집) CFP는 아직 열리지 않았지만, 始作(시작)되는 대로 바로 公知(공지)하겠습니다. 期待(기대)해 주세요!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@COSCUP 2026(台北、8月8–9日)にて、Fediverse & Social Webトラックが採択されました!、オープンなソーシャルウェブをテーマに、丸一日・計6時間のトラックを予定しています。

発表者向けのCFPはまだ始まっていませんが、公開され次第お知らせします。お楽しみに!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@COSCUP 2026(台北、8月8–9日)にて、Fediverse & Social Webトラックが採択されました!、オープンなソーシャルウェブをテーマに、丸一日・計6時間のトラックを予定しています。

発表者向けのCFPはまだ始まっていませんが、公開され次第お知らせします。お楽しみに!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@COSCUP 2026(臺北(타이베이), 8() 8–9())에서 저희 Fediverse & Social Web 트랙이 承認(승인)되었습니다! , , 오픈 소셜 웹을 主題(주제)로 하루 終日(종일), () 6時間(시간)進行(진행)豫定(예정)입니다.

發表者(발표자) 募集(모집) CFP는 아직 열리지 않았지만, 始作(시작)되는 대로 바로 公知(공지)하겠습니다. 期待(기대)해 주세요!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@COSCUP 2026(臺北(타이베이), 8() 8–9())에서 저희 Fediverse & Social Web 트랙이 承認(승인)되었습니다! , , 오픈 소셜 웹을 主題(주제)로 하루 終日(종일), () 6時間(시간)進行(진행)豫定(예정)입니다.

發表者(발표자) 募集(모집) CFP는 아직 열리지 않았지만, 始作(시작)되는 대로 바로 公知(공지)하겠습니다. 期待(기대)해 주세요!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

Our Fediverse & Social Web track has been accepted for @COSCUP 2026 (Taipei, Aug 8–9)! We'll have a full day—six hours—to fill with talks on the , , and the open social web.

The CFP for speakers isn't open yet, but we'll announce it here when it is. Stay tuned!

dusoft's avatar
dusoft

@dusoft@fosstodon.org

Would you like to run your own Mastodon (ActivityPub) bot and don't know how?

Try my tool: github.com/nekromoff/mastodon-

Easy to install, easy to deploy a bot. And then your bot can do whatever you want - create posts, communicate with people, post images or just sit there doing nothing and being a bot.

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

I’ve just created a PR to allow arbitrary Unicode usernames in , in a safe fashion: codeberg.org/flohmarkt/flohmar

given github.com/mastodon/mastodon/i I assume this might make @Edent happy :)

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

I’ve just created a PR to allow arbitrary Unicode usernames in , in a safe fashion: codeberg.org/flohmarkt/flohmar

given github.com/mastodon/mastodon/i I assume this might make @Edent happy :)

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

I’ve just created a PR to allow arbitrary Unicode usernames in , in a safe fashion: codeberg.org/flohmarkt/flohmar

given github.com/mastodon/mastodon/i I assume this might make @Edent happy :)

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

I'm chairing a breakout session on Reviving the Social API at the W3C breakout day in a few minutes!

w3.org/events/meetings/fd048dc

W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social · Reply to W3C Developers's post

The "Reviving the Social API" breakout session starts in 30 minutes!
@w3c @evan

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

I'm chairing a breakout session on Reviving the Social API at the W3C breakout day in a few minutes!

w3.org/events/meetings/fd048dc

W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social · Reply to W3C Developers's post

The "Reviving the Social API" breakout session starts in 30 minutes!
@w3c @evan

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

The next step with will be to let you use your root domain as your identity while still using a subdomain for the relay.
Yes, is kind of like but with . The main difference: your data lives on your device, not on a server, and relays remain completely dumb.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

Next step with and custom domains: being able to use your root domain as your identity. A subdomain would point to the relay via CNAME, but your identity would use your root domain.
I will write a small how-to to make the setup straightforward for everyone.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@evan

I gave an elaborate follow-up to the API protocol design issue, where I also cross-ref'ed this thread..

github.com/swicg/activitypub-a

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Phantasm's post

@phnt @happy-programming @Profpatsch

What was also interesting re: is the unfortunately retracted on Unbound Groups i.e. groups (or organizations) that are not bound to a single instance.

See at codeberg.org/fediverse/fep/src

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

The protocol is often compared to email with its actor inboxes and outboxes.

However email allows emailers to email without knowing anything about how SMTP works under the hood. Using friendly tools you can construct newsletters, order receipts, invoices, etc. and send them to addressees. Fire and forget, and if it was undeliverable you receive notice. The network mechanics are a black box.

Here the significantly differs. Solution developers (emailers) creating apps and services must not only become protocol experts (handle SMTP) but deal with ugly wire reality (self-hosting email), then do whack-a-mole maintenance against moving release targets to fix app-by-app breakages and protocol decay. That is like if I send an email, it may break yours.

The ActivityPub API initiative + task force offer GREAT opportunity to improve things. A greenfield -like start to realign with the original promise and power of AS/AP based social web.

github.com/swicg/activitypub-a

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🏳️‍⚧️ Christin Löhner 🏳️‍🌈's post

@christin nice project. I have queued it for inclusion in the delightful experience curated list.

delightful.coding.social/delig

Note that the repo names confused me at first, to the extent I thought the project was proprietary. I expected the code to be in FediSuite and the docker files in the docker repo.

The app looks to be a fedi client API aggregator. You might be interested to follow closely, perhaps get involved with the developments around the API task force, that'll bring an AP-compliant generic social web communication interface to the client.

github.com/swicg/activitypub-a

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

The next step with will be to let you use your root domain as your identity while still using a subdomain for the relay.
Yes, is kind of like but with . The main difference: your data lives on your device, not on a server, and relays remain completely dumb.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

Next step with and custom domains: being able to use your root domain as your identity. A subdomain would point to the relay via CNAME, but your identity would use your root domain.
I will write a small how-to to make the setup straightforward for everyone.

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

New post: Can we have a more “social” media?

profpatsch.de/essays/a-more-so

On advertising, the Fediverse, and what a more human social web could look like.

Special mentions: @smallcircles, @phnt, @happy-programming

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

The next step with will be to let you use your root domain as your identity while still using a subdomain for the relay.
Yes, is kind of like but with . The main difference: your data lives on your device, not on a server, and relays remain completely dumb.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

Next step with and custom domains: being able to use your root domain as your identity. A subdomain would point to the relay via CNAME, but your identity would use your root domain.
I will write a small how-to to make the setup straightforward for everyone.

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

New post: Can we have a more “social” media?

profpatsch.de/essays/a-more-so

On advertising, the Fediverse, and what a more human social web could look like.

Special mentions: @smallcircles, @phnt, @happy-programming

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

I've seen an ongoing debate between "Note" versus "Article" in ActivityPub / ActivityStreams.

When is something a "Note"‽
When is something an "Article"‽

Personally — I would probably have made the distinction this way.

An "Article" has a title.
A "Note" doesn't have a title.

(In ActivityPub / ActivityStreams, a 'title' seems to tend to get represented in the "name" field.)

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

@evan some time ago you queried about what would be a good comms channel for API.

I have some ideas / recommendations on the repo that the TF uses.

- Structure the repo to hold the work of the full task force, not just for the creation of a single specification document.

- Use GH Discussions for all the general elaboration, feedback collection, etc. The repo forms a self-contained body of work. Move most current Issues in the tracker to become Discussions.

- Issues are created by task force members, and always represent actionable items. They are tracked on a Project kanban board where the swimlanes represent a simple protocol development with a number of stages.

Then:

- Primary comms channel is Discussions.
- Issues + kanban represent work tracks.
- Secondary comms channel can be .

I'd reserve mailing list to and organizational matters concerning the CG itself, and point mails on other subject to appropriate channel.

dansup's avatar
dansup

@dansup@mastodon.social

Loops actors now support interactionPolicy!

browser.pub/https://loops.vide

W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social

📢 @w3c Breakouts Day 2026!
🗓️ Join us tomorrow - 25 March 2026, 13:00–14:00 UTC

The specification defines a social API and a federation protocol. Mastodon and compatible platforms implement the latter but not the former.

Join @evan's session to discuss the social , its value in the distributed social ecosystem, and the efforts to revive its use.
▶️ w3.org/events/meetings/fd048dc

Meeting: Reviving the ActivityPub social API
ALT text detailsMeeting: Reviving the ActivityPub social API
Bogdan Buduroiu's avatar
Bogdan Buduroiu

@budududuroiu@hachyderm.io

Is there any fediverse/ActivityPub fitness tracker, basically Strava for the fediverse?

Bogdan Buduroiu's avatar
Bogdan Buduroiu

@budududuroiu@hachyderm.io

Is there any fediverse/ActivityPub fitness tracker, basically Strava for the fediverse?

W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social

📢 @w3c Breakouts Day 2026!
🗓️ Join us tomorrow - 25 March 2026, 13:00–14:00 UTC

The specification defines a social API and a federation protocol. Mastodon and compatible platforms implement the latter but not the former.

Join @evan's session to discuss the social , its value in the distributed social ecosystem, and the efforts to revive its use.
▶️ w3.org/events/meetings/fd048dc

Meeting: Reviving the ActivityPub social API
ALT text detailsMeeting: Reviving the ActivityPub social API
Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

Sorry, but requiring requests to public activitypub objects to be signed is completely whack, merveilles.town

xh --follow "https://mastodon.xyz/@wim_v12e@merveilles.town/110180070993695741" Accept:application/activity+json
HTTP/2.0 401 Unauthorized
cache-control: private, no-store
content-security-policy: base-uri 'none'; default-src 'none'; frame-ancestors 'none'; font-src 'self' https://merveilles.town; img-src 'self' https: data: blob: https://merveilles.town; style-src 'self' https://merveilles.town 'nonce-ci8BJ2XVV+iqIEWK976Ifg=='; media-src 'self' https: data: https://merveilles.town; frame-src 'self' https:; manifest-src 'self' https://merveilles.town; form-action 'self'; child-src 'self' blob: https://merveilles.town; worker-src 'self' blob: https://merveilles.town; connect-src 'self' data: blob: https://merveilles.town https://assets.merveilles.town wss://merveilles.town; script-src 'self' https://merveilles.town 'wasm-unsafe-eval'
content-type: application/json; charset=utf-8
date: Tue, 24 Mar 2026 12:34:57 GMT
referrer-policy: same-origin
server: Mastodon
strict-transport-security: max-age=63072000; includeSubDomains
vary: Accept, Accept-Language, Cookie, Signature
x-content-type-options: nosniff
x-frame-options: DENY
x-request-id: 62037fec-a978-4640-b772-f61cca1b432a
x-runtime: 0.009568
x-xss-protection: 0

{
    "error": "Request not signed"
}
ALT text detailsxh --follow "https://mastodon.xyz/@wim_v12e@merveilles.town/110180070993695741" Accept:application/activity+json HTTP/2.0 401 Unauthorized cache-control: private, no-store content-security-policy: base-uri 'none'; default-src 'none'; frame-ancestors 'none'; font-src 'self' https://merveilles.town; img-src 'self' https: data: blob: https://merveilles.town; style-src 'self' https://merveilles.town 'nonce-ci8BJ2XVV+iqIEWK976Ifg=='; media-src 'self' https: data: https://merveilles.town; frame-src 'self' https:; manifest-src 'self' https://merveilles.town; form-action 'self'; child-src 'self' blob: https://merveilles.town; worker-src 'self' blob: https://merveilles.town; connect-src 'self' data: blob: https://merveilles.town https://assets.merveilles.town wss://merveilles.town; script-src 'self' https://merveilles.town 'wasm-unsafe-eval' content-type: application/json; charset=utf-8 date: Tue, 24 Mar 2026 12:34:57 GMT referrer-policy: same-origin server: Mastodon strict-transport-security: max-age=63072000; includeSubDomains vary: Accept, Accept-Language, Cookie, Signature x-content-type-options: nosniff x-frame-options: DENY x-request-id: 62037fec-a978-4640-b772-f61cca1b432a x-runtime: 0.009568 x-xss-protection: 0 { "error": "Request not signed" }
Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

Sorry, but requiring requests to public activitypub objects to be signed is completely whack, merveilles.town

xh --follow "https://mastodon.xyz/@wim_v12e@merveilles.town/110180070993695741" Accept:application/activity+json
HTTP/2.0 401 Unauthorized
cache-control: private, no-store
content-security-policy: base-uri 'none'; default-src 'none'; frame-ancestors 'none'; font-src 'self' https://merveilles.town; img-src 'self' https: data: blob: https://merveilles.town; style-src 'self' https://merveilles.town 'nonce-ci8BJ2XVV+iqIEWK976Ifg=='; media-src 'self' https: data: https://merveilles.town; frame-src 'self' https:; manifest-src 'self' https://merveilles.town; form-action 'self'; child-src 'self' blob: https://merveilles.town; worker-src 'self' blob: https://merveilles.town; connect-src 'self' data: blob: https://merveilles.town https://assets.merveilles.town wss://merveilles.town; script-src 'self' https://merveilles.town 'wasm-unsafe-eval'
content-type: application/json; charset=utf-8
date: Tue, 24 Mar 2026 12:34:57 GMT
referrer-policy: same-origin
server: Mastodon
strict-transport-security: max-age=63072000; includeSubDomains
vary: Accept, Accept-Language, Cookie, Signature
x-content-type-options: nosniff
x-frame-options: DENY
x-request-id: 62037fec-a978-4640-b772-f61cca1b432a
x-runtime: 0.009568
x-xss-protection: 0

{
    "error": "Request not signed"
}
ALT text detailsxh --follow "https://mastodon.xyz/@wim_v12e@merveilles.town/110180070993695741" Accept:application/activity+json HTTP/2.0 401 Unauthorized cache-control: private, no-store content-security-policy: base-uri 'none'; default-src 'none'; frame-ancestors 'none'; font-src 'self' https://merveilles.town; img-src 'self' https: data: blob: https://merveilles.town; style-src 'self' https://merveilles.town 'nonce-ci8BJ2XVV+iqIEWK976Ifg=='; media-src 'self' https: data: https://merveilles.town; frame-src 'self' https:; manifest-src 'self' https://merveilles.town; form-action 'self'; child-src 'self' blob: https://merveilles.town; worker-src 'self' blob: https://merveilles.town; connect-src 'self' data: blob: https://merveilles.town https://assets.merveilles.town wss://merveilles.town; script-src 'self' https://merveilles.town 'wasm-unsafe-eval' content-type: application/json; charset=utf-8 date: Tue, 24 Mar 2026 12:34:57 GMT referrer-policy: same-origin server: Mastodon strict-transport-security: max-age=63072000; includeSubDomains vary: Accept, Accept-Language, Cookie, Signature x-content-type-options: nosniff x-frame-options: DENY x-request-id: 62037fec-a978-4640-b772-f61cca1b432a x-runtime: 0.009568 x-xss-protection: 0 { "error": "Request not signed" }
W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social

📢 @w3c Breakouts Day 2026!
🗓️ Join us tomorrow - 25 March 2026, 13:00–14:00 UTC

The specification defines a social API and a federation protocol. Mastodon and compatible platforms implement the latter but not the former.

Join @evan's session to discuss the social , its value in the distributed social ecosystem, and the efforts to revive its use.
▶️ w3.org/events/meetings/fd048dc

Meeting: Reviving the ActivityPub social API
ALT text detailsMeeting: Reviving the ActivityPub social API
W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social

📢 @w3c Breakouts Day 2026!
🗓️ Join us tomorrow - 25 March 2026, 13:00–14:00 UTC

The specification defines a social API and a federation protocol. Mastodon and compatible platforms implement the latter but not the former.

Join @evan's session to discuss the social , its value in the distributed social ecosystem, and the efforts to revive its use.
▶️ w3.org/events/meetings/fd048dc

Meeting: Reviving the ActivityPub social API
ALT text detailsMeeting: Reviving the ActivityPub social API
W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social

📢 @w3c Breakouts Day 2026!
🗓️ Join us tomorrow - 25 March 2026, 13:00–14:00 UTC

The specification defines a social API and a federation protocol. Mastodon and compatible platforms implement the latter but not the former.

Join @evan's session to discuss the social , its value in the distributed social ecosystem, and the efforts to revive its use.
▶️ w3.org/events/meetings/fd048dc

Meeting: Reviving the ActivityPub social API
ALT text detailsMeeting: Reviving the ActivityPub social API
W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social

📢 @w3c Breakouts Day 2026!
🗓️ Join us tomorrow - 25 March 2026, 13:00–14:00 UTC

The specification defines a social API and a federation protocol. Mastodon and compatible platforms implement the latter but not the former.

Join @evan's session to discuss the social , its value in the distributed social ecosystem, and the efforts to revive its use.
▶️ w3.org/events/meetings/fd048dc

Meeting: Reviving the ActivityPub social API
ALT text detailsMeeting: Reviving the ActivityPub social API
KING CONSULT | Kommunikation's avatar
KING CONSULT | Kommunikation

@kingconsult@berlin.social · Reply to Samuel Brinkmann's post

@sabrinkmann

We could talk about this at the -conference and before and after that too!

cc
@iftas
@bjoernsta
@evan
@newsmast
@andypiper
@casey
@reiver
@naturzukunft@mastodon.social
@julian
@liaizon
@matt
@pfefferle
@sofiaritz
@tommi

Aral Balkan's avatar
Aral Balkan

@aral@mastodon.ar.al · Reply to Aral Balkan's post

(Although remember that nothing is private on Mastodon. Your private mentions/direct messages are not end-to-end encrypted so your instance admins – and anyone hosting a hammer to their knees – could be reading them all. If you want to talk privately, use Signal or Delta Chat. Never share sensitive information on “private” messages on Mastodon. That goes double for our friends in Gaza.)

Aral Balkan's avatar
Aral Balkan

@aral@mastodon.ar.al · Reply to Aral Balkan's post

(Although remember that nothing is private on Mastodon. Your private mentions/direct messages are not end-to-end encrypted so your instance admins – and anyone hosting a hammer to their knees – could be reading them all. If you want to talk privately, use Signal or Delta Chat. Never share sensitive information on “private” messages on Mastodon. That goes double for our friends in Gaza.)

dansup's avatar
dansup

@dansup@mastodon.social

Loops actors now support interactionPolicy!

browser.pub/https://loops.vide

dansup's avatar
dansup

@dansup@mastodon.social

Loops actors now support interactionPolicy!

browser.pub/https://loops.vide

JTI's avatar
JTI

@jti42@infosec.exchange

A quick note on Nolto.
On 15 March 2026 its creator Jonathan Tensetti intentionally closed the service and deleted his Fediverse account.

What he built - Europe’s second decentralised LinkedIn alternative on ActivityPub - was gloriously vibecoded but effective. It showed, with hard data and testimonials, that the demand for a sovereignty-respecting professional platform is real.

I had been working in parallel: detailed research on technical choices, product mechanics, business-model viability under distributed/FOSS conditions, and how to test everything in practice for such a product. Nothing yolo — but nothing yet proven in production either. Jonathan precluded me by just yolo'ing the Nolto MVP. Thanks for that.

To move from proven demand to a solid, maintainable product I need proper capital, runway and possibly 1-2 additional people.
I'm looking for European-aligned funding - preferably from Germany, Poland or Denmark - networks that value independence and data protection without the usual bureaucratic overhead.

If you know the right people in those circles, please connect me with them before the current momentum fades.

Serious replies and boosts appreciated.

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , making it accessible to a wider audience. The minimum required Node.js version is 22.0.0. This dual-runtime support means you can now choose your preferred runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your messages, allowing followers to vote on questions with single or multiple-choice options. Polls are represented as ActivityPub Question objects with proper expiration times, and your bot can react to votes through the new onVote event handler. This feature enhances engagement possibilities and brings BotKit to feature parity with major platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What's your favorite programming language?`, {
  class: Question,
  poll: {
    multiple: true,  // Allow multiple selections
    options: ["JavaScript", "TypeScript", "Python", "Rust"],
    endTime: Temporal.Now.instant().add({ hours: 24 }),
  },
});

// Handle votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

The web frontend has been enhanced with a new followers page, thanks to the contribution from Hyeonseo Kim (@gaebalgom)! The /followers route now displays a paginated list of your bot's followers, and the follower count on the main profile page is now clickable, providing better visibility into your bot's audience. This improvement makes the web interface more complete and user-friendly.

For developers looking for alternative storage backends, we've introduced the SqliteRepository through the new @fedify/botkit-sqlite package. This provides a production-ready SQLite-based storage solution with ACID compliance, write-ahead logging (WAL) for optimal performance, and proper indexing. Additionally, the new @fedify/botkit/repository module offers MemoryCachedRepository for adding an in-memory cache layer on top of any repository implementation, improving read performance for frequently accessed data.

This release also includes an important security update: we've upgraded to 1.8.8, ensuring your bots stay secure and compatible with the latest ActivityPub standards. The repository pattern has been expanded with new interfaces and types like RepositoryGetMessagesOptions, RepositoryGetFollowersOptions, and proper support for polls storage through the KvStoreRepositoryPrefixes.polls option, providing more flexibility for custom implementations.

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

We are pleased to announce the release of 1.7.0. This release was expedited at the request of the Ghost team, who are actively using Fedify for their implementation. As a result, several features originally planned for this version have been moved to Fedify 1.8.0 to ensure timely delivery of the most critical improvements.

This release focuses on enhancing message queue functionality and improving compatibility with ActivityPub servers through refined HTTP signature handling.

Native retry mechanism support

This release introduces support for native retry mechanisms in message queue backends. The new MessageQueue.nativeRetrial property allows queue implementations to indicate whether they provide built-in retry functionality, enabling Fedify to optimize its retry behavior accordingly.

When nativeRetrial is set to true, Fedify will delegate retry handling to the queue backend rather than implementing its own retry logic. This approach reduces overhead and leverages the proven retry mechanisms of established queue systems.

Current implementations with native retry support include:

  • DenoKvMessageQueue — utilizes Deno KV's automatic retry with exponential backoff
  • WorkersMessageQueue — leverages Cloudflare Queues' automatic retry and dead-letter queue features
  • AmqpMessageQueue — can now be configured to use AMQP broker's native retry mechanisms

The InProcessMessageQueue continues to use Fedify's internal retry mechanism, while ParallelMessageQueue inherits the retry behavior from its wrapped queue.

AMQP message queue improvements

Alongside Fedify 1.7.0, we have also released @fedify/amqp 0.3.0. This release adds the nativeRetrial option to AmqpMessageQueueOptions, enabling you to leverage your AMQP broker's built-in retry mechanisms. When enabled, this option allows the AMQP broker to handle message retries according to its configured policies, rather than relying on Fedify's internal retry logic.

Configurable double-knocking

The new FederationOptions.firstKnock option provides control over the HTTP Signatures specification used for the initial signature attempt when communicating with previously unknown servers.

Previously, the first knock for newly encountered servers always used RFC 9421 (HTTP Message Signatures), falling back to draft-cavage-http-signatures-12 if needed. With this release, you can now configure which specification to use for the first knock when communicating with unknown servers, with RFC 9421 remaining the default.

Summary

This release maintains Fedify's commitment to reliability and compatibility while laying the groundwork for more efficient message processing. The native retry mechanism support will particularly benefit applications using queue backends with sophisticated retry capabilities, while the double-knocking mechanism addresses real-world compatibility challenges in the ActivityPub ecosystem.

For detailed technical information about these changes, please refer to the changelog in the repository.

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

We are pleased to announce the release of 1.7.0. This release was expedited at the request of the Ghost team, who are actively using Fedify for their implementation. As a result, several features originally planned for this version have been moved to Fedify 1.8.0 to ensure timely delivery of the most critical improvements.

This release focuses on enhancing message queue functionality and improving compatibility with ActivityPub servers through refined HTTP signature handling.

Native retry mechanism support

This release introduces support for native retry mechanisms in message queue backends. The new MessageQueue.nativeRetrial property allows queue implementations to indicate whether they provide built-in retry functionality, enabling Fedify to optimize its retry behavior accordingly.

When nativeRetrial is set to true, Fedify will delegate retry handling to the queue backend rather than implementing its own retry logic. This approach reduces overhead and leverages the proven retry mechanisms of established queue systems.

Current implementations with native retry support include:

  • DenoKvMessageQueue — utilizes Deno KV's automatic retry with exponential backoff
  • WorkersMessageQueue — leverages Cloudflare Queues' automatic retry and dead-letter queue features
  • AmqpMessageQueue — can now be configured to use AMQP broker's native retry mechanisms

The InProcessMessageQueue continues to use Fedify's internal retry mechanism, while ParallelMessageQueue inherits the retry behavior from its wrapped queue.

AMQP message queue improvements

Alongside Fedify 1.7.0, we have also released @fedify/amqp 0.3.0. This release adds the nativeRetrial option to AmqpMessageQueueOptions, enabling you to leverage your AMQP broker's built-in retry mechanisms. When enabled, this option allows the AMQP broker to handle message retries according to its configured policies, rather than relying on Fedify's internal retry logic.

Configurable double-knocking

The new FederationOptions.firstKnock option provides control over the HTTP Signatures specification used for the initial signature attempt when communicating with previously unknown servers.

Previously, the first knock for newly encountered servers always used RFC 9421 (HTTP Message Signatures), falling back to draft-cavage-http-signatures-12 if needed. With this release, you can now configure which specification to use for the first knock when communicating with unknown servers, with RFC 9421 remaining the default.

Summary

This release maintains Fedify's commitment to reliability and compatibility while laying the groundwork for more efficient message processing. The native retry mechanism support will particularly benefit applications using queue backends with sophisticated retry capabilities, while the double-knocking mechanism addresses real-world compatibility challenges in the ActivityPub ecosystem.

For detailed technical information about these changes, please refer to the changelog in the repository.

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

:botkit: Introducing : A framework for creating truly standalone bots!

Unlike traditional Mastodon bots, BotKit lets you build fully independent bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.

Currently -only, with Node.js & Bun support planned. Built on the robust @fedify foundation.

https://botkit.fedify.dev/

dusoft's avatar
dusoft

@dusoft@fosstodon.org

Hey guys, you read my troubles with developing an ActivityPub / Mastodon multibot instance yesterday? Well, I got it working in the end and have already migrated four bots and added another two to it.

And here is the code that I open source now:
github.com/nekromoff/mastodon-

dusoft's avatar
dusoft

@dusoft@fosstodon.org

Hey guys, you read my troubles with developing an ActivityPub / Mastodon multibot instance yesterday? Well, I got it working in the end and have already migrated four bots and added another two to it.

And here is the code that I open source now:
github.com/nekromoff/mastodon-

JTI's avatar
JTI

@jti42@infosec.exchange

A quick note on Nolto.
On 15 March 2026 its creator Jonathan Tensetti intentionally closed the service and deleted his Fediverse account.

What he built - Europe’s second decentralised LinkedIn alternative on ActivityPub - was gloriously vibecoded but effective. It showed, with hard data and testimonials, that the demand for a sovereignty-respecting professional platform is real.

I had been working in parallel: detailed research on technical choices, product mechanics, business-model viability under distributed/FOSS conditions, and how to test everything in practice for such a product. Nothing yolo — but nothing yet proven in production either. Jonathan precluded me by just yolo'ing the Nolto MVP. Thanks for that.

To move from proven demand to a solid, maintainable product I need proper capital, runway and possibly 1-2 additional people.
I'm looking for European-aligned funding - preferably from Germany, Poland or Denmark - networks that value independence and data protection without the usual bureaucratic overhead.

If you know the right people in those circles, please connect me with them before the current momentum fades.

Serious replies and boosts appreciated.

FediVariety's avatar
FediVariety

@FediVariety@mastodon.social

Thanks to everyone who attended the unconference, & @manfredzielinski & @douwe from the @gemeenteamsterdam for all their support!

It was a pleasure to be a harbour for a great variety of space ships in the

Main takeaway:
We ALL want to see more public institutions on the & there are people working on it.

More to be followed.. Stay tuned!

A table with office material, stickers and yellow T-shirts in the style of the sex pistols (black letterson top and a pink invert on the bottom) spelling "Never mind the billionares here's the fediverse". 
Next to them is a purple sign saying "T-Shirts donation-based" and up from it is a A4 QR code asking for support for donation for the NOAW unconference. 
On the right there is story card with a Monty Python reference picture of a foot and the title "Shapping a rock into a ball"
ALT text detailsA table with office material, stickers and yellow T-shirts in the style of the sex pistols (black letterson top and a pink invert on the bottom) spelling "Never mind the billionares here's the fediverse". Next to them is a purple sign saying "T-Shirts donation-based" and up from it is a A4 QR code asking for support for donation for the NOAW unconference. On the right there is story card with a Monty Python reference picture of a foot and the title "Shapping a rock into a ball"
Elena Rossini ⁂'s avatar
Elena Rossini ⁂

@_elena@mastodon.social

With the news of the secret $100 million investment in Bluesky by Bain, I keep thinking about protocols.

Maybe the perceived "drawbacks" of are ultimately strengths?

handles identity in a way that allows a single sign-in across apps. But wouldn't this make it easier to profile you? Is this why crypto VCs are so attracted to it?

And ATproto has funding in the 100s of millions by VCs but at some point they'll want to turn a profit. There is ZERO pressure here to ensh*tt*fy

FediVariety's avatar
FediVariety

@FediVariety@mastodon.social

Thanks to everyone who attended the unconference, & @manfredzielinski & @douwe from the @gemeenteamsterdam for all their support!

It was a pleasure to be a harbour for a great variety of space ships in the

Main takeaway:
We ALL want to see more public institutions on the & there are people working on it.

More to be followed.. Stay tuned!

A table with office material, stickers and yellow T-shirts in the style of the sex pistols (black letterson top and a pink invert on the bottom) spelling "Never mind the billionares here's the fediverse". 
Next to them is a purple sign saying "T-Shirts donation-based" and up from it is a A4 QR code asking for support for donation for the NOAW unconference. 
On the right there is story card with a Monty Python reference picture of a foot and the title "Shapping a rock into a ball"
ALT text detailsA table with office material, stickers and yellow T-shirts in the style of the sex pistols (black letterson top and a pink invert on the bottom) spelling "Never mind the billionares here's the fediverse". Next to them is a purple sign saying "T-Shirts donation-based" and up from it is a A4 QR code asking for support for donation for the NOAW unconference. On the right there is story card with a Monty Python reference picture of a foot and the title "Shapping a rock into a ball"
FediVariety's avatar
FediVariety

@FediVariety@mastodon.social

Thanks to everyone who attended the unconference, & @manfredzielinski & @douwe from the @gemeenteamsterdam for all their support!

It was a pleasure to be a harbour for a great variety of space ships in the

Main takeaway:
We ALL want to see more public institutions on the & there are people working on it.

More to be followed.. Stay tuned!

A table with office material, stickers and yellow T-shirts in the style of the sex pistols (black letterson top and a pink invert on the bottom) spelling "Never mind the billionares here's the fediverse". 
Next to them is a purple sign saying "T-Shirts donation-based" and up from it is a A4 QR code asking for support for donation for the NOAW unconference. 
On the right there is story card with a Monty Python reference picture of a foot and the title "Shapping a rock into a ball"
ALT text detailsA table with office material, stickers and yellow T-shirts in the style of the sex pistols (black letterson top and a pink invert on the bottom) spelling "Never mind the billionares here's the fediverse". Next to them is a purple sign saying "T-Shirts donation-based" and up from it is a A4 QR code asking for support for donation for the NOAW unconference. On the right there is story card with a Monty Python reference picture of a foot and the title "Shapping a rock into a ball"
Elena Rossini ⁂'s avatar
Elena Rossini ⁂

@_elena@mastodon.social

With the news of the secret $100 million investment in Bluesky by Bain, I keep thinking about protocols.

Maybe the perceived "drawbacks" of are ultimately strengths?

handles identity in a way that allows a single sign-in across apps. But wouldn't this make it easier to profile you? Is this why crypto VCs are so attracted to it?

And ATproto has funding in the 100s of millions by VCs but at some point they'll want to turn a profit. There is ZERO pressure here to ensh*tt*fy

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Elena Rossini ⁂'s post

@_elena

Imho they are strengths, for sure. The spec shortcomings, protocol decay, and chaotic commons' inability to address them weigh up to a certain amount of resilience in the ecosystem that manages to grow *despite* these drawbacks. And also simply by being better specified, documented, and accessible to implementers, has led to such uptake of the de facto standard, that it has become a lightning rod for the kinds of commercial attention we rather avoid for the fediverse (generally speaking).

However, we can do better than chaotic commons, and foster chaordic organization around ecoysystem formation, such that one day we can say that is truly "commons based", i.e. people are in control, by the people for the people, and able to sustainably evolve and grow naturally.

Chaordic organization is quite fascinating, and it aligns to the social dynamics that are at play on the fediverse between people..

coding.social/blog/reimagine-s

occult's avatar
occult

@occult@ominous.net · Reply to occult's post

When someone asks me what the , or is I'll use this illustration from UNIX Review, April 1985.

Illustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
ALT text detailsIllustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
Raphael Lullis's avatar
Raphael Lullis

@raphael@communick.com · Reply to Elena Rossini ⁂'s post

@_elena

> Maybe the perceived "drawbacks" of are ultimately strengths?

This is where I disagree with the majority of current Fediverse.

> But wouldn't this make it easier to profile you?

Not really, no. Any sufficiently motivated entity can easily track internet activity, having different identities for different services does not really stop them.

Raphael Lullis's avatar
Raphael Lullis

@raphael@communick.com · Reply to Elena Rossini ⁂'s post

@_elena

> Maybe the perceived "drawbacks" of are ultimately strengths?

This is where I disagree with the majority of current Fediverse.

> But wouldn't this make it easier to profile you?

Not really, no. Any sufficiently motivated entity can easily track internet activity, having different identities for different services does not really stop them.

Elena Rossini ⁂'s avatar
Elena Rossini ⁂

@_elena@mastodon.social

With the news of the secret $100 million investment in Bluesky by Bain, I keep thinking about protocols.

Maybe the perceived "drawbacks" of are ultimately strengths?

handles identity in a way that allows a single sign-in across apps. But wouldn't this make it easier to profile you? Is this why crypto VCs are so attracted to it?

And ATproto has funding in the 100s of millions by VCs but at some point they'll want to turn a profit. There is ZERO pressure here to ensh*tt*fy

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Elena Rossini ⁂'s post

@_elena

Imho they are strengths, for sure. The spec shortcomings, protocol decay, and chaotic commons' inability to address them weigh up to a certain amount of resilience in the ecosystem that manages to grow *despite* these drawbacks. And also simply by being better specified, documented, and accessible to implementers, has led to such uptake of the de facto standard, that it has become a lightning rod for the kinds of commercial attention we rather avoid for the fediverse (generally speaking).

However, we can do better than chaotic commons, and foster chaordic organization around ecoysystem formation, such that one day we can say that is truly "commons based", i.e. people are in control, by the people for the people, and able to sustainably evolve and grow naturally.

Chaordic organization is quite fascinating, and it aligns to the social dynamics that are at play on the fediverse between people..

coding.social/blog/reimagine-s

Elena Rossini ⁂'s avatar
Elena Rossini ⁂

@_elena@mastodon.social

With the news of the secret $100 million investment in Bluesky by Bain, I keep thinking about protocols.

Maybe the perceived "drawbacks" of are ultimately strengths?

handles identity in a way that allows a single sign-in across apps. But wouldn't this make it easier to profile you? Is this why crypto VCs are so attracted to it?

And ATproto has funding in the 100s of millions by VCs but at some point they'll want to turn a profit. There is ZERO pressure here to ensh*tt*fy

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Evan Prodromou's post

@evan @julian

I have created a separate issue "Protocol design" in the API repo, cross-referencing to this discussion and the issue I created earlier to "Avoid misconception".

github.com/swicg/activitypub-a

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

developers only: do you implement rate limit support in your HTTP client implementation?

OptionVoters
Yes11 (48%)
Yes, but...4 (17%)
No, but...4 (17%)
No4 (17%)
Strypey's avatar
Strypey

@strypey@mastodon.nzoss.nz · Reply to Spencer McCullough's post

@spencexyz
> My goal is to figure out how I can bring https://
gobikecamping.com/ into the fediverse and help people who love bike touring own their data

I know you've been bombed with a lot of suggestions here, we're all so helpful, sometimes *too* helpful ; )

But if you really want to get your head around the basics of how works without getting lost in the weeds, I highly recommend;

tinysubversions.com/notes/read

I'm a kindy-level coder, but even I was able to make sense of this.

Strypey's avatar
Strypey

@strypey@mastodon.nzoss.nz · Reply to Spencer McCullough's post

@spencexyz
> Is there a website that shows federated projects that people are building?

There's a few. I'll leave other maintainers to pitch their own, but I'm involved with;

fediverse.party/en/miscellaneo

... which is based on data gathering on this watchlist;

codeberg.org/fediverse/fedipar

FYI they both need some major updates, but I was recently shouldertapped to take over as Lead Goose, and we're working on it!

(1/2)

@Reinald @clew

dansup's avatar
dansup

@dansup@mastodon.social

Introducing Starter Kits

blog.joinloops.org/introducing

Rasmus Sindum's avatar
Rasmus Sindum

@sindum@mstdn.dk

It's been a fun weekend building a new working fediverse applikation.

The tech stack so far..

Backend: Go — fast, simple, great concurrency. No magic, just code.

Frontend: SvelteKit — feels like writing HTML that actually works. SSR out of the box.

Database: PostgreSQL — boring in the best possible way.

Queue: Asynq + Redis — async ActivityPub delivery with retry logic. Workers run separately from the API.

Federation: ActivityPub — HTTP signatures, shared inbox, fan-out delivery for groups and followers.

Infra: Docker Compose — one file per instance, easy to spin up new nodes.

Everything self-hostable. No cloud dependencies. No vendor lock-in.

Still early days — but the foundation feels solid.

And yes - A lot of help fra Claude code. I decided to go all in an use big tech to fight big tech.

dansup's avatar
dansup

@dansup@mastodon.social

Introducing Starter Kits

blog.joinloops.org/introducing

Sam Clemente's avatar
Sam Clemente

@countablenewt@mastodon.social

You know, it’s entirely possible to use ATProto without touching anything owned by Bluesky proper

Pretending that Bluesky is the whole of ATProto is like pretending the whole of the Fediverse is Mastodon

Stop using your ignorance as vindication in your choice of home platform, it’s not ATProto vs ActivityPub

It’s the Social Web vs centralized social media

Rasmus Sindum's avatar
Rasmus Sindum

@sindum@mstdn.dk

Meet Fedibook!

The idea came from thinking about what it actually takes to get regular users onto the fediverse. Mastodon is great (i love it), but the follow-based model feels unfamiliar to some. Friends and Groups though — that's something everyone already understands.

So Fedibook is a fediverse platform built around exactly that, using ActivityPub. Think federated address book meets social network, with the kind of social graph people are already used to.

Current status:

- Friend requests across servers working
- News feed working, with visibility levels: public, friends-only, or local server only

Hoping to open up for early testing and feedback soon. Open source of course.

Screenshut of fedibook dev server
ALT text detailsScreenshut of fedibook dev server
dansup's avatar
dansup

@dansup@mastodon.social

Introducing Starter Kits

blog.joinloops.org/introducing

Zsolt's avatar
Zsolt

@zsoltsb@mastodon.social

Looks like there is a new kid on the block: holos.social
You can find them on & # Nostr: @HolosSocial
From what I understand it's with features of Nostr: profiles are only distributed by relays, not hosted on the servers themselves.

Zsolt's avatar
Zsolt

@zsoltsb@mastodon.social

Looks like there is a new kid on the block: holos.social
You can find them on & # Nostr: @HolosSocial
From what I understand it's with features of Nostr: profiles are only distributed by relays, not hosted on the servers themselves.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to julian's post

@julian @evan

Voted "No, but.." against backdrop of API task force, where issue tracker has an issue on rate limits.

From perspective of "avoiding misconceptions" I was wondering about a range of issues that have been created, and how they relate to Protocol versus Solution design. See also: github.com/swicg/activitypub-a

I think it may be valuable to define different stakeholder roles, to track people's needs. For thus far I discern in order of importance:

1. Solution developer
2. Protosocial implementer
3. Protocol designer

When asking the question "Should rate limits be part of the protocol?", starting point for design is a firm No.

Solution devs should not be worried about them. Need for rate limits depends on requirements of individual Protosocial impls, and what their goals are.

Protocol-level there's actor introspection. There are no "instances" but Application actors that host Services, including system services, that may expose Rate Limit as metadata.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

developers only: do you implement rate limit support in your HTTP client implementation?

OptionVoters
Yes11 (48%)
Yes, but...4 (17%)
No, but...4 (17%)
No4 (17%)
Daniel Hernández's avatar
Daniel Hernández

@daniel@mstdn.degu.cl

Today I launched a game called @frases, which consists of guessing daily sentences (like Wordle). It supports agents for communication. Like @ladeldiacl, these sentences are
region-specific. However, I created different actors for , , , , , and . The game is open to try!

Website: frases.degu.cl/

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to julian's post

@julian @evan

Voted "No, but.." against backdrop of API task force, where issue tracker has an issue on rate limits.

From perspective of "avoiding misconceptions" I was wondering about a range of issues that have been created, and how they relate to Protocol versus Solution design. See also: github.com/swicg/activitypub-a

I think it may be valuable to define different stakeholder roles, to track people's needs. For thus far I discern in order of importance:

1. Solution developer
2. Protosocial implementer
3. Protocol designer

When asking the question "Should rate limits be part of the protocol?", starting point for design is a firm No.

Solution devs should not be worried about them. Need for rate limits depends on requirements of individual Protosocial impls, and what their goals are.

Protocol-level there's actor introspection. There are no "instances" but Application actors that host Services, including system services, that may expose Rate Limit as metadata.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

developers only: do you implement rate limit support in your HTTP client implementation?

OptionVoters
Yes11 (48%)
Yes, but...4 (17%)
No, but...4 (17%)
No4 (17%)
Daniel Hernández's avatar
Daniel Hernández

@daniel@mstdn.degu.cl

Today I launched a game called @frases, which consists of guessing daily sentences (like Wordle). It supports agents for communication. Like @ladeldiacl, these sentences are
region-specific. However, I created different actors for , , , , , and . The game is open to try!

Website: frases.degu.cl/

Rad Web Hosting's avatar
Rad Web Hosting

@radwebhosting@mastodon.social

How to Host Your Own Server on a (5 Minute Quick-Start Guide)

This article provides a guide for how to host your own Mastodon server on a VPS.

Running your own Mastodon server on a VPS is an excellent way to enjoy an efficient and secure Mastodon experience.
What is Mastodon?
Mastodon is a social media platform that enables users to post ...
Continued 👉 blog.radwebhosting.com/how-to-

Rad Web Hosting's avatar
Rad Web Hosting

@radwebhosting@mastodon.social

How to Host Your Own Server on a (5 Minute Quick-Start Guide)

This article provides a guide for how to host your own Mastodon server on a VPS.

Running your own Mastodon server on a VPS is an excellent way to enjoy an efficient and secure Mastodon experience.
What is Mastodon?
Mastodon is a social media platform that enables users to post ...
Continued 👉 blog.radwebhosting.com/how-to-

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

developers only: do you implement rate limit support in your HTTP client implementation?

OptionVoters
Yes11 (48%)
Yes, but...4 (17%)
No, but...4 (17%)
No4 (17%)
Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

developers only: do you implement rate limit support in your HTTP client implementation?

OptionVoters
Yes11 (48%)
Yes, but...4 (17%)
No, but...4 (17%)
No4 (17%)
Rasmus Sindum's avatar
Rasmus Sindum

@sindum@mstdn.dk

Meet Fedibook!

The idea came from thinking about what it actually takes to get regular users onto the fediverse. Mastodon is great (i love it), but the follow-based model feels unfamiliar to some. Friends and Groups though — that's something everyone already understands.

So Fedibook is a fediverse platform built around exactly that, using ActivityPub. Think federated address book meets social network, with the kind of social graph people are already used to.

Current status:

- Friend requests across servers working
- News feed working, with visibility levels: public, friends-only, or local server only

Hoping to open up for early testing and feedback soon. Open source of course.

Screenshut of fedibook dev server
ALT text detailsScreenshut of fedibook dev server
Rasmus Sindum's avatar
Rasmus Sindum

@sindum@mstdn.dk

Meet Fedibook!

The idea came from thinking about what it actually takes to get regular users onto the fediverse. Mastodon is great (i love it), but the follow-based model feels unfamiliar to some. Friends and Groups though — that's something everyone already understands.

So Fedibook is a fediverse platform built around exactly that, using ActivityPub. Think federated address book meets social network, with the kind of social graph people are already used to.

Current status:

- Friend requests across servers working
- News feed working, with visibility levels: public, friends-only, or local server only

Hoping to open up for early testing and feedback soon. Open source of course.

Screenshut of fedibook dev server
ALT text detailsScreenshut of fedibook dev server
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.

The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.

I'm leaning towards writing a to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.

What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.

The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.

I'm leaning towards writing a to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.

What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.

The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.

I'm leaning towards writing a to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.

What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.

The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.

I'm leaning towards writing a to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.

What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.

ewan's avatar
ewan

@ewan@ap.ewancroft.uk

wrote a blog post about why i moved from GoToSocial to Sharkey, the state of ActivityPub mobile apps (not great if you're western and use a Misskey/Misskey fork server, sorry), and why i find myself hoping Bluesky adds something like MFM one day. ​:wlfChuckle:

also contains an uncharitable word about Nostr. you're welcome.
:wlfAghast:

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.

The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.

I'm leaning towards writing a to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.

What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.

The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.

I'm leaning towards writing a to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.

What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.

Raphael Lullis's avatar
Raphael Lullis

@raphael@communick.com

Embedded graph database built in , with bindings, allows storing and querying data in RDF: grafeo.dev/

One more piece down in order to build my dream browser.

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

Finally got around to rebuilding my personal website: naturzukunft.de

It explains what I'm working on: open, federated infrastructure so small initiatives — repair cafés, community gardens, food co-ops — become visible to AI systems. Not another platform. Open rails.

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

Finally got around to rebuilding my personal website: naturzukunft.de

It explains what I'm working on: open, federated infrastructure so small initiatives — repair cafés, community gardens, food co-ops — become visible to AI systems. Not another platform. Open rails.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Tommi 🤯's post

@tommi @doriane @gwil @xpub

Very elaborate notes, thanks for sharing. On I read this, and totally agree:

> there is this huge gulf between people who design these systems and the people who will use these systems.

There are follow-up notes about maintenance and , and how volunteers burn out on upholding the always-on instances that requires.

Interest areas where Social coding commons focuses. The fediverse by itself is just tech, created in a technosphere. Tech that should ultimately fulfill social needs of the people using it. In the sociosphere.

Social experience design focuses on the intersection of , , and the that creates it and relies on it. is a core principle, sustainable evolution and natural growth are objectives.

Moderation is but one of many patterns that works at certain scales. SX is focused on overarching formation of .

coding.social/blog/reimagine-s

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Alex's post

@alex @MichalBryxi @evan

> The NoBot isn't app specific fwiw, it's pretty standard.

"pretty" boils down to de-facto standard, or rather it became a sorta kinda requirement by means of post-facto . In other words: Who comes first, and popularizes some custom app-specific extension, becomes owner of that part of the spec that is now considered protocol-native.

is app-specific too. Or Microblogging domain-specific perhaps, albeit implicitly then.

When it comes to considering it standard, we talk about accepting protocol decay. Specifically:

- Considering the way account profiles are handled to be part of the protocol.
- To handle special control words (or just ) in the profile text.

social.coop/@smallcircles/1161

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

I recreated an old diagram in Excalidraw that I spread about a couple years ago, and made it a bit more informative. Explanation can be found in the

See also and for discussion: discuss.coding.social/t/diagra

Or join the Social experience design chatroom at: matrix.to/#/#socialcoding-foun

Also posted to at: socialhub.activitypub.rocks/t/

@ben

Diagram. Interoperability in practice. A chart with a horizontal axis that goes in 2 directions. On the left it moves towards chaotic grassroots growth, and on the right side towards open standards adoption. The Y-axis indicates level of complexity. The center indicates a low level of complexity.

On the left side of the axis we first find the ActivityPub open standard, with a relatively low complexity level. However the prevailing method to evolving the ecosystem is driven by post facto interoperability, where tech debt and protocol decay is introduced and accepted, which must be refactored and evolve alongside the open standard. Since this doesn’t happen, the fediverse grassroots environment is shifting more to the left into non-lineary increasing accidental complexity. Deviating more and more from the ActivityPub standard and the promise that it holds to offer the Future of Social networking.

On the right side, to contrast against fediverse, we find the Solid Project led by Sir Tim Berners-Lee, which is based on a whole range of W3C Linked Data related open standards and draft documents. There is no grassroots movement that drives progress, but a steering committee. Progress is restrained by open standards adoption and support. Higher levels of interoperability require more rigour and formal standardization, and this also leads to non-linear growth of, in this case, engineered complexity. Solution developers have to wait for many standards to mature, leading to inertia.
ALT text detailsDiagram. Interoperability in practice. A chart with a horizontal axis that goes in 2 directions. On the left it moves towards chaotic grassroots growth, and on the right side towards open standards adoption. The Y-axis indicates level of complexity. The center indicates a low level of complexity. On the left side of the axis we first find the ActivityPub open standard, with a relatively low complexity level. However the prevailing method to evolving the ecosystem is driven by post facto interoperability, where tech debt and protocol decay is introduced and accepted, which must be refactored and evolve alongside the open standard. Since this doesn’t happen, the fediverse grassroots environment is shifting more to the left into non-lineary increasing accidental complexity. Deviating more and more from the ActivityPub standard and the promise that it holds to offer the Future of Social networking. On the right side, to contrast against fediverse, we find the Solid Project led by Sir Tim Berners-Lee, which is based on a whole range of W3C Linked Data related open standards and draft documents. There is no grassroots movement that drives progress, but a steering committee. Progress is restrained by open standards adoption and support. Higher levels of interoperability require more rigour and formal standardization, and this also leads to non-linear growth of, in this case, engineered complexity. Solution developers have to wait for many standards to mature, leading to inertia.
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Alex's post

@alex @MichalBryxi

I find this habit of creating magic profile hashtags to be a real bad practice, especially when modeling opt-outs in app-specific manner. cc @evan

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Tommi 🤯's post

@tommi @doriane @gwil @xpub

Very elaborate notes, thanks for sharing. On I read this, and totally agree:

> there is this huge gulf between people who design these systems and the people who will use these systems.

There are follow-up notes about maintenance and , and how volunteers burn out on upholding the always-on instances that requires.

Interest areas where Social coding commons focuses. The fediverse by itself is just tech, created in a technosphere. Tech that should ultimately fulfill social needs of the people using it. In the sociosphere.

Social experience design focuses on the intersection of , , and the that creates it and relies on it. is a core principle, sustainable evolution and natural growth are objectives.

Moderation is but one of many patterns that works at certain scales. SX is focused on overarching formation of .

coding.social/blog/reimagine-s

Michal Bryxí's avatar
Michal Bryxí

@MichalBryxi@mastodon.world

Am I overreacting? The server @tags.pub takes every of my toots that contain any hashtag, and boost it using an account that has the name of said hashtag.

If I want to follow a hashtag, there is native feature for that within mastodon / activity pub. So my knee jerk reaction is that this is some shady click harvesting. Or?

Aaron's avatar
Aaron

@FWAaron@social.coop

So one thing this post discusses is governance of servers. When I joined Mastodon, a server which is cooperatively/democratically governed seemed like the natural and obvious choice, so I found one and joined it. I still think that and hope people create more cooperatively governed servers. But the structure of the activitypub protocol does place natural limitations on how much governance of servers can shape the fediverse. It doesn't use the exact words but a major theme is that everything is about power and it's essential to look at where structures place power.

connectedplaces.online/the-pur

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.

The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.

I'm leaning towards writing a to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.

What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.

The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.

I'm leaning towards writing a to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.

What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.

The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.

I'm leaning towards writing a to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.

What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-20

Servers

- Akkoma v2026.03
- Bonfire v1.0.2
- PeerTube v8.1.3
- Mitra v4.20.0
- NodeBB v4.10.0
- GoToSocial v0.21.2
- Funkwhale v2.0.0
- Ktistec v3.3.4
- ActivityPub for WordPress v8.0.2
- PeerTube v8.1.3
- ties v0.2.0
- Wafrn v2026.03.02
- PieFed v1.6.13
- Some updates to ActivityBot
- tags.pub: Global hashtag server

Clients

- Fedilab v3.37.1
- tinmop v0.9.9.141421356237309504
- tooi v0.23.0
- Holos v1.0.0
- Voyager v2.44.0
- Aria v1.4.6

Tools and Plugins

- mastodon-bookmark-rss: A small app to let you connect your mastodon bookmarks to your RSS reader
- smol overlays: Chat overlay and emoji wall for Owncast streamers

For developers

- activitypub-federation-rust v0.5.11

Protocol

- FEP-3ab2: ActivityPub Event Streaming API
- FEP-34ec: Notification Collection Endpoint
- FEP-db70: RemoveAll Collection Activity
- FEP-c07e: add product type to object
- FEP-c195: JSONPath Filtering for ActivityPub Collection Retrieval
- FEP-f011: Full-Text Search Query Syntax for ActivityPub
- FEP-a1d1: ActivityPub Patch
- FEP-c81b: Agent Social Attribution for ActivityPub

Articles

- Openness, transparency and reach: three reasons why public institutions should embrace the Fediverse
- The Purpose of Protocols

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019ce933-238d-11fb-304d-c3557c940c30

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.

The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.

I'm leaning towards writing a to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.

What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

developers only please: how many items should be in a full collection page?

OptionVoters
Around 12 or fewer6 (11%)
Around 2017 (30%)
Around 5018 (32%)
Around 100 or more15 (27%)
Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

developers only please: how many items should be in a full collection page?

OptionVoters
Around 12 or fewer6 (11%)
Around 2017 (30%)
Around 5018 (32%)
Around 100 or more15 (27%)
Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

The source code of is now available on . PawFed is a federated map for animal welfare: reports come from the via mentions, and permanent places like shelters and vets are pulled from OpenStreetMap.

A location is not always required: if you have supplies or food to give away and can ship, just say so.

Found an abandoned animal? Just report it.

How to build a message: pawfed.org/tags

Source code: codeberg.org/tom79/PawFed

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

The source code of is now available on . PawFed is a federated map for animal welfare: reports come from the via mentions, and permanent places like shelters and vets are pulled from OpenStreetMap.

A location is not always required: if you have supplies or food to give away and can ship, just say so.

Found an abandoned animal? Just report it.

How to build a message: pawfed.org/tags

Source code: codeberg.org/tom79/PawFed

Aaron's avatar
Aaron

@FWAaron@social.coop

So one thing this post discusses is governance of servers. When I joined Mastodon, a server which is cooperatively/democratically governed seemed like the natural and obvious choice, so I found one and joined it. I still think that and hope people create more cooperatively governed servers. But the structure of the activitypub protocol does place natural limitations on how much governance of servers can shape the fediverse. It doesn't use the exact words but a major theme is that everything is about power and it's essential to look at where structures place power.

connectedplaces.online/the-pur

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

The source code of is now available on . PawFed is a federated map for animal welfare: reports come from the via mentions, and permanent places like shelters and vets are pulled from OpenStreetMap.

A location is not always required: if you have supplies or food to give away and can ship, just say so.

Found an abandoned animal? Just report it.

How to build a message: pawfed.org/tags

Source code: codeberg.org/tom79/PawFed

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

The source code of is now available on . PawFed is a federated map for animal welfare: reports come from the via mentions, and permanent places like shelters and vets are pulled from OpenStreetMap.

A location is not always required: if you have supplies or food to give away and can ship, just say so.

Found an abandoned animal? Just report it.

How to build a message: pawfed.org/tags

Source code: codeberg.org/tom79/PawFed

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-20

Servers

- Akkoma v2026.03
- Bonfire v1.0.2
- PeerTube v8.1.3
- Mitra v4.20.0
- NodeBB v4.10.0
- GoToSocial v0.21.2
- Funkwhale v2.0.0
- Ktistec v3.3.4
- ActivityPub for WordPress v8.0.2
- PeerTube v8.1.3
- ties v0.2.0
- Wafrn v2026.03.02
- PieFed v1.6.13
- Some updates to ActivityBot
- tags.pub: Global hashtag server

Clients

- Fedilab v3.37.1
- tinmop v0.9.9.141421356237309504
- tooi v0.23.0
- Holos v1.0.0
- Voyager v2.44.0
- Aria v1.4.6

Tools and Plugins

- mastodon-bookmark-rss: A small app to let you connect your mastodon bookmarks to your RSS reader
- smol overlays: Chat overlay and emoji wall for Owncast streamers

For developers

- activitypub-federation-rust v0.5.11

Protocol

- FEP-3ab2: ActivityPub Event Streaming API
- FEP-34ec: Notification Collection Endpoint
- FEP-db70: RemoveAll Collection Activity
- FEP-c07e: add product type to object
- FEP-c195: JSONPath Filtering for ActivityPub Collection Retrieval
- FEP-f011: Full-Text Search Query Syntax for ActivityPub
- FEP-a1d1: ActivityPub Patch
- FEP-c81b: Agent Social Attribution for ActivityPub

Articles

- Openness, transparency and reach: three reasons why public institutions should embrace the Fediverse
- The Purpose of Protocols

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019ce933-238d-11fb-304d-c3557c940c30

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

developers only please: how many items should be in a full collection page?

OptionVoters
Around 12 or fewer6 (11%)
Around 2017 (30%)
Around 5018 (32%)
Around 100 or more15 (27%)
Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

developers only please: how many items should be in a full collection page?

OptionVoters
Around 12 or fewer6 (11%)
Around 2017 (30%)
Around 5018 (32%)
Around 100 or more15 (27%)
Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-20

Servers

- Akkoma v2026.03
- Bonfire v1.0.2
- PeerTube v8.1.3
- Mitra v4.20.0
- NodeBB v4.10.0
- GoToSocial v0.21.2
- Funkwhale v2.0.0
- Ktistec v3.3.4
- ActivityPub for WordPress v8.0.2
- PeerTube v8.1.3
- ties v0.2.0
- Wafrn v2026.03.02
- PieFed v1.6.13
- Some updates to ActivityBot
- tags.pub: Global hashtag server

Clients

- Fedilab v3.37.1
- tinmop v0.9.9.141421356237309504
- tooi v0.23.0
- Holos v1.0.0
- Voyager v2.44.0
- Aria v1.4.6

Tools and Plugins

- mastodon-bookmark-rss: A small app to let you connect your mastodon bookmarks to your RSS reader
- smol overlays: Chat overlay and emoji wall for Owncast streamers

For developers

- activitypub-federation-rust v0.5.11

Protocol

- FEP-3ab2: ActivityPub Event Streaming API
- FEP-34ec: Notification Collection Endpoint
- FEP-db70: RemoveAll Collection Activity
- FEP-c07e: add product type to object
- FEP-c195: JSONPath Filtering for ActivityPub Collection Retrieval
- FEP-f011: Full-Text Search Query Syntax for ActivityPub
- FEP-a1d1: ActivityPub Patch
- FEP-c81b: Agent Social Attribution for ActivityPub

Articles

- Openness, transparency and reach: three reasons why public institutions should embrace the Fediverse
- The Purpose of Protocols

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019ce933-238d-11fb-304d-c3557c940c30

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

just hit 3 million indexed posts.
What matters more than the number: 145k deletions processed, 83k edits tracked, and over 1k opt-outs respected, all in real time.
Respecting people is the priority and the only way to do it right is to be a full participant, receiving deletions, edits, and opt-outs as they happen. Before indexing anyone, Holos Discover follows their account, so they know they are being indexed and can opt out.

Source: discover.holos.social/stats

Holos Discover overview showing around 3 million posts indexed, 145k posts deleted, 83k posts updated, 37k users followed, 1.1k opted out, and 3.5k instances known.
ALT text detailsHolos Discover overview showing around 3 million posts indexed, 145k posts deleted, 83k posts updated, 37k users followed, 1.1k opted out, and 3.5k instances known.
Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-20

Servers

- Akkoma v2026.03
- Bonfire v1.0.2
- PeerTube v8.1.3
- Mitra v4.20.0
- NodeBB v4.10.0
- GoToSocial v0.21.2
- Funkwhale v2.0.0
- Ktistec v3.3.4
- ActivityPub for WordPress v8.0.2
- PeerTube v8.1.3
- ties v0.2.0
- Wafrn v2026.03.02
- PieFed v1.6.13
- Some updates to ActivityBot
- tags.pub: Global hashtag server

Clients

- Fedilab v3.37.1
- tinmop v0.9.9.141421356237309504
- tooi v0.23.0
- Holos v1.0.0
- Voyager v2.44.0
- Aria v1.4.6

Tools and Plugins

- mastodon-bookmark-rss: A small app to let you connect your mastodon bookmarks to your RSS reader
- smol overlays: Chat overlay and emoji wall for Owncast streamers

For developers

- activitypub-federation-rust v0.5.11

Protocol

- FEP-3ab2: ActivityPub Event Streaming API
- FEP-34ec: Notification Collection Endpoint
- FEP-db70: RemoveAll Collection Activity
- FEP-c07e: add product type to object
- FEP-c195: JSONPath Filtering for ActivityPub Collection Retrieval
- FEP-f011: Full-Text Search Query Syntax for ActivityPub
- FEP-a1d1: ActivityPub Patch
- FEP-c81b: Agent Social Attribution for ActivityPub

Articles

- Openness, transparency and reach: three reasons why public institutions should embrace the Fediverse
- The Purpose of Protocols

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019ce933-238d-11fb-304d-c3557c940c30

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-20

Servers

- Akkoma v2026.03
- Bonfire v1.0.2
- PeerTube v8.1.3
- Mitra v4.20.0
- NodeBB v4.10.0
- GoToSocial v0.21.2
- Funkwhale v2.0.0
- Ktistec v3.3.4
- ActivityPub for WordPress v8.0.2
- PeerTube v8.1.3
- ties v0.2.0
- Wafrn v2026.03.02
- PieFed v1.6.13
- Some updates to ActivityBot
- tags.pub: Global hashtag server

Clients

- Fedilab v3.37.1
- tinmop v0.9.9.141421356237309504
- tooi v0.23.0
- Holos v1.0.0
- Voyager v2.44.0
- Aria v1.4.6

Tools and Plugins

- mastodon-bookmark-rss: A small app to let you connect your mastodon bookmarks to your RSS reader
- smol overlays: Chat overlay and emoji wall for Owncast streamers

For developers

- activitypub-federation-rust v0.5.11

Protocol

- FEP-3ab2: ActivityPub Event Streaming API
- FEP-34ec: Notification Collection Endpoint
- FEP-db70: RemoveAll Collection Activity
- FEP-c07e: add product type to object
- FEP-c195: JSONPath Filtering for ActivityPub Collection Retrieval
- FEP-f011: Full-Text Search Query Syntax for ActivityPub
- FEP-a1d1: ActivityPub Patch
- FEP-c81b: Agent Social Attribution for ActivityPub

Articles

- Openness, transparency and reach: three reasons why public institutions should embrace the Fediverse
- The Purpose of Protocols

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019ce933-238d-11fb-304d-c3557c940c30

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

just hit 3 million indexed posts.
What matters more than the number: 145k deletions processed, 83k edits tracked, and over 1k opt-outs respected, all in real time.
Respecting people is the priority and the only way to do it right is to be a full participant, receiving deletions, edits, and opt-outs as they happen. Before indexing anyone, Holos Discover follows their account, so they know they are being indexed and can opt out.

Source: discover.holos.social/stats

Holos Discover overview showing around 3 million posts indexed, 145k posts deleted, 83k posts updated, 37k users followed, 1.1k opted out, and 3.5k instances known.
ALT text detailsHolos Discover overview showing around 3 million posts indexed, 145k posts deleted, 83k posts updated, 37k users followed, 1.1k opted out, and 3.5k instances known.
Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

just hit 3 million indexed posts.
What matters more than the number: 145k deletions processed, 83k edits tracked, and over 1k opt-outs respected, all in real time.
Respecting people is the priority and the only way to do it right is to be a full participant, receiving deletions, edits, and opt-outs as they happen. Before indexing anyone, Holos Discover follows their account, so they know they are being indexed and can opt out.

Source: discover.holos.social/stats

Holos Discover overview showing around 3 million posts indexed, 145k posts deleted, 83k posts updated, 37k users followed, 1.1k opted out, and 3.5k instances known.
ALT text detailsHolos Discover overview showing around 3 million posts indexed, 145k posts deleted, 83k posts updated, 37k users followed, 1.1k opted out, and 3.5k instances known.
mauvehed 🐿️ (KØMVH)'s avatar
mauvehed 🐿️ (KØMVH)

@mauvehed@defcon.social

Feeding a Lonely Pixelfed Instance

rant.mvh.dev/feeding-a-lonely-

Feeding a Lonely Pixelfed Instance
ALT text detailsFeeding a Lonely Pixelfed Instance
mauvehed 🐿️ (KØMVH)'s avatar
mauvehed 🐿️ (KØMVH)

@mauvehed@defcon.social

Feeding a Lonely Pixelfed Instance

rant.mvh.dev/feeding-a-lonely-

Feeding a Lonely Pixelfed Instance
ALT text detailsFeeding a Lonely Pixelfed Instance
jevans ⁂'s avatar
jevans ⁂

@jevans@climatejustice.social

@eff @taylorlorenz @404mediaco @system76

Friends in and any organizations that can help. A misguided bill (HB26-1255) from people who's hearts are in the right place just passed the last committee before going to the state house floor. This bill will essentially criminalize any instance with at least one user in Colorado.

This bill does three particularly scary things:

1. Removes the existing 100,000-user lower limit for the definition of "Social Media Platform" in Section 6-1-1601 (4) of the Colorado Revised Statutes. This means that any of the tens of thousands of small instances that happens to have a single user in Colorado at any time would be subject to this bill and any others that reference Section 6-1-1601 (4) of the Colorado Revised Statutes.

2. Adds a requirement for a staffed 24/7 hotline for each "Social Media Platform" to be available for law enforcement. This would require a minimum of four part-time staff, even for a Mastodon instance with two people on it that is run off of a Raspberry Pi in a bedroom closet in another country by someone in their spare time.

3. Requires notification of law enforcement within 24 hours of a flag of a threatening post. With VPNs, tunnels, Tor, etc., how do I know which law enforcement agency to reach out to? What if I don't keep any location data on my users? How do I decide what is credible and requires notification?

The ACLU has thankfully already voiced opposition.

the bill: leg.colorado.gov/bills/HB26-12

testimony from last night's committee in opposition (starts at 7:12pm): sg001-harmony.sliq.net/00327/H

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

So I got this bot that allows multiple people to curate a list of toots that are boosted by it, to create a nice topical account to follow.

Now I only need ideas what to boost haha :)

Todd Sundsted's avatar
Todd Sundsted

@toddsundsted@epiktistes.com

Release v3.3.4 of Ktistec is available.

This release adds Mastodon-compatible client support for publishing posts. Just like the previous release, however, all Mastodon API support is behind a build flag (-Dwith_mastodon_api). It's still experimental, so opt in only if you're happy to work with rough edges.

Beyond that, I focused on cleanup and refactoring throughout the codebase. Here's the full changelog:

Added

  • Cursor-based pagination on actor timeline and everything pages.
  • Mastodon-compatible API: /api/v1/statuses endpoint for status posting.
  • Mastodon-compatible API: /api/v1/timelines/public endpoint.

Fixed

  • Autosave focus handling. Fixes problems introduced in v3.3.3.
  • Prevent blur from creating a draft post when publishing a post.

Changed

  • Integrate X-Ray Mode colors into the theming system.
  • Improve CI: add npm audit, test, and caching.
  • Use npm ci in Dockerfile for reproducible builds.
  • Remove very old compiler bug work-around.

🏋️ Mastodon API support is coming along—more in the next release!

Todd Sundsted's avatar
Todd Sundsted

@toddsundsted@epiktistes.com

Release v3.3.4 of Ktistec is available.

This release adds Mastodon-compatible client support for publishing posts. Just like the previous release, however, all Mastodon API support is behind a build flag (-Dwith_mastodon_api). It's still experimental, so opt in only if you're happy to work with rough edges.

Beyond that, I focused on cleanup and refactoring throughout the codebase. Here's the full changelog:

Added

  • Cursor-based pagination on actor timeline and everything pages.
  • Mastodon-compatible API: /api/v1/statuses endpoint for status posting.
  • Mastodon-compatible API: /api/v1/timelines/public endpoint.

Fixed

  • Autosave focus handling. Fixes problems introduced in v3.3.3.
  • Prevent blur from creating a draft post when publishing a post.

Changed

  • Integrate X-Ray Mode colors into the theming system.
  • Improve CI: add npm audit, test, and caching.
  • Use npm ci in Dockerfile for reproducible builds.
  • Remove very old compiler bug work-around.

🏋️ Mastodon API support is coming along—more in the next release!

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

So I got this bot that allows multiple people to curate a list of toots that are boosted by it, to create a nice topical account to follow.

Now I only need ideas what to boost haha :)

Grow Your Own Services 🌱's avatar
Grow Your Own Services 🌱

@homegrown@social.growyourown.services

As you might have seen over on @FediTips , Wanderer is a trail-sharing platform for the Fediverse somewhat similar to Strava.

Wanderer is free open source software so you can host your own server if you want, and federated so you can communicate with other servers too.

At the moment Wanderer does require some technical knowledge to create your own server, you can find installation instructions at wanderer.to/run/installation/q and source at github.com/open-wanderer/wande

Grow Your Own Services 🌱's avatar
Grow Your Own Services 🌱

@homegrown@social.growyourown.services

As you might have seen over on @FediTips , Wanderer is a trail-sharing platform for the Fediverse somewhat similar to Strava.

Wanderer is free open source software so you can host your own server if you want, and federated so you can communicate with other servers too.

At the moment Wanderer does require some technical knowledge to create your own server, you can find installation instructions at wanderer.to/run/installation/q and source at github.com/open-wanderer/wande

Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

I sat down with @snarfed.org to talk about his work around the , the and the including (fed.)brid.gy and @anewsocial

openchannels.fm/connecting-dec

Bob Dunn's avatar
Bob Dunn

@DotheWoo@openchannels.fm

Connecting Decentralized Social Networks and Rethinking Interoperability

Open Channels FM
Open Channels FM
Connecting Decentralized Social Networks and Rethinking Interoperability
Loading
/
Share
Link
Embed
openchannels.fm/connecting-dec<script> /*! This file is auto-generated */ !function(d,l){"use strict";l.querySelector&&d.addEventListener&&"undefined"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i<o.length;i++)o[i].style.display="none";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute("style"),"height"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):"link"===t.message&&(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document); //# sourceURL=openchannels.fm/wp-includes/js </script> ' title="Embed Code" class="input-embed input-embed-2551015" readonly/>

In this episode, host Matthias Pfefferle catches up with long-time friend and open web builder Ryan Barrett. If you’ve ever wondered who’s behind the scenes connecting all these wild and sprawling decentralized networks like the IndieWeb, the Fediverse, and now Bluesky, well, Ryan Barrett is your guy.

They share into the story of Bridgy and BridgyFed, tools Ryan Barrett built to help posts, conversations, and even likes travel effortlessly between platforms that, let’s be honest, don’t always want to talk to each other. It’s a real look at why we still need these kinds of bridges, the ups and downs of working in open source, and what it’s like turning a side project into something that lots of people rely on.

You’ll get a peek into the early days of blogging, the messy but fun world of protocol building, and some of the tough questions that come with running “critical infrastructure” without a big company behind you. Whether you love the nerdy details or just want to know why your favorite blog can show up in the social media feed of tomorrow, this conversation is all about keeping the web open and a bit of the chaos that comes with it.

Join Matthias and Ryan for a chat that proves building bridges, both tech and personal, is still as important (and fun) as ever.

Thanks to our sponsors…

Omnisend logo, featuring a stylized 'i' and the brand name in modern typography.

The best time to migrate is before you’re under pressure. Omnisend moves everything essential for you now, so you’re fully ready when you plan for that large campaign. Use the code OpenChannels and get 30% off your first 3 months of any paid plan.

Woo new logo

If you build stores for clients, WooCommerce gives you the flexibility to create exactly what merchants need. Customize workflows, extend with thousands of integrations, and scale without switching platforms. Check it out at WooCommerce.com.

https://youtu.be/Ls3Jb8Zjijg

Takeaways

Bridging Decentralized Networks: Ryan Barrett has spent years building tools (most notably Bridgy and BridgyFed) that connect different social networks like the IndieWeb, Fediverse, and Bluesky (Atmosphere). These act as cross-posters or bi-directional bridges, letting users interact across platforms more seamlessly.

Funding and Organization: Initially, all this was a side project for Ryan Barrett, but it has evolved. They’ve started a nonprofit, received some grant and crowdfunding, and put basic governance in place; though it doesn’t currently provide a full salary, it does cover operational expenses.

Why Bridges Are Needed: Despite the vision of decentralized networks, true interoperability doesn’t exist by default. Instead of expecting everyone to align on a single protocol, Ryan Barrett argues that we’re still learning and evolving, so bridges are necessary while experimentation continues.

Not Just a Temporary Fix: Bridges aren’t just a stopgap; as protocols and ideas keep changing, the need for interoperability will persist. Ryan Barrett believes that even with established protocols like ActivityPub or AT Protocol, new experiments and networks are inevitable.

Personal Motivation: The roots of these tools trace back to Ryan Barrett’s desire to maintain ownership of his content and the social interactions around his blog, especially as conversations moved onto walled garden platforms like Facebook and Twitter.

Evolution of Open Web Tools: Early efforts included cross-posting content, but Ryan Barrett emphasized “backfeed” such as importing comments, likes, and reactions from social platforms back to his own website, so all engagement was aggregated in one place.

Preference for Usable, Practical Solutions: Rather than inventing radically new standards, Ryan Barrett prefers building bridges and services that work with what’s already out there, favoring RSS, Webmention, and existing APIs, so end users don’t need to host their own solutions.

Protocols: No Single Winner: Discussing IndieWeb, ActivityPub, AT Protocol, and others, Ryan Barrett sees good ideas in each but doesn’t believe there’s a “best” protocol yet. He values building blocks, modularity, and combining approaches, rather than betting on one framework.

End-User and Publisher Focus: Most usage of BridgyFed comes from publishers and content creators (e.g., major media), but individuals also use bridges, especially those who want to maintain a single profile and reach across networks without friction.

Invisible Interoperability: Often, users don’t even realize they’re talking across different networks using BridgyFed; they see and interact with others seamlessly, which is the ideal scenario for Ryan Barrett.

Critical Infrastructure Concerns: With adoption rising, BridgyFed has become important infrastructure. To ensure long-term reliability, they’ve made it open source, started a nonprofit, and instituted governance. There are plans to make it more resilient and less dependent on a single operator.

Looking Forward: Major focus areas for the future include supporting long-form content (via standards like standard.site), expanding migrations and account portability, and readying bridges for new protocols like Nostr and Farcaster.

Philosophy of the IndieWeb: The IndieWeb is described as both a philosophy (“everyone should have a website and control their own profile”) and a protocol stack (Webmention, microformats, etc.), but it’s fundamentally about individual ownership and choice in the online experience.

The Web Isn’t Going Away: There will always be vastly more websites than social network accounts. Even as trends shift more towards platform accounts, the open web remains a massive, foundational part of online life and bridges can help keep it connected to emerging networks.

Mentioned Links and Resources

  • Bridgy & BridgyFed – A suite of tools for bridging between the IndieWeb, Fediverse, and Bluesky/Atmosphere. 🔗 https://brid.gy/
  • ANEW Social – The nonprofit organization behind BridgyFed. 🔗 https://anew.social/
  • Granary – A tool and service to convert between web formats like RSS and microformats. 🔗 https://granary.io/
  • Standard.site – A common lexicon/format for long-form content on Bluesky and other AT Protocol platforms (mentioned as “standard.site” for composing and sharing articles). 🔗 https://standard.site/
  • snarfed.org – Ryan Barrett’s website, personal blog, and IndieWeb hub. 🔗 https://snarfed.org/
  • Fed.brid.gy – The main instance of BridgyFed bridging service. 🔗 https://fed.brid.gy/
  • IndieWeb – Community, resources, and documentation about owning and controlling your content and identity online. 🔗 https://indieweb.org/
  • Bounce – A tool to help you migrate from one network to another and keep all of your followers (powered by BridgyFed). 🔗 https://bounce.anew.social/

Timestamped Overview

  • 00:00 Between Gigs Crowdfunding Nonprofit
  • 05:14 Early Protocol Evolution Debate
  • 10:11 Blogging Era and Social Media
  • 12:11 Backfeeding Social Interactions
  • 16:20 Early Web Standards Collaboration
  • 19:26 Graph API and Decentralization Challenges
  • 22:43 Struggling with Protocol Implementation
  • 25:12 Engineering Formats as Lego Blocks
  • 30:46 Usability and account recoverability
  • 33:36 Decentralized Social Functional Separation
  • 37:27 Decentralized Communication via Open Standards
  • 39:34 Building for the Present Web
  • 45:08 BridgyFed: Connecting Diverse Platforms
  • 47:04 Transforming a Side Project
  • 51:05 Custom Domains for Bridged Accounts
  • 54:23 Network Migration and Bounce Tool
  • 56:58 Indie Web Collaboration Reflections
Episode Transcript

Matthias Pfefferle:
So welcome, you’re listening to the Open Web and Fediverse series, part of the Open Web Conversations channel and Open Channels event production. And today’s guest is building infrastructure that bridges together what should be interoperable by default. He’s literally building bridges between the indie web, the Fediverse, and the atmosphere. I hope it’s called like that for almost 15 years now. Welcome to the podcast, Ryan Barrett.

Ryan Barrett:
Thank you, Matthias. I’m glad to be here.

Matthias Pfefferle:
I think my introduction was almost perfect, but Maybe you want to add something?

Ryan Barrett:
Yeah, no, I, you and I go back so long. We’ve been doing indie web stuff together for at least 15 years. And so it’s, I’m excited to be here. It’s, it’s really fun to get to talk to you about kind of everything that led us to where we are now.

Matthias Pfefferle:
Yeah, but maybe you say some words about what I teased a bit with. You are the bridge builder.

Ryan Barrett:
Yes. Yeah. So who am I? Yes. So I’m, you know, a stereotypical Silicon Valley software engineer. It’s been my day job. But on the side for a long time, I have— I’ve done indie web stuff and somehow I ended up doing a lot of converters and bridges and translators. Going from one place to another. Uh, so yeah, the— what I’m known for and what I spend most of my time on today is, um, a suite of tools, uh, Bridgy and BridgyFed. We now, we now call them maybe BridgyClassic and BridgyFed. Um, these, uh, are kind of like cross-posters or bridges between different networks, uh, as you mentioned. So the web IndieWeb in particular, the Fediverse, and Bluesky, or the Atmosphere as you called it. And so BridgyFed is where I spend most of my time these days, and it is a full-featured bi-directional bridge. So if you are on Bluesky, you can see people who have bridged themselves on the Fediverse. You can see their profile, their timeline, you can follow them. If they post, you’ll see their posts on Bluesky. You can reply to them on Bluesky. The replies and likes and reposts will go back and forth. And so we try to make that as native and seamless as possible. And it takes a lot of work, but it’s fun.

Matthias Pfefferle:
Yeah, because of a lot of work, you mentioned that you do that as a side hustle. Is that still a side hustle thing?

Ryan Barrett:
Uh, right now I’m between gigs, so I’m mostly full-time on it. Uh, eventually I’ll go find a real job again, but, um, uh, right now I have more time for it. Uh, thanks in large part, uh, about a year and a half ago maybe I started working with Anuj Ahuja, who comes from working on similar stuff, and we have, um, I resisted kind of taking donations for a long time, but we now do crowdfunding and, uh, grant funding, and we, we started nonprofit. And so there is a bit more of kind of real organization and governance and some funding behind it. We don’t have enough funding to kind of pay ourselves salaries yet, but we can cover expenses and things like that.

Matthias Pfefferle:
Is it a plan to do that as a main profession anytime soon?

Ryan Barrett:
I don’t know. I’ve never been much for like a 5-year plan or a 10-year plan for myself. I just do what I’m doing while it works. And then when it’s time to do something else, I do something else. Um, I have never quite felt like this is my career. Um, so, but I’m doing it mostly full-time now. We’ll see how it goes. And I mean, even if I go get a different job and do something else,, you know, as a day job, like I wouldn’t shut this down. Um, it’s more a question of like, how much time am I spending building new parts of it and maintaining it as opposed to just kind of running it as is.

Matthias Pfefferle:
I think that’s the main problem for everyone working in open source and decentralized platforms in general, I would say. Um, yeah, but As I said in the introduction, it’s kind of weird that you need something like a bridge to bridge decentralized networks together. So why all of that?

Ryan Barrett:
Yeah, there is one way of thinking about this that is kind of like we want everyone, you know, all the different software projects to use the same protocol so that they can interoperate. Of course, I get that. Another way of thinking about it is we are still so early to all of this. It’s— yes, it’s been decades, but decades is not that long. I think if we said, okay, have we figured out all of the questions and we know the best way to do all of this, we’re doing it in maybe an activity pub. ActivityPub got everything right, no more questions to answer, like no more problems, so there’s no need to try anything new. Like ActivityPub is it, or, or Atmos protocol or anything else. That’s the final answer forever. Like, I don’t think anyone would believe that, right? Like, I think we are so early and there’s so much more to learn and figure out and, uh, kind of invent, we have to try a bunch of new things. ActivityPub is great. App Protocol is great. IndieWeb is great. I like Nostr. I like Farcaster. There are a bunch of good ideas, but we have like, yeah, there’s just so much more to figure out. And often like you can’t slowly evolve an existing network or protocol to try some big new idea. Uh, often if you have a big new idea that’s very different, it’s just too far away. And so you can’t like very gradually, inch by inch, move this one over there. You have to just try a new thing. And so I think trying new things is great. Uh, I think right now is the time to try lots of different ways to do decentralized social, right? But while we do that, we’ll have lots of different networks that don’t talk. Right. And so I like having things talk. And so I think bridges are useful.

Matthias Pfefferle:
So is that still a temporary thing for you?

Ryan Barrett:
Or, uh, probably not. I mean, so if the question is like, will we try things and then we’ll find the best way and everyone will use the one best way and then we’re done. No, I don’t think so. I think change is the only constant. I think we are always improving things. Um, Email is a great example. You could say, yeah, we tried a few different ways for people to kind of talk asynchronously online many, many decades ago. We settled on email. That’s great. But now if you think about how do you talk to your friends online, it’s mostly not on email, right? It’s on messaging or social or other things. And so we didn’t really have— even when we settled on email, like later, it’s not that SMS competed with email, but it was a new idea, right? And so I think there will always be new ideas, and that’s good.

Matthias Pfefferle:
So you said, or you already mentioned, that it’s nearly since forever, um, you are working on that. I think it’s almost 15 years. So, um, What led to a bridge? What is the history about all of that? Why have you decided to, okay, there are so many, like the XKCD comic, there’s so many competing standards, let’s build a bridge?

Ryan Barrett:
Right, right. Yeah, so the short answer is kind of the open source scratching my own itch. So way back in maybe 2000, I was in college. I had a website, a little— I didn’t— no one knew to call it a blog, but a website or a blog. Okay, good. When Facebook came out maybe a year or two later, at least very early in college for colleges, I signed up and tried it and I thought, oh, this is interesting. And I kind of immediately realize, oh, this is good and useful, but it’s not mine. I don’t control it. Like, I can, I can make my profile and post, but at the end of the day, if they want to change how things look or they don’t like me and want to, you know, ban my account or something, like, I— they can do that. I can’t control it. And so it’s okay. I mean, that’s like any service. But what I ended up doing was I would, when I posted, I would always just post on my website and then I would just copy and paste into Facebook. Then I knew at least anything I write there, like I’ll still have a copy of, I’ll still control. Okay. That is fine. Like as other services come out like Twitter or whatever, I would, I did the same thing. Gradually. So there was this era, you remember this, I mean, you and I have been doing indie web stuff together forever. The blogging era, this was the early to mid, maybe 2000s. There was an era where lots of people wrote blogs and would kind of respond to each other’s blog posts on their blogs and comment on those blog posts. And that’s great. Everyone had their own website and did that and it worked well. When social media kind of got bigger, one thing we would do is we would write blog posts and then post links to our posts on Facebook, Twitter, et cetera.

Matthias Pfefferle:
The famous cross-posting.

Ryan Barrett:
Yeah. Yeah. Yeah. Okay, sure. Gradually what we saw was that more and more people spent more time inside these social networks as opposed to reading kind of on the blogs. And so when I would post a link to a blog post I wrote, something I wrote, more and more people would comment kind of on Facebook or on Twitter or wherever instead of on my blog post on my website. Okay. The downside there is I don’t have— I’ve been like that conversation like about what I’m talking about. Is on Facebook or is on Twitter. Like, I don’t keep a copy of it, I don’t have a record of it, right? Um, you know, so that, that was a change that was disappointing. And so cross-posting was one thing. There were tons— there were always tons of tools to say, oh, post to Facebook and Twitter and Instagram and whatever. Like, that’s pretty easy. So lots of people did that, that’s useful. But what I wanted was the comments or the replies on Twitter. And then eventually the likes and the reposts and the quotes and everything, I wanted those to show up on my website too. And other people had thought of this, and you know, it was, it was a good idea, but it was much— it was more complicated to build, and so not many people did it. This is what we call in the indie web backfeed. And of course, the indie— at this time I had also kind of discovered the indie web, or was discovering at this time, and it was doing— had similar ideas kind of between websites themselves without worrying about social networks. But so what I eventually built was this tool to go use the Twitter API, use the Facebook API, etc., to find all of those replies and likes and reposts and figure out and kind of map from my original post there to the, my blog post and copy them all back to my blog post so they would show up there and other people would see them there.

Matthias Pfefferle:
So the first version, the first bridge was to bridge your blog content to, let’s say, closed social network and get the reactions out of it.

Ryan Barrett:
Yes. And especially, I mean, primarily the backfeed. So at the beginning, I didn’t do the cross-posting. I just I’m not— I’ve never been very online. I don’t post a ton. I post once every few days. Copy and paste is fine for me. But the back feed was the key part. And originally this was either 2000— I need to check the— maybe January 2012. The first version I did of this was WordPress specific. It was not Webmention. It was not kind of this open standard, this indie web standard. It was WordPress specific and it did, I think, Facebook and Twitter and that was it. And it was probably only replies or comments, but it was something, you know, and it kind of grew from there.

Matthias Pfefferle:
But it was as a service, it was not directly baked into WordPress. So is there a specific or was there a specific decision to do it like that or is this something that made the most sense?

Ryan Barrett:
So, I always knew this— all this should work as kind of open standards. Open standards. I wanted it to be interoperable. I didn’t want it to be specific— as much as I love WordPress, I didn’t want it to be specific to WordPress or anything else, right? And so, the standards I knew originally at that time were— the standard I knew for this was OStatus around then. And so my, my long-term idea was to build an OStatus bridge for all of, for the closed social networks. So that since, so the, I mean, the, the big idea here is they, they were closed, but they all had APIs. And so you can, like, there’s OStatus, there’s this open standard, and then there are these APIs. And the APIs were pretty full-featured. And so I figured like I have these two Lego blocks, I can just kind of use the API and translate the OStatus and back. And that should, that should work.

Matthias Pfefferle:
So one of the earlier versions were even compatible between OStatus, the open, let’s say predecessor of the Fediverse activity pub. And Facebook and Twitter?

Ryan Barrett:
So I never got— I never fully implemented OStatus for Facebook and Twitter. The first version of BridgyFed was OStatus. It was IndieWeb to and from OStatus. Before I did ActivityPub there. That was 2017. So BridgyFed was a different— a similar but different service, yes. But I did a number of these. So I did implement WebFinger for Facebook, Twitter, et cetera. I did portable contacts. POCO was a similar standard. Yeah, this is like us going back to 2010 era. What were the— and I did OpenID for Facebook and Twitter. So there were parts there, uh, and also, I mean, a lot of this was just around, it was in the air, and I happened to know a number of the people working on these standards, um, Evan, but also people like Brad Fitzpatrick, Brett Slatkin, uh, David Recordon. We all, you know, talked now and then. And so this was Chris, yeah, um, this was OStatus, but also kind of Buzz at Google and let’s see, Brad was doing things like the Social Graph Explorer API at Google and there were a lot of similar ideas. As a separate side project, I had written a little app that used— that did OpenID for Google accounts. Like any Gmail account, that kind of thing. There were a lot of these ideas. This was the, like, that blog era, 2000 to 2010, was also very much the Web 2.0 mashup era, Yahoo Pipes kind of thing. And also people at the same time thinking about Webfinger, OpenID, OStatus, these early, early decentralized social, decentralized services. And so there were lots of people and lots of ideas. Can I plug this into that? Like there are a bunch of parts. Let’s just plug them all together and see what works.

Matthias Pfefferle:
Yeah. Ostatus itself felt very mesh-appy. So putting together a lot of open standards and all the decentralized protocol. So when you worked on all of that, have you had the hope that it might get implemented? In the social networks? Because back in the days, Facebook and Twitter were really part of the discussions, not around maybe old status specifically, but there were other projects like data portability, for example, where they were really involved into that discussion. Was that kind of the hope you had?

Ryan Barrett:
No. Okay. Facebook very concretely for a while did a number of these things that had RSS. You know, it— I’m trying to remember if it did OpenID.

Matthias Pfefferle:
They did. They did OpenID. They had XMPP as the foundation of their Facebook chat. So they used quite a lot of open standards. I think they even used microformats for their profiles. It was, they were quite open to that.

Ryan Barrett:
And then also the things they created. So the graph API for a while, they very much positioned it as this kind of open generic thing that other people could use. And so this was the era of, again, David Recordon was there for a while and other people. I think the culture there. Was very much engineering driven and kind of just scrappy hackers, um, just throw a bunch of stuff together and engineers like standards. And so yeah, there was a while where they were very open to this stuff, which was great. Twitter, not so much. I think Twitter, you look at what Jack Dorsey was saying back then and recently, but, um, he had big, big ideas and vision for protocols and decentralization, but It never felt like that translated into anything concrete that they shipped. Facebook was very different. They shipped a ton of it. It didn’t last forever. But one thing when I think about the things I build, I very rarely like want to tackle an adoption problem. Like if you make a new protocol, like you can do it all right, you know, and make all the right choices or whatever, but you have to get everyone to use your new protocol or your new tool. That’s very slow and difficult. I would much rather, yeah, I’d much rather build something that people can use as is, especially developers, without having to, without a big adoption challenge. I think that’s another reason I tend to build these things as services. I want individual users to be able to use these things as easily as possible. I don’t want them to have to self-host anything. I don’t want them to have to get their Mastodon or Friendica or Pleroma or whatever to add a new feature. And so, yeah, I tend to avoid kind of adoption problems. I tend to build for what is here now and not for some hypothetical future.

Matthias Pfefferle:
Okay. So it’s more you want to have a platform that proves that it works instead of building, in Germany, we would say, air castles. Yes. Something, yeah, as you said, hypothetical, we could do if anyone would implement that, we could do XY. Right. So that, but I think I kind of agree with that. I was always also the, I want to implement something because it’s, for me, it was kind of a similar socialization with all the web stuff. So I also started with a blog and wanted to keep that momentum. So it was not defining protocols or using protocols because it’s the right way to do that, or because I wanted to work on something like that. It was simply because I needed it and I wanted to see if it works. So I kind of agree with that. But on the other hand, I’m kind of the lazy guy and implementing protocols is really not an easy thing. So I always tend to choose something to work on. And I was always impressed by your work to kind of being the, how you say that in English, the jack of all trades and implement everything when I struggle with implementing only one protocol. So why? I understand that theoretically, but why all of that work? So because that is, that is insane.

Ryan Barrett:
Yeah.

Matthias Pfefferle:
Yeah.

Ryan Barrett:
I mean, I, I wouldn’t, don’t sell yourself short. I mean, you, you did the WordPress Webmentions plugin. I think that for a long time, and maybe still, that was maybe the single most important indie web project. Yeah, period. And that was a full new protocol, like two of them. Like you had to do Webmention and microformats.

Matthias Pfefferle:
Yeah. But I compared with AT Proto or Nostril or ActivityPub, I think Webmention is a very easy, straightforward thingy. There are parts that are tricky, but not because it’s, the spec is hard, but it’s hard to, for example, to get semantics out of HTML is not a fun thing, but it’s more because websites are crappy and not because a standard is implemented or a standard is complicated to implement. So I think that’s a bit of a different level of complexity?

Ryan Barrett:
Uh, yes. Yeah, that’s fair. Um, yeah, scraping arbitrary HTML is no fun. Uh, if you say we require microformats, it’s much better. So, you know, like, takes work, but so yeah. So why have I done so many or worked on so many of these protocols and formats? Um, I think some of it is as engineers, the root of what we do is just put blocks together and build things out of smaller pieces. This is Lego, right? And regardless of what it is we’re building as engineers, protocols and formats are Lego blocks. There are these clear— they may be complicated, but there are these clear instructions for how to connect to it or how to like publish or consume a format, a data format, right? And so as an engineer, to me, when I see a few of them, a few formats, for example, I think, oh, it’s just like this, this field in this format goes to this field in this other format and this field goes here. And then for protocols, oh, this message goes here. This one sends X and this one receives Y. And so it’s, yeah, it’s very tempting and sometimes fun to just take a lot of Lego blocks and plug them together. And when you see that, like, they should be able to plug together and no one’s done it yet, sometimes, like, separate from the use case, the end user functionality, it’s fun to just go try and say, oh yeah, they plug together, or oh no, they don’t. This is WebSocket and this is HTTP, so then I need to bridge that and then I can plug them together or something similar. So one part of it is as an engineer, it’s fun to plug Lego blocks together. Another part is scratching my own itch.

Matthias Pfefferle:
Okay. So I always wanted to have that discussion with you and it’s even better to have that in public. So you implemented a ton of different protocols. And if you have not implemented it, you even understand the spec or know what to do theoretically. From all of these different specs, maybe we can go through the three main things and afterwards we can maybe talk a bit about Nostr. I have not read about Farcaster at all, to be honest. But what of these three protocols would best not fit your needs, but the nearest to what you would see as this is how it should work?

Ryan Barrett:
Yes.

Matthias Pfefferle:
Is that even answerable?

Ryan Barrett:
So I think it is. I would start with a metaphor or an analogy. If you study cryptography, like in academia, in college, there’s always been a saying like, don’t invent a cipher, you know, or you don’t make a good, a successful career as a cryptographer by inventing ciphers. You make it by breaking ciphers. I feel a bit like that here. I can look at a bunch of these different protocols and networks and say, oh, here are the pros and cons. Here are the good parts. Here are the bad parts of each one. I don’t feel qualified or ready to make my own, and I don’t know if I’m— if I would look at any of them and say, oh, this is the best one. Um, I think there are better and worse. Oh, Status was well-intentioned but not so great.

Matthias Pfefferle:
Um, I think well-intentioned sums it up quite good.

Ryan Barrett:
Yeah, you know, like we talked about earlier, it was so early we had so much more to learn. There were so many more new ideas we needed. It was maybe, it was one of the very early decentralized social protocols, like in the modern age, if you don’t count Gopher or Usenet, like the really old school stuff. Of course it wasn’t going to be great, right? But you had, we had to start somewhere. We had to try some things. So right now, what do I think is good? Yeah, maybe we’ll put a link in the show notes. I did a talk at the App Protocol conference last year. I think it was called All the Protocols Compared. So that’s the long version of this answer. But there are a number— I look at the modern protocols. So the big ones that we would think about, IndieWeb, ActivityPub, App Protocol, Nostr, Farcaster, Maybe DSNP. I don’t think that ever really hit and is definitely slowing down now. Um, yeah, so what are good ideas? Um, I think asymmetric key identity, so identity based on public keys, is a good idea. Um, and you see that in a number of these protocols. That is App Protocol, Nostr, Forecaster, DSMB, um, and blockchain. Uh, the key problem with public keys is, or key-based identity, is that it is recoverability. If we want to make something so usable that all of our family can use it, if we tell them, oh, never lose your password, if you lose your password, you’ve lost your account, that’s unacceptable, right? It’s just like not okay. So you need recoverability and there is, we’ve made progress there. There’s like complicated techie stuff, like multisig. Um, there’s very usable stuff like Bluesky where, um, custodial keys, like you had your identity as a key, but they manage the key for you. So those are, there are some good ideas there. Um, I think relays are another one. There was a movement for a while of like pure peer-to-peer, secure scuttlebutt, etc., where we wouldn’t even use— oh, we have the internet, every device is connected, each device should be able to talk to another device without servers. I think in a different world, in a different timeline, the internet may have evolved that way, but it didn’t in ours. We have NAT, we have CGNAT, um, tunneling, etc. It is a very client-server internet that we have grown. Um, and so realistically, you need parts of the network that are always online, and those will be servers. And so the shape of Nostr relays, Proto relays, um, Snapchain and Farcaster Even now you look at, uh, there are Fediverse relays. They are much smaller in scope, but this idea that there are servers and there are multiple and they can talk to each other and they’re, they’re somewhat dumb. Nostr relays are basically these like very limited databases. App Protocol relays are just kind of multiplexing and demultiplexing. They take multiple streams and combine them into one stream. And that’s it. When you look at kind of networking, computer networking coming out of the IETF, this is TCP/IP, Ethernet, et cetera. A lot of networking design ages ago followed this end-to-end principle where you put all of the logic, guaranteed delivery, only once delivery, congestion control, all the logic is in the endpoints on the computers that are the server or the client. The network is dumb. It’s just routing packets. I see some similar ideas in relays in these decentralized protocols. And I think that can make some sense. So yeah, those are two ideas I like. And then also kind of decomposing or separating a lot of the functionality. Some things we see, so in decentralized social, you need data storage. You’re going to have some admin, some moderation. You’re going to have feeds. There’s more of this kind of what I would call the product logic or business logic, like the social part, not the decentralized part. And newer networks are pulling those apart so that you can, you know, custom— like, you can run a custom feed in Blue Sky, in Atmosphere, and that’s totally separate from moderation, right? And literally different people, different organizations can run those and not talk to each other and not be in the same software project, and that’s good. So that’s maybe a third idea I like recently.

Matthias Pfefferle:
Because you mentioned, uh, the, the indie web as a protocol, do you see that really as a protocol? Because I thought about the indie web more like an, uh, philosophical thing, an idea, um, that has some protocols, but it’s more how you use the internet or how you use the web?

Ryan Barrett:
I think it’s both. Yes. Yeah. Like for power users or tech people who use all this stuff, like the, often the dream we have is I want one place or one master or one kind of main place where I control my profile online and where I post, and then that goes everywhere and talks to everything, all the other networks, and everything comes back. But I, I only do it from one centralized or one place for me, at least. Um, maybe it’s my Fediverse account, maybe it’s my Bluesky account, maybe it’s my website. For us in the indie web, often we think of it as our website. Um, and so you’re right, indie web Either first or like importantly is a philosophy. It’s like everyone should have a website. And ideally everyone should have a domain that they own for their website. And so there are some tech and protocols, but I think we would say in the indie web, if you have your website, your own website, especially if you have your own domain, you are part of the indie web. You don’t have to do webmention or microformats or anything else. So philosophically, yes, I agree. Also, there is this indie web protocol stack, Webmentions, microformats, MicroPub, MicroSub, others. And so those add a lot of functionality. But yeah, I think it’s both.

Matthias Pfefferle:
Yeah, but in the end, it feels a lot like more in the Ostatus directory. So direction, not directory. So it’s more a These are parts you could use to have a kind of decentralized communication, but it’s not directly a full-flavored protocol for decentralized communication. And I mentioned that because I really like how you design your bridges, because oftentimes, or I thought, mainly about, okay, if you’re bridging the Fediverse to the Atmosphere, then I should join as an ActivityPub node. But in recent discussion, you always mention, um, when you have a blog, why not use way simpler mechanisms like, for example, RSS or other indie web standards like Webmention and things like that. And I really like that because in the end, implementing RSS or Webmentions or anything else that is in the IndieWeb stack is quite easy and straightforward. And using that to connect to a bridge that does all the heavyweight stuff, um, is kind of, you use open standards in, in, in every level of that bridge thing and even reuse paradigms that you mentioned, like the abstraction of, or the multi-layer thing. So you do not have to care about federation and about who can connect with your site. You implement some basic protocols like the next level of pingbacks, some RSS, maybe some web semantics. And I do all the heavy lifting stuff for you.

Ryan Barrett:
A lot of this again is I think just me avoiding air castles and me not wanting to have to convince someone to install software anywhere. I don’t really know how to predict the future. And so I tend to live in what is, what exists now for any given network or anyone’s website. Like, what does it do now? And it probably does RSS. Most, many websites at least probably don’t do ActivityPub. So yeah, I kind of take that, like, where are people now and what can I build that they can And turn on, or not even, I mean, Granary, for example, like there’s a library and tool, a service I run called Granary that converts between formats. You can use Granary to convert someone’s website like RSS to microformats and they don’t even have to know, right? Like you can use it. Um, and that’s again very much the Web 2.0 mashup kind of permissionless web crawling mentality and era. You know, the era we kind of grow— you and I and other people kind of grew up in. And there are different ideas now and that’s great. But yeah, I think a lot of it is what can I— how can I make this work? How can I make something useful? Assuming nothing changes and assuming no one installs any new software anywhere.

Matthias Pfefferle:
But from your experience, you’re running a bridge. What is— so is having your own website and connecting to that bridge still a thing, or is that still us two being old nostalgic guys wanting back the blogosphere?

Ryan Barrett:
I mean, it’s still a thing because we do it. Yeah, some people do it. I, you know, my partner in this, Anuj, he wants that kind of techie power user dream of one place for his profile. And for him, it’s his Bluesky account. Or ideally might be eventually. For me, it’s my website. And so I think that choice is good. And there are more websites out there probably than accounts on any individual social network. So if Facebook, how many websites are there? Billions, at least tens of billions. There are probably more websites than Facebook accounts, right? And Facebook is the biggest social network. So I mean, If you count websites, and even if you say websites with their own domain, and so then does WordPress.com, does WordPress.com site without its own domain count? I don’t know. But yeah, I mean, there are more websites out there than any social network. So I don’t know.

Matthias Pfefferle:
But do you see a tendency or is there, do you get some feedback like, okay, you allowed me to stay on my side, so I will do that? Or is there a trend?

Ryan Barrett:
Yes, I understand the question. No, for the average, the average person these days is more likely to use social networks and have social media or have social network accounts and less likely to have their own website, especially with their own domain. I think, yes.

Matthias Pfefferle:
So it’s mainly bridging Fediverse accounts to AD Proto accounts and having your own website as part of this new bridge decentralized social network is still the niche?

Ryan Barrett:
Yeah, I think what we see often is the most— so for BridgyFed, for example, most of the websites on it are not personal websites. They are publishers, but they’re very popular. So I think Rolling Stone, for example, has almost is someone is bridged, um, and it has, I think, over 100,000 followers. It’s bridged, uh, accounts. Um, and so on the one hand, it’s probably mostly not personal websites, but there are, I don’t know, maybe 30,000 bridged websites on BridgyFed, and some of them are very popular, right? And so that’s useful.

Matthias Pfefferle:
Okay. So it’s kind of the content creator, I wouldn’t say niche because they may be few in total numbers, but not in follower counts. So, okay. But is there a trend of people following or understanding what that means, bridging between different networks and actively using it, or is this more an I’ve found someone by accident and followed them and didn’t care where the profile is?

Ryan Barrett:
Yeah. So the, I think we are at a bit over 130,000 total bridged accounts on BridgyFed right now, which is good. It’s still, you know, it’s still on the one hand, it’s big. On the other hand, it’s small. Um, yeah, I think lots of people do see and interact with bridged accounts. Like, lots of people are on Bluesky and see and interact with a Fediverse account, or vice versa, and don’t know it. Um, especially for Fediverse accounts, for example, that have set custom domain handles on their— on the Bluesky side. Uh, both Anuj and I, one of our favorite things is to see, to find like big, big conversations where some of the people in the conversation are on Bluesky, some are on the Fediverse, some are even are on like, maybe I’m participating and I’m on my website or you. Um, and as far as we can tell, the people either don’t know or don’t care. Which is great. I love it, right? Like, that’s the dream. Yeah, I don’t— I like that people know about the bridge, but the goal, like, I also love when it works and people don’t know about it and it works anyway.

Matthias Pfefferle:
So maybe we’re coming to an end. Maybe a controversial question.

Ryan Barrett:
Sure. Fun.

Matthias Pfefferle:
So because you’re bridging quite some profiles and there is quite a discussion or discussions through all the networks, I would say you built quite a critical infrastructure. How to handle something like that for the long term?

Ryan Barrett:
Yeah. Uh, yeah, it’s an important question. So it’s better now than it used to be. It used to be one random guy’s side project, um, with zero funding, uh, zero organization or governance. Um, and so that was true for a long time. Uh, and a couple of years ago, some people online started looking at it and saying, oh, this bridge is good. It’s Maybe more than good now, maybe it’s important, uh, was getting big enough, uh, and there were enough accounts on it that were— people cared about having access to. And they were saying like, this is important, it needs to be reliable infrastructure, it needs governance, like how will we make sure this lasts and is stable, etc. On the one hand, like it was flattering that people cared about it enough to say that, right? On the other hand, I didn’t have any of that. It was one random guy’s side project. And so I wrote a post and basically said, hey, like, thank you all so watch. This is one random guy’s side project. Like, there’s nothing to it. Um, it’s open source. Uh, but yeah, uh, if you all want more governance, more organization, great. I’m not gonna do that. That’s not what I’m in this for. Um, so if someone else wants to, great. I was hoping they would say, oh, okay, we get it, and go away. Instead, a number of people popped up and said, oh, Hey, I’ll be that person. I’ll add the organization of the governance. And then I said to myself, well, shit. But so then we did, you know, I ended up working with Anuj and he’s been great. And we have a nonprofit in the US. We have grant funding and crowdfunding. We have a board of directors who are great and independent. Really helpful. So that helps. And I think the other answer is it is open source and it’s public domain licensed. So there are— it’s like totally unencumbered. Anyone else can run their own instance, can take the code and go with it. And so the only— if it died tomorrow, the existing bridged accounts, like, so the domain and the keys that are in the bridge for those accounts, those are important. And so if BridgyFed died, those would go away. That’s not going to happen. I think it’s possible I’ll shut it down at some point, but I fully plan, if I do that, to do an orderly shutdown. Ideally find someone to take it over so that the domain and the keys survive. And if not, you know, like, we would make it work. But yeah, it’s open source. It’s got an org, it’s got some funding. We’re okay for now.

Matthias Pfefferle:
Have you planned something like hosting it as a service for bigger sites or organizations?

Ryan Barrett:
We have talked about it a lot. I think we still don’t know what problem that solves.

Matthias Pfefferle:
I think from, from my perspective, it’s oftentimes the simply the domain thingy, because everything for now is kind of something@fed.brit.g. So it’s still very., yeah, very much promoting this single instance and maybe others want to have their own, maybe the Rolling Stone want to have @rollingstone.social or something like that. Is, was that even a question or is that something you think about?

Ryan Barrett:
Yeah, definitely. So the default, you’re right, the handles, the addresses for bridged accounts have you know, something.brid.ui in them. But for a long time now, we’ve let you set a custom domain, um, on Bluesky, but also on the Fediverse. On the Fediverse, at least if you— for bridged websites. Um, okay. Yeah, and we could look into that. So I think the part that’s missing is if you’re on Bluesky and you bridge into the Fediverse. I need to go check. I don’t think we— I don’t think we let you set a custom kind of server part of your Fediverse address there, but we could. Um, but most of that— so we have the custom domains in Bluesky, we have them for websites into the Fediverse, so we’re mostly there. And people definitely use that, uh, especially the Bluesky part. But in general, yeah. So for example, my Fediverse address is snarf.org@snarf.org. It’s through BridgyFed. It doesn’t have grid.gy in it. Yeah.

Matthias Pfefferle:
Okay. So, but, but is that really a thing end users care about? Or is that more as a business owner?

Ryan Barrett:
I think both. I mean, I’m an end user and I did it. Lots of individual people bridging from Fediverse to the Blue Sky, to Blue Sky set custom domain handles. Um, so some people do.

Matthias Pfefferle:
Okay.

Ryan Barrett:
I think maybe more individual people than businesses. I think not nearly as many businesses know about the bridge and having more individual people. Yeah, we’re getting there, but it’s still early.

Matthias Pfefferle:
Okay. So what is, what are you most curious about for the next few months?

Ryan Barrett:
What is our big project? Yeah, there’s so much to do. So one thing we are working on, we’ve started to roll out, is, uh, long form.

Matthias Pfefferle:
So, uh, you know, just like you all think about WordPress for the WordPress community.

Ryan Barrett:
Yeah, yeah. So for a long time, we have bridged web, you know, posts on websites, articles on websites, into the Fediverse as the article Activity Streams 2 type. In Mastodon and other servers, this shows up okay but not great, just the title and the link. That’s something. Um, they’re working on that, I know. Um, Bluesky— Bluesky the app isn’t doing long form really, but other app protocol platforms are, uh, Leaflet, Offprint, uh, Pockets, um, Sequoia. And so some of them got together and made this common lexicon, basically a format called standard.site. And so we added support for that in the bridge. We maybe a week or two ago started publishing these standard site documents. We’re soon going to publish the publication or just kind of like site records, like who is this as opposed to what did they write. I know you all are looking at this too. You actually launched it, right?

Matthias Pfefferle:
I’m still experimenting with that a lot. So yeah, AT Proto is a whole different thing for me.

Ryan Barrett:
Yeah. But yeah, the, so that’s one thing that we’re excited about. Another is we’ve been looking, we’ve been working more on, we have another tool separate from the bridge called Bounce, which is, lets you migrate from one network to another and keep all of your followers. And it uses the bridge under the covers to make that work. Um, one thing we want to do is, uh, let you migrate. Basically, like, when you’re bridged, you have your native account, say, on the Fediverse, and your clone account, say, on Bluesky. Both sides, you know, both the Fediverse and Bluesky let you migrate in accounts. Bluesky’s migration is much more powerful, uh, and full-featured, but they both have that. And so we We want to let you take that existing clone account that you’ve had forever, um, and post it on and move it intact, like keeping its posts, its images, that kind of thing, to a new Bluesky PDS, a new Bluesky server, and then have that be in a real native account you can use. Um, so that’s one thing.

Matthias Pfefferle:
Yeah.

Ryan Barrett:
Um, and then we’re always looking at new networks. Uh, we have Nostr mostly complete in terms of the implementation. Just a few other things we’re still thinking about how to launch, but we’re talking with Rabble, uh, Evan Hendersplath, um, about Divine, which is a new kind of video platform on top of Nostr. And we, we want to make sure we can bridge that when it’s— when they launch that. We look at Forecaster. Forecaster has had a lot of drama in the last month or so, um, uh,, which is interesting. But, um, yeah, we look at that. And then there’s, yeah, there’s, there’s so much more out there to do, uh, lots of new ideas.

Matthias Pfefferle:
So I would love to, um, talk about the standards thing when you launch that. Maybe you want to join me again together with Anoush, uh, talking a bit more about the, the new stuff, uh, later this year. Um, where can we follow all progress you are doing.

Ryan Barrett:
Yeah. So our organization is called ANEW Social. So anew.social. BridgyFed is fed.brid.gy.

Matthias Pfefferle:
And I am snarfed.org, S-N-A-R-F-E-D.org.

Ryan Barrett:
Perfect.

Matthias Pfefferle:
I think I will link all of that in the show notes.

Ryan Barrett:
So I’ve had so much fun here, uh, and I’ve loved working with you again for at least 15 years on indie web stuff. We go back so far. And again, I mean, you’ve done a ton, uh, but yeah, early on, especially the WordPress Webmention plugin was I think the most important project in the indie web, um, you know, bar none. So, uh, yeah, thank you for all of everything you’ve done too.

Matthias Pfefferle:
Thanks a lot. What should I say about that? Thank you a lot for all your work and for doing it as a general service so that everyone can use it. I hope I can and will link and find everything for the show notes. If not, let me know. I will put everything in there. And yeah, thanks a lot for joining. And I’m curious about the next few months.

Ryan Barrett:
Me too. This was great. Thank you, Matthias.

Connecting Decentralized Social Networks and Rethinking Interoperability
ALT text detailsConnecting Decentralized Social Networks and Rethinking Interoperability
W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social

📢 The @w3c Breakouts Day 2026 agenda is available!
➡️ w3.org/calendar/breakouts-day-

Two dates: 🗓️ 25 March from 13:00-15:00 UTC and 🗓️ 26 March from 21:00-23:00 UTC

We invite the web community to take part in these one-hour sessions and give input on diverse topics such as , , cognitive , , policy engagement, and more!

Anyone with a W3C account (including non-Members) can participate. No fee or registration is required.

Breakouts Day 2026 agenda listing the 15 breakout sessions over 2 days: 25 March and 26 2026
ALT text detailsBreakouts Day 2026 agenda listing the 15 breakout sessions over 2 days: 25 March and 26 2026
W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social

📢 The @w3c Breakouts Day 2026 agenda is available!
➡️ w3.org/calendar/breakouts-day-

Two dates: 🗓️ 25 March from 13:00-15:00 UTC and 🗓️ 26 March from 21:00-23:00 UTC

We invite the web community to take part in these one-hour sessions and give input on diverse topics such as , , cognitive , , policy engagement, and more!

Anyone with a W3C account (including non-Members) can participate. No fee or registration is required.

Breakouts Day 2026 agenda listing the 15 breakout sessions over 2 days: 25 March and 26 2026
ALT text detailsBreakouts Day 2026 agenda listing the 15 breakout sessions over 2 days: 25 March and 26 2026
W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social

📢 The @w3c Breakouts Day 2026 agenda is available!
➡️ w3.org/calendar/breakouts-day-

Two dates: 🗓️ 25 March from 13:00-15:00 UTC and 🗓️ 26 March from 21:00-23:00 UTC

We invite the web community to take part in these one-hour sessions and give input on diverse topics such as , , cognitive , , policy engagement, and more!

Anyone with a W3C account (including non-Members) can participate. No fee or registration is required.

Breakouts Day 2026 agenda listing the 15 breakout sessions over 2 days: 25 March and 26 2026
ALT text detailsBreakouts Day 2026 agenda listing the 15 breakout sessions over 2 days: 25 March and 26 2026
Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

I sat down with @snarfed.org to talk about his work around the , the and the including (fed.)brid.gy and @anewsocial

openchannels.fm/connecting-dec

Bob Dunn's avatar
Bob Dunn

@DotheWoo@openchannels.fm

Connecting Decentralized Social Networks and Rethinking Interoperability

Open Channels FM
Open Channels FM
Connecting Decentralized Social Networks and Rethinking Interoperability
Loading
/
Share
Link
Embed
openchannels.fm/connecting-dec<script> /*! This file is auto-generated */ !function(d,l){"use strict";l.querySelector&&d.addEventListener&&"undefined"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i<o.length;i++)o[i].style.display="none";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute("style"),"height"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):"link"===t.message&&(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document); //# sourceURL=openchannels.fm/wp-includes/js </script> ' title="Embed Code" class="input-embed input-embed-2551015" readonly/>

In this episode, host Matthias Pfefferle catches up with long-time friend and open web builder Ryan Barrett. If you’ve ever wondered who’s behind the scenes connecting all these wild and sprawling decentralized networks like the IndieWeb, the Fediverse, and now Bluesky, well, Ryan Barrett is your guy.

They share into the story of Bridgy and BridgyFed, tools Ryan Barrett built to help posts, conversations, and even likes travel effortlessly between platforms that, let’s be honest, don’t always want to talk to each other. It’s a real look at why we still need these kinds of bridges, the ups and downs of working in open source, and what it’s like turning a side project into something that lots of people rely on.

You’ll get a peek into the early days of blogging, the messy but fun world of protocol building, and some of the tough questions that come with running “critical infrastructure” without a big company behind you. Whether you love the nerdy details or just want to know why your favorite blog can show up in the social media feed of tomorrow, this conversation is all about keeping the web open and a bit of the chaos that comes with it.

Join Matthias and Ryan for a chat that proves building bridges, both tech and personal, is still as important (and fun) as ever.

Thanks to our sponsors…

Omnisend logo, featuring a stylized 'i' and the brand name in modern typography.

The best time to migrate is before you’re under pressure. Omnisend moves everything essential for you now, so you’re fully ready when you plan for that large campaign. Use the code OpenChannels and get 30% off your first 3 months of any paid plan.

Woo new logo

If you build stores for clients, WooCommerce gives you the flexibility to create exactly what merchants need. Customize workflows, extend with thousands of integrations, and scale without switching platforms. Check it out at WooCommerce.com.

https://youtu.be/Ls3Jb8Zjijg

Takeaways

Bridging Decentralized Networks: Ryan Barrett has spent years building tools (most notably Bridgy and BridgyFed) that connect different social networks like the IndieWeb, Fediverse, and Bluesky (Atmosphere). These act as cross-posters or bi-directional bridges, letting users interact across platforms more seamlessly.

Funding and Organization: Initially, all this was a side project for Ryan Barrett, but it has evolved. They’ve started a nonprofit, received some grant and crowdfunding, and put basic governance in place; though it doesn’t currently provide a full salary, it does cover operational expenses.

Why Bridges Are Needed: Despite the vision of decentralized networks, true interoperability doesn’t exist by default. Instead of expecting everyone to align on a single protocol, Ryan Barrett argues that we’re still learning and evolving, so bridges are necessary while experimentation continues.

Not Just a Temporary Fix: Bridges aren’t just a stopgap; as protocols and ideas keep changing, the need for interoperability will persist. Ryan Barrett believes that even with established protocols like ActivityPub or AT Protocol, new experiments and networks are inevitable.

Personal Motivation: The roots of these tools trace back to Ryan Barrett’s desire to maintain ownership of his content and the social interactions around his blog, especially as conversations moved onto walled garden platforms like Facebook and Twitter.

Evolution of Open Web Tools: Early efforts included cross-posting content, but Ryan Barrett emphasized “backfeed” such as importing comments, likes, and reactions from social platforms back to his own website, so all engagement was aggregated in one place.

Preference for Usable, Practical Solutions: Rather than inventing radically new standards, Ryan Barrett prefers building bridges and services that work with what’s already out there, favoring RSS, Webmention, and existing APIs, so end users don’t need to host their own solutions.

Protocols: No Single Winner: Discussing IndieWeb, ActivityPub, AT Protocol, and others, Ryan Barrett sees good ideas in each but doesn’t believe there’s a “best” protocol yet. He values building blocks, modularity, and combining approaches, rather than betting on one framework.

End-User and Publisher Focus: Most usage of BridgyFed comes from publishers and content creators (e.g., major media), but individuals also use bridges, especially those who want to maintain a single profile and reach across networks without friction.

Invisible Interoperability: Often, users don’t even realize they’re talking across different networks using BridgyFed; they see and interact with others seamlessly, which is the ideal scenario for Ryan Barrett.

Critical Infrastructure Concerns: With adoption rising, BridgyFed has become important infrastructure. To ensure long-term reliability, they’ve made it open source, started a nonprofit, and instituted governance. There are plans to make it more resilient and less dependent on a single operator.

Looking Forward: Major focus areas for the future include supporting long-form content (via standards like standard.site), expanding migrations and account portability, and readying bridges for new protocols like Nostr and Farcaster.

Philosophy of the IndieWeb: The IndieWeb is described as both a philosophy (“everyone should have a website and control their own profile”) and a protocol stack (Webmention, microformats, etc.), but it’s fundamentally about individual ownership and choice in the online experience.

The Web Isn’t Going Away: There will always be vastly more websites than social network accounts. Even as trends shift more towards platform accounts, the open web remains a massive, foundational part of online life and bridges can help keep it connected to emerging networks.

Mentioned Links and Resources

  • Bridgy & BridgyFed – A suite of tools for bridging between the IndieWeb, Fediverse, and Bluesky/Atmosphere. 🔗 https://brid.gy/
  • ANEW Social – The nonprofit organization behind BridgyFed. 🔗 https://anew.social/
  • Granary – A tool and service to convert between web formats like RSS and microformats. 🔗 https://granary.io/
  • Standard.site – A common lexicon/format for long-form content on Bluesky and other AT Protocol platforms (mentioned as “standard.site” for composing and sharing articles). 🔗 https://standard.site/
  • snarfed.org – Ryan Barrett’s website, personal blog, and IndieWeb hub. 🔗 https://snarfed.org/
  • Fed.brid.gy – The main instance of BridgyFed bridging service. 🔗 https://fed.brid.gy/
  • IndieWeb – Community, resources, and documentation about owning and controlling your content and identity online. 🔗 https://indieweb.org/
  • Bounce – A tool to help you migrate from one network to another and keep all of your followers (powered by BridgyFed). 🔗 https://bounce.anew.social/

Timestamped Overview

  • 00:00 Between Gigs Crowdfunding Nonprofit
  • 05:14 Early Protocol Evolution Debate
  • 10:11 Blogging Era and Social Media
  • 12:11 Backfeeding Social Interactions
  • 16:20 Early Web Standards Collaboration
  • 19:26 Graph API and Decentralization Challenges
  • 22:43 Struggling with Protocol Implementation
  • 25:12 Engineering Formats as Lego Blocks
  • 30:46 Usability and account recoverability
  • 33:36 Decentralized Social Functional Separation
  • 37:27 Decentralized Communication via Open Standards
  • 39:34 Building for the Present Web
  • 45:08 BridgyFed: Connecting Diverse Platforms
  • 47:04 Transforming a Side Project
  • 51:05 Custom Domains for Bridged Accounts
  • 54:23 Network Migration and Bounce Tool
  • 56:58 Indie Web Collaboration Reflections
Episode Transcript

Matthias Pfefferle:
So welcome, you’re listening to the Open Web and Fediverse series, part of the Open Web Conversations channel and Open Channels event production. And today’s guest is building infrastructure that bridges together what should be interoperable by default. He’s literally building bridges between the indie web, the Fediverse, and the atmosphere. I hope it’s called like that for almost 15 years now. Welcome to the podcast, Ryan Barrett.

Ryan Barrett:
Thank you, Matthias. I’m glad to be here.

Matthias Pfefferle:
I think my introduction was almost perfect, but Maybe you want to add something?

Ryan Barrett:
Yeah, no, I, you and I go back so long. We’ve been doing indie web stuff together for at least 15 years. And so it’s, I’m excited to be here. It’s, it’s really fun to get to talk to you about kind of everything that led us to where we are now.

Matthias Pfefferle:
Yeah, but maybe you say some words about what I teased a bit with. You are the bridge builder.

Ryan Barrett:
Yes. Yeah. So who am I? Yes. So I’m, you know, a stereotypical Silicon Valley software engineer. It’s been my day job. But on the side for a long time, I have— I’ve done indie web stuff and somehow I ended up doing a lot of converters and bridges and translators. Going from one place to another. Uh, so yeah, the— what I’m known for and what I spend most of my time on today is, um, a suite of tools, uh, Bridgy and BridgyFed. We now, we now call them maybe BridgyClassic and BridgyFed. Um, these, uh, are kind of like cross-posters or bridges between different networks, uh, as you mentioned. So the web IndieWeb in particular, the Fediverse, and Bluesky, or the Atmosphere as you called it. And so BridgyFed is where I spend most of my time these days, and it is a full-featured bi-directional bridge. So if you are on Bluesky, you can see people who have bridged themselves on the Fediverse. You can see their profile, their timeline, you can follow them. If they post, you’ll see their posts on Bluesky. You can reply to them on Bluesky. The replies and likes and reposts will go back and forth. And so we try to make that as native and seamless as possible. And it takes a lot of work, but it’s fun.

Matthias Pfefferle:
Yeah, because of a lot of work, you mentioned that you do that as a side hustle. Is that still a side hustle thing?

Ryan Barrett:
Uh, right now I’m between gigs, so I’m mostly full-time on it. Uh, eventually I’ll go find a real job again, but, um, uh, right now I have more time for it. Uh, thanks in large part, uh, about a year and a half ago maybe I started working with Anuj Ahuja, who comes from working on similar stuff, and we have, um, I resisted kind of taking donations for a long time, but we now do crowdfunding and, uh, grant funding, and we, we started nonprofit. And so there is a bit more of kind of real organization and governance and some funding behind it. We don’t have enough funding to kind of pay ourselves salaries yet, but we can cover expenses and things like that.

Matthias Pfefferle:
Is it a plan to do that as a main profession anytime soon?

Ryan Barrett:
I don’t know. I’ve never been much for like a 5-year plan or a 10-year plan for myself. I just do what I’m doing while it works. And then when it’s time to do something else, I do something else. Um, I have never quite felt like this is my career. Um, so, but I’m doing it mostly full-time now. We’ll see how it goes. And I mean, even if I go get a different job and do something else,, you know, as a day job, like I wouldn’t shut this down. Um, it’s more a question of like, how much time am I spending building new parts of it and maintaining it as opposed to just kind of running it as is.

Matthias Pfefferle:
I think that’s the main problem for everyone working in open source and decentralized platforms in general, I would say. Um, yeah, but As I said in the introduction, it’s kind of weird that you need something like a bridge to bridge decentralized networks together. So why all of that?

Ryan Barrett:
Yeah, there is one way of thinking about this that is kind of like we want everyone, you know, all the different software projects to use the same protocol so that they can interoperate. Of course, I get that. Another way of thinking about it is we are still so early to all of this. It’s— yes, it’s been decades, but decades is not that long. I think if we said, okay, have we figured out all of the questions and we know the best way to do all of this, we’re doing it in maybe an activity pub. ActivityPub got everything right, no more questions to answer, like no more problems, so there’s no need to try anything new. Like ActivityPub is it, or, or Atmos protocol or anything else. That’s the final answer forever. Like, I don’t think anyone would believe that, right? Like, I think we are so early and there’s so much more to learn and figure out and, uh, kind of invent, we have to try a bunch of new things. ActivityPub is great. App Protocol is great. IndieWeb is great. I like Nostr. I like Farcaster. There are a bunch of good ideas, but we have like, yeah, there’s just so much more to figure out. And often like you can’t slowly evolve an existing network or protocol to try some big new idea. Uh, often if you have a big new idea that’s very different, it’s just too far away. And so you can’t like very gradually, inch by inch, move this one over there. You have to just try a new thing. And so I think trying new things is great. Uh, I think right now is the time to try lots of different ways to do decentralized social, right? But while we do that, we’ll have lots of different networks that don’t talk. Right. And so I like having things talk. And so I think bridges are useful.

Matthias Pfefferle:
So is that still a temporary thing for you?

Ryan Barrett:
Or, uh, probably not. I mean, so if the question is like, will we try things and then we’ll find the best way and everyone will use the one best way and then we’re done. No, I don’t think so. I think change is the only constant. I think we are always improving things. Um, Email is a great example. You could say, yeah, we tried a few different ways for people to kind of talk asynchronously online many, many decades ago. We settled on email. That’s great. But now if you think about how do you talk to your friends online, it’s mostly not on email, right? It’s on messaging or social or other things. And so we didn’t really have— even when we settled on email, like later, it’s not that SMS competed with email, but it was a new idea, right? And so I think there will always be new ideas, and that’s good.

Matthias Pfefferle:
So you said, or you already mentioned, that it’s nearly since forever, um, you are working on that. I think it’s almost 15 years. So, um, What led to a bridge? What is the history about all of that? Why have you decided to, okay, there are so many, like the XKCD comic, there’s so many competing standards, let’s build a bridge?

Ryan Barrett:
Right, right. Yeah, so the short answer is kind of the open source scratching my own itch. So way back in maybe 2000, I was in college. I had a website, a little— I didn’t— no one knew to call it a blog, but a website or a blog. Okay, good. When Facebook came out maybe a year or two later, at least very early in college for colleges, I signed up and tried it and I thought, oh, this is interesting. And I kind of immediately realize, oh, this is good and useful, but it’s not mine. I don’t control it. Like, I can, I can make my profile and post, but at the end of the day, if they want to change how things look or they don’t like me and want to, you know, ban my account or something, like, I— they can do that. I can’t control it. And so it’s okay. I mean, that’s like any service. But what I ended up doing was I would, when I posted, I would always just post on my website and then I would just copy and paste into Facebook. Then I knew at least anything I write there, like I’ll still have a copy of, I’ll still control. Okay. That is fine. Like as other services come out like Twitter or whatever, I would, I did the same thing. Gradually. So there was this era, you remember this, I mean, you and I have been doing indie web stuff together forever. The blogging era, this was the early to mid, maybe 2000s. There was an era where lots of people wrote blogs and would kind of respond to each other’s blog posts on their blogs and comment on those blog posts. And that’s great. Everyone had their own website and did that and it worked well. When social media kind of got bigger, one thing we would do is we would write blog posts and then post links to our posts on Facebook, Twitter, et cetera.

Matthias Pfefferle:
The famous cross-posting.

Ryan Barrett:
Yeah. Yeah. Yeah. Okay, sure. Gradually what we saw was that more and more people spent more time inside these social networks as opposed to reading kind of on the blogs. And so when I would post a link to a blog post I wrote, something I wrote, more and more people would comment kind of on Facebook or on Twitter or wherever instead of on my blog post on my website. Okay. The downside there is I don’t have— I’ve been like that conversation like about what I’m talking about. Is on Facebook or is on Twitter. Like, I don’t keep a copy of it, I don’t have a record of it, right? Um, you know, so that, that was a change that was disappointing. And so cross-posting was one thing. There were tons— there were always tons of tools to say, oh, post to Facebook and Twitter and Instagram and whatever. Like, that’s pretty easy. So lots of people did that, that’s useful. But what I wanted was the comments or the replies on Twitter. And then eventually the likes and the reposts and the quotes and everything, I wanted those to show up on my website too. And other people had thought of this, and you know, it was, it was a good idea, but it was much— it was more complicated to build, and so not many people did it. This is what we call in the indie web backfeed. And of course, the indie— at this time I had also kind of discovered the indie web, or was discovering at this time, and it was doing— had similar ideas kind of between websites themselves without worrying about social networks. But so what I eventually built was this tool to go use the Twitter API, use the Facebook API, etc., to find all of those replies and likes and reposts and figure out and kind of map from my original post there to the, my blog post and copy them all back to my blog post so they would show up there and other people would see them there.

Matthias Pfefferle:
So the first version, the first bridge was to bridge your blog content to, let’s say, closed social network and get the reactions out of it.

Ryan Barrett:
Yes. And especially, I mean, primarily the backfeed. So at the beginning, I didn’t do the cross-posting. I just I’m not— I’ve never been very online. I don’t post a ton. I post once every few days. Copy and paste is fine for me. But the back feed was the key part. And originally this was either 2000— I need to check the— maybe January 2012. The first version I did of this was WordPress specific. It was not Webmention. It was not kind of this open standard, this indie web standard. It was WordPress specific and it did, I think, Facebook and Twitter and that was it. And it was probably only replies or comments, but it was something, you know, and it kind of grew from there.

Matthias Pfefferle:
But it was as a service, it was not directly baked into WordPress. So is there a specific or was there a specific decision to do it like that or is this something that made the most sense?

Ryan Barrett:
So, I always knew this— all this should work as kind of open standards. Open standards. I wanted it to be interoperable. I didn’t want it to be specific— as much as I love WordPress, I didn’t want it to be specific to WordPress or anything else, right? And so, the standards I knew originally at that time were— the standard I knew for this was OStatus around then. And so my, my long-term idea was to build an OStatus bridge for all of, for the closed social networks. So that since, so the, I mean, the, the big idea here is they, they were closed, but they all had APIs. And so you can, like, there’s OStatus, there’s this open standard, and then there are these APIs. And the APIs were pretty full-featured. And so I figured like I have these two Lego blocks, I can just kind of use the API and translate the OStatus and back. And that should, that should work.

Matthias Pfefferle:
So one of the earlier versions were even compatible between OStatus, the open, let’s say predecessor of the Fediverse activity pub. And Facebook and Twitter?

Ryan Barrett:
So I never got— I never fully implemented OStatus for Facebook and Twitter. The first version of BridgyFed was OStatus. It was IndieWeb to and from OStatus. Before I did ActivityPub there. That was 2017. So BridgyFed was a different— a similar but different service, yes. But I did a number of these. So I did implement WebFinger for Facebook, Twitter, et cetera. I did portable contacts. POCO was a similar standard. Yeah, this is like us going back to 2010 era. What were the— and I did OpenID for Facebook and Twitter. So there were parts there, uh, and also, I mean, a lot of this was just around, it was in the air, and I happened to know a number of the people working on these standards, um, Evan, but also people like Brad Fitzpatrick, Brett Slatkin, uh, David Recordon. We all, you know, talked now and then. And so this was Chris, yeah, um, this was OStatus, but also kind of Buzz at Google and let’s see, Brad was doing things like the Social Graph Explorer API at Google and there were a lot of similar ideas. As a separate side project, I had written a little app that used— that did OpenID for Google accounts. Like any Gmail account, that kind of thing. There were a lot of these ideas. This was the, like, that blog era, 2000 to 2010, was also very much the Web 2.0 mashup era, Yahoo Pipes kind of thing. And also people at the same time thinking about Webfinger, OpenID, OStatus, these early, early decentralized social, decentralized services. And so there were lots of people and lots of ideas. Can I plug this into that? Like there are a bunch of parts. Let’s just plug them all together and see what works.

Matthias Pfefferle:
Yeah. Ostatus itself felt very mesh-appy. So putting together a lot of open standards and all the decentralized protocol. So when you worked on all of that, have you had the hope that it might get implemented? In the social networks? Because back in the days, Facebook and Twitter were really part of the discussions, not around maybe old status specifically, but there were other projects like data portability, for example, where they were really involved into that discussion. Was that kind of the hope you had?

Ryan Barrett:
No. Okay. Facebook very concretely for a while did a number of these things that had RSS. You know, it— I’m trying to remember if it did OpenID.

Matthias Pfefferle:
They did. They did OpenID. They had XMPP as the foundation of their Facebook chat. So they used quite a lot of open standards. I think they even used microformats for their profiles. It was, they were quite open to that.

Ryan Barrett:
And then also the things they created. So the graph API for a while, they very much positioned it as this kind of open generic thing that other people could use. And so this was the era of, again, David Recordon was there for a while and other people. I think the culture there. Was very much engineering driven and kind of just scrappy hackers, um, just throw a bunch of stuff together and engineers like standards. And so yeah, there was a while where they were very open to this stuff, which was great. Twitter, not so much. I think Twitter, you look at what Jack Dorsey was saying back then and recently, but, um, he had big, big ideas and vision for protocols and decentralization, but It never felt like that translated into anything concrete that they shipped. Facebook was very different. They shipped a ton of it. It didn’t last forever. But one thing when I think about the things I build, I very rarely like want to tackle an adoption problem. Like if you make a new protocol, like you can do it all right, you know, and make all the right choices or whatever, but you have to get everyone to use your new protocol or your new tool. That’s very slow and difficult. I would much rather, yeah, I’d much rather build something that people can use as is, especially developers, without having to, without a big adoption challenge. I think that’s another reason I tend to build these things as services. I want individual users to be able to use these things as easily as possible. I don’t want them to have to self-host anything. I don’t want them to have to get their Mastodon or Friendica or Pleroma or whatever to add a new feature. And so, yeah, I tend to avoid kind of adoption problems. I tend to build for what is here now and not for some hypothetical future.

Matthias Pfefferle:
Okay. So it’s more you want to have a platform that proves that it works instead of building, in Germany, we would say, air castles. Yes. Something, yeah, as you said, hypothetical, we could do if anyone would implement that, we could do XY. Right. So that, but I think I kind of agree with that. I was always also the, I want to implement something because it’s, for me, it was kind of a similar socialization with all the web stuff. So I also started with a blog and wanted to keep that momentum. So it was not defining protocols or using protocols because it’s the right way to do that, or because I wanted to work on something like that. It was simply because I needed it and I wanted to see if it works. So I kind of agree with that. But on the other hand, I’m kind of the lazy guy and implementing protocols is really not an easy thing. So I always tend to choose something to work on. And I was always impressed by your work to kind of being the, how you say that in English, the jack of all trades and implement everything when I struggle with implementing only one protocol. So why? I understand that theoretically, but why all of that work? So because that is, that is insane.

Ryan Barrett:
Yeah.

Matthias Pfefferle:
Yeah.

Ryan Barrett:
I mean, I, I wouldn’t, don’t sell yourself short. I mean, you, you did the WordPress Webmentions plugin. I think that for a long time, and maybe still, that was maybe the single most important indie web project. Yeah, period. And that was a full new protocol, like two of them. Like you had to do Webmention and microformats.

Matthias Pfefferle:
Yeah. But I compared with AT Proto or Nostril or ActivityPub, I think Webmention is a very easy, straightforward thingy. There are parts that are tricky, but not because it’s, the spec is hard, but it’s hard to, for example, to get semantics out of HTML is not a fun thing, but it’s more because websites are crappy and not because a standard is implemented or a standard is complicated to implement. So I think that’s a bit of a different level of complexity?

Ryan Barrett:
Uh, yes. Yeah, that’s fair. Um, yeah, scraping arbitrary HTML is no fun. Uh, if you say we require microformats, it’s much better. So, you know, like, takes work, but so yeah. So why have I done so many or worked on so many of these protocols and formats? Um, I think some of it is as engineers, the root of what we do is just put blocks together and build things out of smaller pieces. This is Lego, right? And regardless of what it is we’re building as engineers, protocols and formats are Lego blocks. There are these clear— they may be complicated, but there are these clear instructions for how to connect to it or how to like publish or consume a format, a data format, right? And so as an engineer, to me, when I see a few of them, a few formats, for example, I think, oh, it’s just like this, this field in this format goes to this field in this other format and this field goes here. And then for protocols, oh, this message goes here. This one sends X and this one receives Y. And so it’s, yeah, it’s very tempting and sometimes fun to just take a lot of Lego blocks and plug them together. And when you see that, like, they should be able to plug together and no one’s done it yet, sometimes, like, separate from the use case, the end user functionality, it’s fun to just go try and say, oh yeah, they plug together, or oh no, they don’t. This is WebSocket and this is HTTP, so then I need to bridge that and then I can plug them together or something similar. So one part of it is as an engineer, it’s fun to plug Lego blocks together. Another part is scratching my own itch.

Matthias Pfefferle:
Okay. So I always wanted to have that discussion with you and it’s even better to have that in public. So you implemented a ton of different protocols. And if you have not implemented it, you even understand the spec or know what to do theoretically. From all of these different specs, maybe we can go through the three main things and afterwards we can maybe talk a bit about Nostr. I have not read about Farcaster at all, to be honest. But what of these three protocols would best not fit your needs, but the nearest to what you would see as this is how it should work?

Ryan Barrett:
Yes.

Matthias Pfefferle:
Is that even answerable?

Ryan Barrett:
So I think it is. I would start with a metaphor or an analogy. If you study cryptography, like in academia, in college, there’s always been a saying like, don’t invent a cipher, you know, or you don’t make a good, a successful career as a cryptographer by inventing ciphers. You make it by breaking ciphers. I feel a bit like that here. I can look at a bunch of these different protocols and networks and say, oh, here are the pros and cons. Here are the good parts. Here are the bad parts of each one. I don’t feel qualified or ready to make my own, and I don’t know if I’m— if I would look at any of them and say, oh, this is the best one. Um, I think there are better and worse. Oh, Status was well-intentioned but not so great.

Matthias Pfefferle:
Um, I think well-intentioned sums it up quite good.

Ryan Barrett:
Yeah, you know, like we talked about earlier, it was so early we had so much more to learn. There were so many more new ideas we needed. It was maybe, it was one of the very early decentralized social protocols, like in the modern age, if you don’t count Gopher or Usenet, like the really old school stuff. Of course it wasn’t going to be great, right? But you had, we had to start somewhere. We had to try some things. So right now, what do I think is good? Yeah, maybe we’ll put a link in the show notes. I did a talk at the App Protocol conference last year. I think it was called All the Protocols Compared. So that’s the long version of this answer. But there are a number— I look at the modern protocols. So the big ones that we would think about, IndieWeb, ActivityPub, App Protocol, Nostr, Farcaster, Maybe DSNP. I don’t think that ever really hit and is definitely slowing down now. Um, yeah, so what are good ideas? Um, I think asymmetric key identity, so identity based on public keys, is a good idea. Um, and you see that in a number of these protocols. That is App Protocol, Nostr, Forecaster, DSMB, um, and blockchain. Uh, the key problem with public keys is, or key-based identity, is that it is recoverability. If we want to make something so usable that all of our family can use it, if we tell them, oh, never lose your password, if you lose your password, you’ve lost your account, that’s unacceptable, right? It’s just like not okay. So you need recoverability and there is, we’ve made progress there. There’s like complicated techie stuff, like multisig. Um, there’s very usable stuff like Bluesky where, um, custodial keys, like you had your identity as a key, but they manage the key for you. So those are, there are some good ideas there. Um, I think relays are another one. There was a movement for a while of like pure peer-to-peer, secure scuttlebutt, etc., where we wouldn’t even use— oh, we have the internet, every device is connected, each device should be able to talk to another device without servers. I think in a different world, in a different timeline, the internet may have evolved that way, but it didn’t in ours. We have NAT, we have CGNAT, um, tunneling, etc. It is a very client-server internet that we have grown. Um, and so realistically, you need parts of the network that are always online, and those will be servers. And so the shape of Nostr relays, Proto relays, um, Snapchain and Farcaster Even now you look at, uh, there are Fediverse relays. They are much smaller in scope, but this idea that there are servers and there are multiple and they can talk to each other and they’re, they’re somewhat dumb. Nostr relays are basically these like very limited databases. App Protocol relays are just kind of multiplexing and demultiplexing. They take multiple streams and combine them into one stream. And that’s it. When you look at kind of networking, computer networking coming out of the IETF, this is TCP/IP, Ethernet, et cetera. A lot of networking design ages ago followed this end-to-end principle where you put all of the logic, guaranteed delivery, only once delivery, congestion control, all the logic is in the endpoints on the computers that are the server or the client. The network is dumb. It’s just routing packets. I see some similar ideas in relays in these decentralized protocols. And I think that can make some sense. So yeah, those are two ideas I like. And then also kind of decomposing or separating a lot of the functionality. Some things we see, so in decentralized social, you need data storage. You’re going to have some admin, some moderation. You’re going to have feeds. There’s more of this kind of what I would call the product logic or business logic, like the social part, not the decentralized part. And newer networks are pulling those apart so that you can, you know, custom— like, you can run a custom feed in Blue Sky, in Atmosphere, and that’s totally separate from moderation, right? And literally different people, different organizations can run those and not talk to each other and not be in the same software project, and that’s good. So that’s maybe a third idea I like recently.

Matthias Pfefferle:
Because you mentioned, uh, the, the indie web as a protocol, do you see that really as a protocol? Because I thought about the indie web more like an, uh, philosophical thing, an idea, um, that has some protocols, but it’s more how you use the internet or how you use the web?

Ryan Barrett:
I think it’s both. Yes. Yeah. Like for power users or tech people who use all this stuff, like the, often the dream we have is I want one place or one master or one kind of main place where I control my profile online and where I post, and then that goes everywhere and talks to everything, all the other networks, and everything comes back. But I, I only do it from one centralized or one place for me, at least. Um, maybe it’s my Fediverse account, maybe it’s my Bluesky account, maybe it’s my website. For us in the indie web, often we think of it as our website. Um, and so you’re right, indie web Either first or like importantly is a philosophy. It’s like everyone should have a website. And ideally everyone should have a domain that they own for their website. And so there are some tech and protocols, but I think we would say in the indie web, if you have your website, your own website, especially if you have your own domain, you are part of the indie web. You don’t have to do webmention or microformats or anything else. So philosophically, yes, I agree. Also, there is this indie web protocol stack, Webmentions, microformats, MicroPub, MicroSub, others. And so those add a lot of functionality. But yeah, I think it’s both.

Matthias Pfefferle:
Yeah, but in the end, it feels a lot like more in the Ostatus directory. So direction, not directory. So it’s more a These are parts you could use to have a kind of decentralized communication, but it’s not directly a full-flavored protocol for decentralized communication. And I mentioned that because I really like how you design your bridges, because oftentimes, or I thought, mainly about, okay, if you’re bridging the Fediverse to the Atmosphere, then I should join as an ActivityPub node. But in recent discussion, you always mention, um, when you have a blog, why not use way simpler mechanisms like, for example, RSS or other indie web standards like Webmention and things like that. And I really like that because in the end, implementing RSS or Webmentions or anything else that is in the IndieWeb stack is quite easy and straightforward. And using that to connect to a bridge that does all the heavyweight stuff, um, is kind of, you use open standards in, in, in every level of that bridge thing and even reuse paradigms that you mentioned, like the abstraction of, or the multi-layer thing. So you do not have to care about federation and about who can connect with your site. You implement some basic protocols like the next level of pingbacks, some RSS, maybe some web semantics. And I do all the heavy lifting stuff for you.

Ryan Barrett:
A lot of this again is I think just me avoiding air castles and me not wanting to have to convince someone to install software anywhere. I don’t really know how to predict the future. And so I tend to live in what is, what exists now for any given network or anyone’s website. Like, what does it do now? And it probably does RSS. Most, many websites at least probably don’t do ActivityPub. So yeah, I kind of take that, like, where are people now and what can I build that they can And turn on, or not even, I mean, Granary, for example, like there’s a library and tool, a service I run called Granary that converts between formats. You can use Granary to convert someone’s website like RSS to microformats and they don’t even have to know, right? Like you can use it. Um, and that’s again very much the Web 2.0 mashup kind of permissionless web crawling mentality and era. You know, the era we kind of grow— you and I and other people kind of grew up in. And there are different ideas now and that’s great. But yeah, I think a lot of it is what can I— how can I make this work? How can I make something useful? Assuming nothing changes and assuming no one installs any new software anywhere.

Matthias Pfefferle:
But from your experience, you’re running a bridge. What is— so is having your own website and connecting to that bridge still a thing, or is that still us two being old nostalgic guys wanting back the blogosphere?

Ryan Barrett:
I mean, it’s still a thing because we do it. Yeah, some people do it. I, you know, my partner in this, Anuj, he wants that kind of techie power user dream of one place for his profile. And for him, it’s his Bluesky account. Or ideally might be eventually. For me, it’s my website. And so I think that choice is good. And there are more websites out there probably than accounts on any individual social network. So if Facebook, how many websites are there? Billions, at least tens of billions. There are probably more websites than Facebook accounts, right? And Facebook is the biggest social network. So I mean, If you count websites, and even if you say websites with their own domain, and so then does WordPress.com, does WordPress.com site without its own domain count? I don’t know. But yeah, I mean, there are more websites out there than any social network. So I don’t know.

Matthias Pfefferle:
But do you see a tendency or is there, do you get some feedback like, okay, you allowed me to stay on my side, so I will do that? Or is there a trend?

Ryan Barrett:
Yes, I understand the question. No, for the average, the average person these days is more likely to use social networks and have social media or have social network accounts and less likely to have their own website, especially with their own domain. I think, yes.

Matthias Pfefferle:
So it’s mainly bridging Fediverse accounts to AD Proto accounts and having your own website as part of this new bridge decentralized social network is still the niche?

Ryan Barrett:
Yeah, I think what we see often is the most— so for BridgyFed, for example, most of the websites on it are not personal websites. They are publishers, but they’re very popular. So I think Rolling Stone, for example, has almost is someone is bridged, um, and it has, I think, over 100,000 followers. It’s bridged, uh, accounts. Um, and so on the one hand, it’s probably mostly not personal websites, but there are, I don’t know, maybe 30,000 bridged websites on BridgyFed, and some of them are very popular, right? And so that’s useful.

Matthias Pfefferle:
Okay. So it’s kind of the content creator, I wouldn’t say niche because they may be few in total numbers, but not in follower counts. So, okay. But is there a trend of people following or understanding what that means, bridging between different networks and actively using it, or is this more an I’ve found someone by accident and followed them and didn’t care where the profile is?

Ryan Barrett:
Yeah. So the, I think we are at a bit over 130,000 total bridged accounts on BridgyFed right now, which is good. It’s still, you know, it’s still on the one hand, it’s big. On the other hand, it’s small. Um, yeah, I think lots of people do see and interact with bridged accounts. Like, lots of people are on Bluesky and see and interact with a Fediverse account, or vice versa, and don’t know it. Um, especially for Fediverse accounts, for example, that have set custom domain handles on their— on the Bluesky side. Uh, both Anuj and I, one of our favorite things is to see, to find like big, big conversations where some of the people in the conversation are on Bluesky, some are on the Fediverse, some are even are on like, maybe I’m participating and I’m on my website or you. Um, and as far as we can tell, the people either don’t know or don’t care. Which is great. I love it, right? Like, that’s the dream. Yeah, I don’t— I like that people know about the bridge, but the goal, like, I also love when it works and people don’t know about it and it works anyway.

Matthias Pfefferle:
So maybe we’re coming to an end. Maybe a controversial question.

Ryan Barrett:
Sure. Fun.

Matthias Pfefferle:
So because you’re bridging quite some profiles and there is quite a discussion or discussions through all the networks, I would say you built quite a critical infrastructure. How to handle something like that for the long term?

Ryan Barrett:
Yeah. Uh, yeah, it’s an important question. So it’s better now than it used to be. It used to be one random guy’s side project, um, with zero funding, uh, zero organization or governance. Um, and so that was true for a long time. Uh, and a couple of years ago, some people online started looking at it and saying, oh, this bridge is good. It’s Maybe more than good now, maybe it’s important, uh, was getting big enough, uh, and there were enough accounts on it that were— people cared about having access to. And they were saying like, this is important, it needs to be reliable infrastructure, it needs governance, like how will we make sure this lasts and is stable, etc. On the one hand, like it was flattering that people cared about it enough to say that, right? On the other hand, I didn’t have any of that. It was one random guy’s side project. And so I wrote a post and basically said, hey, like, thank you all so watch. This is one random guy’s side project. Like, there’s nothing to it. Um, it’s open source. Uh, but yeah, uh, if you all want more governance, more organization, great. I’m not gonna do that. That’s not what I’m in this for. Um, so if someone else wants to, great. I was hoping they would say, oh, okay, we get it, and go away. Instead, a number of people popped up and said, oh, Hey, I’ll be that person. I’ll add the organization of the governance. And then I said to myself, well, shit. But so then we did, you know, I ended up working with Anuj and he’s been great. And we have a nonprofit in the US. We have grant funding and crowdfunding. We have a board of directors who are great and independent. Really helpful. So that helps. And I think the other answer is it is open source and it’s public domain licensed. So there are— it’s like totally unencumbered. Anyone else can run their own instance, can take the code and go with it. And so the only— if it died tomorrow, the existing bridged accounts, like, so the domain and the keys that are in the bridge for those accounts, those are important. And so if BridgyFed died, those would go away. That’s not going to happen. I think it’s possible I’ll shut it down at some point, but I fully plan, if I do that, to do an orderly shutdown. Ideally find someone to take it over so that the domain and the keys survive. And if not, you know, like, we would make it work. But yeah, it’s open source. It’s got an org, it’s got some funding. We’re okay for now.

Matthias Pfefferle:
Have you planned something like hosting it as a service for bigger sites or organizations?

Ryan Barrett:
We have talked about it a lot. I think we still don’t know what problem that solves.

Matthias Pfefferle:
I think from, from my perspective, it’s oftentimes the simply the domain thingy, because everything for now is kind of something@fed.brit.g. So it’s still very., yeah, very much promoting this single instance and maybe others want to have their own, maybe the Rolling Stone want to have @rollingstone.social or something like that. Is, was that even a question or is that something you think about?

Ryan Barrett:
Yeah, definitely. So the default, you’re right, the handles, the addresses for bridged accounts have you know, something.brid.ui in them. But for a long time now, we’ve let you set a custom domain, um, on Bluesky, but also on the Fediverse. On the Fediverse, at least if you— for bridged websites. Um, okay. Yeah, and we could look into that. So I think the part that’s missing is if you’re on Bluesky and you bridge into the Fediverse. I need to go check. I don’t think we— I don’t think we let you set a custom kind of server part of your Fediverse address there, but we could. Um, but most of that— so we have the custom domains in Bluesky, we have them for websites into the Fediverse, so we’re mostly there. And people definitely use that, uh, especially the Bluesky part. But in general, yeah. So for example, my Fediverse address is snarf.org@snarf.org. It’s through BridgyFed. It doesn’t have grid.gy in it. Yeah.

Matthias Pfefferle:
Okay. So, but, but is that really a thing end users care about? Or is that more as a business owner?

Ryan Barrett:
I think both. I mean, I’m an end user and I did it. Lots of individual people bridging from Fediverse to the Blue Sky, to Blue Sky set custom domain handles. Um, so some people do.

Matthias Pfefferle:
Okay.

Ryan Barrett:
I think maybe more individual people than businesses. I think not nearly as many businesses know about the bridge and having more individual people. Yeah, we’re getting there, but it’s still early.

Matthias Pfefferle:
Okay. So what is, what are you most curious about for the next few months?

Ryan Barrett:
What is our big project? Yeah, there’s so much to do. So one thing we are working on, we’ve started to roll out, is, uh, long form.

Matthias Pfefferle:
So, uh, you know, just like you all think about WordPress for the WordPress community.

Ryan Barrett:
Yeah, yeah. So for a long time, we have bridged web, you know, posts on websites, articles on websites, into the Fediverse as the article Activity Streams 2 type. In Mastodon and other servers, this shows up okay but not great, just the title and the link. That’s something. Um, they’re working on that, I know. Um, Bluesky— Bluesky the app isn’t doing long form really, but other app protocol platforms are, uh, Leaflet, Offprint, uh, Pockets, um, Sequoia. And so some of them got together and made this common lexicon, basically a format called standard.site. And so we added support for that in the bridge. We maybe a week or two ago started publishing these standard site documents. We’re soon going to publish the publication or just kind of like site records, like who is this as opposed to what did they write. I know you all are looking at this too. You actually launched it, right?

Matthias Pfefferle:
I’m still experimenting with that a lot. So yeah, AT Proto is a whole different thing for me.

Ryan Barrett:
Yeah. But yeah, the, so that’s one thing that we’re excited about. Another is we’ve been looking, we’ve been working more on, we have another tool separate from the bridge called Bounce, which is, lets you migrate from one network to another and keep all of your followers. And it uses the bridge under the covers to make that work. Um, one thing we want to do is, uh, let you migrate. Basically, like, when you’re bridged, you have your native account, say, on the Fediverse, and your clone account, say, on Bluesky. Both sides, you know, both the Fediverse and Bluesky let you migrate in accounts. Bluesky’s migration is much more powerful, uh, and full-featured, but they both have that. And so we We want to let you take that existing clone account that you’ve had forever, um, and post it on and move it intact, like keeping its posts, its images, that kind of thing, to a new Bluesky PDS, a new Bluesky server, and then have that be in a real native account you can use. Um, so that’s one thing.

Matthias Pfefferle:
Yeah.

Ryan Barrett:
Um, and then we’re always looking at new networks. Uh, we have Nostr mostly complete in terms of the implementation. Just a few other things we’re still thinking about how to launch, but we’re talking with Rabble, uh, Evan Hendersplath, um, about Divine, which is a new kind of video platform on top of Nostr. And we, we want to make sure we can bridge that when it’s— when they launch that. We look at Forecaster. Forecaster has had a lot of drama in the last month or so, um, uh,, which is interesting. But, um, yeah, we look at that. And then there’s, yeah, there’s, there’s so much more out there to do, uh, lots of new ideas.

Matthias Pfefferle:
So I would love to, um, talk about the standards thing when you launch that. Maybe you want to join me again together with Anoush, uh, talking a bit more about the, the new stuff, uh, later this year. Um, where can we follow all progress you are doing.

Ryan Barrett:
Yeah. So our organization is called ANEW Social. So anew.social. BridgyFed is fed.brid.gy.

Matthias Pfefferle:
And I am snarfed.org, S-N-A-R-F-E-D.org.

Ryan Barrett:
Perfect.

Matthias Pfefferle:
I think I will link all of that in the show notes.

Ryan Barrett:
So I’ve had so much fun here, uh, and I’ve loved working with you again for at least 15 years on indie web stuff. We go back so far. And again, I mean, you’ve done a ton, uh, but yeah, early on, especially the WordPress Webmention plugin was I think the most important project in the indie web, um, you know, bar none. So, uh, yeah, thank you for all of everything you’ve done too.

Matthias Pfefferle:
Thanks a lot. What should I say about that? Thank you a lot for all your work and for doing it as a general service so that everyone can use it. I hope I can and will link and find everything for the show notes. If not, let me know. I will put everything in there. And yeah, thanks a lot for joining. And I’m curious about the next few months.

Ryan Barrett:
Me too. This was great. Thank you, Matthias.

Connecting Decentralized Social Networks and Rethinking Interoperability
ALT text detailsConnecting Decentralized Social Networks and Rethinking Interoperability
W3C Developers's avatar
W3C Developers

@w3cdevs@w3c.social

📢 The @w3c Breakouts Day 2026 agenda is available!
➡️ w3.org/calendar/breakouts-day-

Two dates: 🗓️ 25 March from 13:00-15:00 UTC and 🗓️ 26 March from 21:00-23:00 UTC

We invite the web community to take part in these one-hour sessions and give input on diverse topics such as , , cognitive , , policy engagement, and more!

Anyone with a W3C account (including non-Members) can participate. No fee or registration is required.

Breakouts Day 2026 agenda listing the 15 breakout sessions over 2 days: 25 March and 26 2026
ALT text detailsBreakouts Day 2026 agenda listing the 15 breakout sessions over 2 days: 25 March and 26 2026
Sebastian Herold's avatar
Sebastian Herold

@sherold@mastodon.online

“A protocol does not need to encode governance explicitly in order to shape it; it shapes governance by determining which mechanisms are easy to build, which are hard, and which are effectively impossible within the constraints the architecture imposes.”

A good read by @laurenshof on @fediversereport

connectedplaces.online/the-pur

Thoriums Just Want To Have Fun's avatar
Thoriums Just Want To Have Fun

@PeteGozz@theblower.au

Thought for the day::

POSIWID

def.

"The Purpose Of a System Is What It Does "

(not what the design intention was)

This and other thoughtful observations around protocols...


Here >>
connectedplaces.online/the-pur

Longish read , that is well argued...

Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

I sat down with @snarfed.org to talk about his work around the , the and the including (fed.)brid.gy and @anewsocial

openchannels.fm/connecting-dec

Bob Dunn's avatar
Bob Dunn

@DotheWoo@openchannels.fm

Connecting Decentralized Social Networks and Rethinking Interoperability

Open Channels FM
Open Channels FM
Connecting Decentralized Social Networks and Rethinking Interoperability
Loading
/
Share
Link
Embed
openchannels.fm/connecting-dec<script> /*! This file is auto-generated */ !function(d,l){"use strict";l.querySelector&&d.addEventListener&&"undefined"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i<o.length;i++)o[i].style.display="none";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute("style"),"height"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):"link"===t.message&&(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document); //# sourceURL=openchannels.fm/wp-includes/js </script> ' title="Embed Code" class="input-embed input-embed-2551015" readonly/>

In this episode, host Matthias Pfefferle catches up with long-time friend and open web builder Ryan Barrett. If you’ve ever wondered who’s behind the scenes connecting all these wild and sprawling decentralized networks like the IndieWeb, the Fediverse, and now Bluesky, well, Ryan Barrett is your guy.

They share into the story of Bridgy and BridgyFed, tools Ryan Barrett built to help posts, conversations, and even likes travel effortlessly between platforms that, let’s be honest, don’t always want to talk to each other. It’s a real look at why we still need these kinds of bridges, the ups and downs of working in open source, and what it’s like turning a side project into something that lots of people rely on.

You’ll get a peek into the early days of blogging, the messy but fun world of protocol building, and some of the tough questions that come with running “critical infrastructure” without a big company behind you. Whether you love the nerdy details or just want to know why your favorite blog can show up in the social media feed of tomorrow, this conversation is all about keeping the web open and a bit of the chaos that comes with it.

Join Matthias and Ryan for a chat that proves building bridges, both tech and personal, is still as important (and fun) as ever.

Thanks to our sponsors…

Omnisend logo, featuring a stylized 'i' and the brand name in modern typography.

The best time to migrate is before you’re under pressure. Omnisend moves everything essential for you now, so you’re fully ready when you plan for that large campaign. Use the code OpenChannels and get 30% off your first 3 months of any paid plan.

Woo new logo

If you build stores for clients, WooCommerce gives you the flexibility to create exactly what merchants need. Customize workflows, extend with thousands of integrations, and scale without switching platforms. Check it out at WooCommerce.com.

https://youtu.be/Ls3Jb8Zjijg

Takeaways

Bridging Decentralized Networks: Ryan Barrett has spent years building tools (most notably Bridgy and BridgyFed) that connect different social networks like the IndieWeb, Fediverse, and Bluesky (Atmosphere). These act as cross-posters or bi-directional bridges, letting users interact across platforms more seamlessly.

Funding and Organization: Initially, all this was a side project for Ryan Barrett, but it has evolved. They’ve started a nonprofit, received some grant and crowdfunding, and put basic governance in place; though it doesn’t currently provide a full salary, it does cover operational expenses.

Why Bridges Are Needed: Despite the vision of decentralized networks, true interoperability doesn’t exist by default. Instead of expecting everyone to align on a single protocol, Ryan Barrett argues that we’re still learning and evolving, so bridges are necessary while experimentation continues.

Not Just a Temporary Fix: Bridges aren’t just a stopgap; as protocols and ideas keep changing, the need for interoperability will persist. Ryan Barrett believes that even with established protocols like ActivityPub or AT Protocol, new experiments and networks are inevitable.

Personal Motivation: The roots of these tools trace back to Ryan Barrett’s desire to maintain ownership of his content and the social interactions around his blog, especially as conversations moved onto walled garden platforms like Facebook and Twitter.

Evolution of Open Web Tools: Early efforts included cross-posting content, but Ryan Barrett emphasized “backfeed” such as importing comments, likes, and reactions from social platforms back to his own website, so all engagement was aggregated in one place.

Preference for Usable, Practical Solutions: Rather than inventing radically new standards, Ryan Barrett prefers building bridges and services that work with what’s already out there, favoring RSS, Webmention, and existing APIs, so end users don’t need to host their own solutions.

Protocols: No Single Winner: Discussing IndieWeb, ActivityPub, AT Protocol, and others, Ryan Barrett sees good ideas in each but doesn’t believe there’s a “best” protocol yet. He values building blocks, modularity, and combining approaches, rather than betting on one framework.

End-User and Publisher Focus: Most usage of BridgyFed comes from publishers and content creators (e.g., major media), but individuals also use bridges, especially those who want to maintain a single profile and reach across networks without friction.

Invisible Interoperability: Often, users don’t even realize they’re talking across different networks using BridgyFed; they see and interact with others seamlessly, which is the ideal scenario for Ryan Barrett.

Critical Infrastructure Concerns: With adoption rising, BridgyFed has become important infrastructure. To ensure long-term reliability, they’ve made it open source, started a nonprofit, and instituted governance. There are plans to make it more resilient and less dependent on a single operator.

Looking Forward: Major focus areas for the future include supporting long-form content (via standards like standard.site), expanding migrations and account portability, and readying bridges for new protocols like Nostr and Farcaster.

Philosophy of the IndieWeb: The IndieWeb is described as both a philosophy (“everyone should have a website and control their own profile”) and a protocol stack (Webmention, microformats, etc.), but it’s fundamentally about individual ownership and choice in the online experience.

The Web Isn’t Going Away: There will always be vastly more websites than social network accounts. Even as trends shift more towards platform accounts, the open web remains a massive, foundational part of online life and bridges can help keep it connected to emerging networks.

Mentioned Links and Resources

  • Bridgy & BridgyFed – A suite of tools for bridging between the IndieWeb, Fediverse, and Bluesky/Atmosphere. 🔗 https://brid.gy/
  • ANEW Social – The nonprofit organization behind BridgyFed. 🔗 https://anew.social/
  • Granary – A tool and service to convert between web formats like RSS and microformats. 🔗 https://granary.io/
  • Standard.site – A common lexicon/format for long-form content on Bluesky and other AT Protocol platforms (mentioned as “standard.site” for composing and sharing articles). 🔗 https://standard.site/
  • snarfed.org – Ryan Barrett’s website, personal blog, and IndieWeb hub. 🔗 https://snarfed.org/
  • Fed.brid.gy – The main instance of BridgyFed bridging service. 🔗 https://fed.brid.gy/
  • IndieWeb – Community, resources, and documentation about owning and controlling your content and identity online. 🔗 https://indieweb.org/
  • Bounce – A tool to help you migrate from one network to another and keep all of your followers (powered by BridgyFed). 🔗 https://bounce.anew.social/

Timestamped Overview

  • 00:00 Between Gigs Crowdfunding Nonprofit
  • 05:14 Early Protocol Evolution Debate
  • 10:11 Blogging Era and Social Media
  • 12:11 Backfeeding Social Interactions
  • 16:20 Early Web Standards Collaboration
  • 19:26 Graph API and Decentralization Challenges
  • 22:43 Struggling with Protocol Implementation
  • 25:12 Engineering Formats as Lego Blocks
  • 30:46 Usability and account recoverability
  • 33:36 Decentralized Social Functional Separation
  • 37:27 Decentralized Communication via Open Standards
  • 39:34 Building for the Present Web
  • 45:08 BridgyFed: Connecting Diverse Platforms
  • 47:04 Transforming a Side Project
  • 51:05 Custom Domains for Bridged Accounts
  • 54:23 Network Migration and Bounce Tool
  • 56:58 Indie Web Collaboration Reflections
Episode Transcript

Matthias Pfefferle:
So welcome, you’re listening to the Open Web and Fediverse series, part of the Open Web Conversations channel and Open Channels event production. And today’s guest is building infrastructure that bridges together what should be interoperable by default. He’s literally building bridges between the indie web, the Fediverse, and the atmosphere. I hope it’s called like that for almost 15 years now. Welcome to the podcast, Ryan Barrett.

Ryan Barrett:
Thank you, Matthias. I’m glad to be here.

Matthias Pfefferle:
I think my introduction was almost perfect, but Maybe you want to add something?

Ryan Barrett:
Yeah, no, I, you and I go back so long. We’ve been doing indie web stuff together for at least 15 years. And so it’s, I’m excited to be here. It’s, it’s really fun to get to talk to you about kind of everything that led us to where we are now.

Matthias Pfefferle:
Yeah, but maybe you say some words about what I teased a bit with. You are the bridge builder.

Ryan Barrett:
Yes. Yeah. So who am I? Yes. So I’m, you know, a stereotypical Silicon Valley software engineer. It’s been my day job. But on the side for a long time, I have— I’ve done indie web stuff and somehow I ended up doing a lot of converters and bridges and translators. Going from one place to another. Uh, so yeah, the— what I’m known for and what I spend most of my time on today is, um, a suite of tools, uh, Bridgy and BridgyFed. We now, we now call them maybe BridgyClassic and BridgyFed. Um, these, uh, are kind of like cross-posters or bridges between different networks, uh, as you mentioned. So the web IndieWeb in particular, the Fediverse, and Bluesky, or the Atmosphere as you called it. And so BridgyFed is where I spend most of my time these days, and it is a full-featured bi-directional bridge. So if you are on Bluesky, you can see people who have bridged themselves on the Fediverse. You can see their profile, their timeline, you can follow them. If they post, you’ll see their posts on Bluesky. You can reply to them on Bluesky. The replies and likes and reposts will go back and forth. And so we try to make that as native and seamless as possible. And it takes a lot of work, but it’s fun.

Matthias Pfefferle:
Yeah, because of a lot of work, you mentioned that you do that as a side hustle. Is that still a side hustle thing?

Ryan Barrett:
Uh, right now I’m between gigs, so I’m mostly full-time on it. Uh, eventually I’ll go find a real job again, but, um, uh, right now I have more time for it. Uh, thanks in large part, uh, about a year and a half ago maybe I started working with Anuj Ahuja, who comes from working on similar stuff, and we have, um, I resisted kind of taking donations for a long time, but we now do crowdfunding and, uh, grant funding, and we, we started nonprofit. And so there is a bit more of kind of real organization and governance and some funding behind it. We don’t have enough funding to kind of pay ourselves salaries yet, but we can cover expenses and things like that.

Matthias Pfefferle:
Is it a plan to do that as a main profession anytime soon?

Ryan Barrett:
I don’t know. I’ve never been much for like a 5-year plan or a 10-year plan for myself. I just do what I’m doing while it works. And then when it’s time to do something else, I do something else. Um, I have never quite felt like this is my career. Um, so, but I’m doing it mostly full-time now. We’ll see how it goes. And I mean, even if I go get a different job and do something else,, you know, as a day job, like I wouldn’t shut this down. Um, it’s more a question of like, how much time am I spending building new parts of it and maintaining it as opposed to just kind of running it as is.

Matthias Pfefferle:
I think that’s the main problem for everyone working in open source and decentralized platforms in general, I would say. Um, yeah, but As I said in the introduction, it’s kind of weird that you need something like a bridge to bridge decentralized networks together. So why all of that?

Ryan Barrett:
Yeah, there is one way of thinking about this that is kind of like we want everyone, you know, all the different software projects to use the same protocol so that they can interoperate. Of course, I get that. Another way of thinking about it is we are still so early to all of this. It’s— yes, it’s been decades, but decades is not that long. I think if we said, okay, have we figured out all of the questions and we know the best way to do all of this, we’re doing it in maybe an activity pub. ActivityPub got everything right, no more questions to answer, like no more problems, so there’s no need to try anything new. Like ActivityPub is it, or, or Atmos protocol or anything else. That’s the final answer forever. Like, I don’t think anyone would believe that, right? Like, I think we are so early and there’s so much more to learn and figure out and, uh, kind of invent, we have to try a bunch of new things. ActivityPub is great. App Protocol is great. IndieWeb is great. I like Nostr. I like Farcaster. There are a bunch of good ideas, but we have like, yeah, there’s just so much more to figure out. And often like you can’t slowly evolve an existing network or protocol to try some big new idea. Uh, often if you have a big new idea that’s very different, it’s just too far away. And so you can’t like very gradually, inch by inch, move this one over there. You have to just try a new thing. And so I think trying new things is great. Uh, I think right now is the time to try lots of different ways to do decentralized social, right? But while we do that, we’ll have lots of different networks that don’t talk. Right. And so I like having things talk. And so I think bridges are useful.

Matthias Pfefferle:
So is that still a temporary thing for you?

Ryan Barrett:
Or, uh, probably not. I mean, so if the question is like, will we try things and then we’ll find the best way and everyone will use the one best way and then we’re done. No, I don’t think so. I think change is the only constant. I think we are always improving things. Um, Email is a great example. You could say, yeah, we tried a few different ways for people to kind of talk asynchronously online many, many decades ago. We settled on email. That’s great. But now if you think about how do you talk to your friends online, it’s mostly not on email, right? It’s on messaging or social or other things. And so we didn’t really have— even when we settled on email, like later, it’s not that SMS competed with email, but it was a new idea, right? And so I think there will always be new ideas, and that’s good.

Matthias Pfefferle:
So you said, or you already mentioned, that it’s nearly since forever, um, you are working on that. I think it’s almost 15 years. So, um, What led to a bridge? What is the history about all of that? Why have you decided to, okay, there are so many, like the XKCD comic, there’s so many competing standards, let’s build a bridge?

Ryan Barrett:
Right, right. Yeah, so the short answer is kind of the open source scratching my own itch. So way back in maybe 2000, I was in college. I had a website, a little— I didn’t— no one knew to call it a blog, but a website or a blog. Okay, good. When Facebook came out maybe a year or two later, at least very early in college for colleges, I signed up and tried it and I thought, oh, this is interesting. And I kind of immediately realize, oh, this is good and useful, but it’s not mine. I don’t control it. Like, I can, I can make my profile and post, but at the end of the day, if they want to change how things look or they don’t like me and want to, you know, ban my account or something, like, I— they can do that. I can’t control it. And so it’s okay. I mean, that’s like any service. But what I ended up doing was I would, when I posted, I would always just post on my website and then I would just copy and paste into Facebook. Then I knew at least anything I write there, like I’ll still have a copy of, I’ll still control. Okay. That is fine. Like as other services come out like Twitter or whatever, I would, I did the same thing. Gradually. So there was this era, you remember this, I mean, you and I have been doing indie web stuff together forever. The blogging era, this was the early to mid, maybe 2000s. There was an era where lots of people wrote blogs and would kind of respond to each other’s blog posts on their blogs and comment on those blog posts. And that’s great. Everyone had their own website and did that and it worked well. When social media kind of got bigger, one thing we would do is we would write blog posts and then post links to our posts on Facebook, Twitter, et cetera.

Matthias Pfefferle:
The famous cross-posting.

Ryan Barrett:
Yeah. Yeah. Yeah. Okay, sure. Gradually what we saw was that more and more people spent more time inside these social networks as opposed to reading kind of on the blogs. And so when I would post a link to a blog post I wrote, something I wrote, more and more people would comment kind of on Facebook or on Twitter or wherever instead of on my blog post on my website. Okay. The downside there is I don’t have— I’ve been like that conversation like about what I’m talking about. Is on Facebook or is on Twitter. Like, I don’t keep a copy of it, I don’t have a record of it, right? Um, you know, so that, that was a change that was disappointing. And so cross-posting was one thing. There were tons— there were always tons of tools to say, oh, post to Facebook and Twitter and Instagram and whatever. Like, that’s pretty easy. So lots of people did that, that’s useful. But what I wanted was the comments or the replies on Twitter. And then eventually the likes and the reposts and the quotes and everything, I wanted those to show up on my website too. And other people had thought of this, and you know, it was, it was a good idea, but it was much— it was more complicated to build, and so not many people did it. This is what we call in the indie web backfeed. And of course, the indie— at this time I had also kind of discovered the indie web, or was discovering at this time, and it was doing— had similar ideas kind of between websites themselves without worrying about social networks. But so what I eventually built was this tool to go use the Twitter API, use the Facebook API, etc., to find all of those replies and likes and reposts and figure out and kind of map from my original post there to the, my blog post and copy them all back to my blog post so they would show up there and other people would see them there.

Matthias Pfefferle:
So the first version, the first bridge was to bridge your blog content to, let’s say, closed social network and get the reactions out of it.

Ryan Barrett:
Yes. And especially, I mean, primarily the backfeed. So at the beginning, I didn’t do the cross-posting. I just I’m not— I’ve never been very online. I don’t post a ton. I post once every few days. Copy and paste is fine for me. But the back feed was the key part. And originally this was either 2000— I need to check the— maybe January 2012. The first version I did of this was WordPress specific. It was not Webmention. It was not kind of this open standard, this indie web standard. It was WordPress specific and it did, I think, Facebook and Twitter and that was it. And it was probably only replies or comments, but it was something, you know, and it kind of grew from there.

Matthias Pfefferle:
But it was as a service, it was not directly baked into WordPress. So is there a specific or was there a specific decision to do it like that or is this something that made the most sense?

Ryan Barrett:
So, I always knew this— all this should work as kind of open standards. Open standards. I wanted it to be interoperable. I didn’t want it to be specific— as much as I love WordPress, I didn’t want it to be specific to WordPress or anything else, right? And so, the standards I knew originally at that time were— the standard I knew for this was OStatus around then. And so my, my long-term idea was to build an OStatus bridge for all of, for the closed social networks. So that since, so the, I mean, the, the big idea here is they, they were closed, but they all had APIs. And so you can, like, there’s OStatus, there’s this open standard, and then there are these APIs. And the APIs were pretty full-featured. And so I figured like I have these two Lego blocks, I can just kind of use the API and translate the OStatus and back. And that should, that should work.

Matthias Pfefferle:
So one of the earlier versions were even compatible between OStatus, the open, let’s say predecessor of the Fediverse activity pub. And Facebook and Twitter?

Ryan Barrett:
So I never got— I never fully implemented OStatus for Facebook and Twitter. The first version of BridgyFed was OStatus. It was IndieWeb to and from OStatus. Before I did ActivityPub there. That was 2017. So BridgyFed was a different— a similar but different service, yes. But I did a number of these. So I did implement WebFinger for Facebook, Twitter, et cetera. I did portable contacts. POCO was a similar standard. Yeah, this is like us going back to 2010 era. What were the— and I did OpenID for Facebook and Twitter. So there were parts there, uh, and also, I mean, a lot of this was just around, it was in the air, and I happened to know a number of the people working on these standards, um, Evan, but also people like Brad Fitzpatrick, Brett Slatkin, uh, David Recordon. We all, you know, talked now and then. And so this was Chris, yeah, um, this was OStatus, but also kind of Buzz at Google and let’s see, Brad was doing things like the Social Graph Explorer API at Google and there were a lot of similar ideas. As a separate side project, I had written a little app that used— that did OpenID for Google accounts. Like any Gmail account, that kind of thing. There were a lot of these ideas. This was the, like, that blog era, 2000 to 2010, was also very much the Web 2.0 mashup era, Yahoo Pipes kind of thing. And also people at the same time thinking about Webfinger, OpenID, OStatus, these early, early decentralized social, decentralized services. And so there were lots of people and lots of ideas. Can I plug this into that? Like there are a bunch of parts. Let’s just plug them all together and see what works.

Matthias Pfefferle:
Yeah. Ostatus itself felt very mesh-appy. So putting together a lot of open standards and all the decentralized protocol. So when you worked on all of that, have you had the hope that it might get implemented? In the social networks? Because back in the days, Facebook and Twitter were really part of the discussions, not around maybe old status specifically, but there were other projects like data portability, for example, where they were really involved into that discussion. Was that kind of the hope you had?

Ryan Barrett:
No. Okay. Facebook very concretely for a while did a number of these things that had RSS. You know, it— I’m trying to remember if it did OpenID.

Matthias Pfefferle:
They did. They did OpenID. They had XMPP as the foundation of their Facebook chat. So they used quite a lot of open standards. I think they even used microformats for their profiles. It was, they were quite open to that.

Ryan Barrett:
And then also the things they created. So the graph API for a while, they very much positioned it as this kind of open generic thing that other people could use. And so this was the era of, again, David Recordon was there for a while and other people. I think the culture there. Was very much engineering driven and kind of just scrappy hackers, um, just throw a bunch of stuff together and engineers like standards. And so yeah, there was a while where they were very open to this stuff, which was great. Twitter, not so much. I think Twitter, you look at what Jack Dorsey was saying back then and recently, but, um, he had big, big ideas and vision for protocols and decentralization, but It never felt like that translated into anything concrete that they shipped. Facebook was very different. They shipped a ton of it. It didn’t last forever. But one thing when I think about the things I build, I very rarely like want to tackle an adoption problem. Like if you make a new protocol, like you can do it all right, you know, and make all the right choices or whatever, but you have to get everyone to use your new protocol or your new tool. That’s very slow and difficult. I would much rather, yeah, I’d much rather build something that people can use as is, especially developers, without having to, without a big adoption challenge. I think that’s another reason I tend to build these things as services. I want individual users to be able to use these things as easily as possible. I don’t want them to have to self-host anything. I don’t want them to have to get their Mastodon or Friendica or Pleroma or whatever to add a new feature. And so, yeah, I tend to avoid kind of adoption problems. I tend to build for what is here now and not for some hypothetical future.

Matthias Pfefferle:
Okay. So it’s more you want to have a platform that proves that it works instead of building, in Germany, we would say, air castles. Yes. Something, yeah, as you said, hypothetical, we could do if anyone would implement that, we could do XY. Right. So that, but I think I kind of agree with that. I was always also the, I want to implement something because it’s, for me, it was kind of a similar socialization with all the web stuff. So I also started with a blog and wanted to keep that momentum. So it was not defining protocols or using protocols because it’s the right way to do that, or because I wanted to work on something like that. It was simply because I needed it and I wanted to see if it works. So I kind of agree with that. But on the other hand, I’m kind of the lazy guy and implementing protocols is really not an easy thing. So I always tend to choose something to work on. And I was always impressed by your work to kind of being the, how you say that in English, the jack of all trades and implement everything when I struggle with implementing only one protocol. So why? I understand that theoretically, but why all of that work? So because that is, that is insane.

Ryan Barrett:
Yeah.

Matthias Pfefferle:
Yeah.

Ryan Barrett:
I mean, I, I wouldn’t, don’t sell yourself short. I mean, you, you did the WordPress Webmentions plugin. I think that for a long time, and maybe still, that was maybe the single most important indie web project. Yeah, period. And that was a full new protocol, like two of them. Like you had to do Webmention and microformats.

Matthias Pfefferle:
Yeah. But I compared with AT Proto or Nostril or ActivityPub, I think Webmention is a very easy, straightforward thingy. There are parts that are tricky, but not because it’s, the spec is hard, but it’s hard to, for example, to get semantics out of HTML is not a fun thing, but it’s more because websites are crappy and not because a standard is implemented or a standard is complicated to implement. So I think that’s a bit of a different level of complexity?

Ryan Barrett:
Uh, yes. Yeah, that’s fair. Um, yeah, scraping arbitrary HTML is no fun. Uh, if you say we require microformats, it’s much better. So, you know, like, takes work, but so yeah. So why have I done so many or worked on so many of these protocols and formats? Um, I think some of it is as engineers, the root of what we do is just put blocks together and build things out of smaller pieces. This is Lego, right? And regardless of what it is we’re building as engineers, protocols and formats are Lego blocks. There are these clear— they may be complicated, but there are these clear instructions for how to connect to it or how to like publish or consume a format, a data format, right? And so as an engineer, to me, when I see a few of them, a few formats, for example, I think, oh, it’s just like this, this field in this format goes to this field in this other format and this field goes here. And then for protocols, oh, this message goes here. This one sends X and this one receives Y. And so it’s, yeah, it’s very tempting and sometimes fun to just take a lot of Lego blocks and plug them together. And when you see that, like, they should be able to plug together and no one’s done it yet, sometimes, like, separate from the use case, the end user functionality, it’s fun to just go try and say, oh yeah, they plug together, or oh no, they don’t. This is WebSocket and this is HTTP, so then I need to bridge that and then I can plug them together or something similar. So one part of it is as an engineer, it’s fun to plug Lego blocks together. Another part is scratching my own itch.

Matthias Pfefferle:
Okay. So I always wanted to have that discussion with you and it’s even better to have that in public. So you implemented a ton of different protocols. And if you have not implemented it, you even understand the spec or know what to do theoretically. From all of these different specs, maybe we can go through the three main things and afterwards we can maybe talk a bit about Nostr. I have not read about Farcaster at all, to be honest. But what of these three protocols would best not fit your needs, but the nearest to what you would see as this is how it should work?

Ryan Barrett:
Yes.

Matthias Pfefferle:
Is that even answerable?

Ryan Barrett:
So I think it is. I would start with a metaphor or an analogy. If you study cryptography, like in academia, in college, there’s always been a saying like, don’t invent a cipher, you know, or you don’t make a good, a successful career as a cryptographer by inventing ciphers. You make it by breaking ciphers. I feel a bit like that here. I can look at a bunch of these different protocols and networks and say, oh, here are the pros and cons. Here are the good parts. Here are the bad parts of each one. I don’t feel qualified or ready to make my own, and I don’t know if I’m— if I would look at any of them and say, oh, this is the best one. Um, I think there are better and worse. Oh, Status was well-intentioned but not so great.

Matthias Pfefferle:
Um, I think well-intentioned sums it up quite good.

Ryan Barrett:
Yeah, you know, like we talked about earlier, it was so early we had so much more to learn. There were so many more new ideas we needed. It was maybe, it was one of the very early decentralized social protocols, like in the modern age, if you don’t count Gopher or Usenet, like the really old school stuff. Of course it wasn’t going to be great, right? But you had, we had to start somewhere. We had to try some things. So right now, what do I think is good? Yeah, maybe we’ll put a link in the show notes. I did a talk at the App Protocol conference last year. I think it was called All the Protocols Compared. So that’s the long version of this answer. But there are a number— I look at the modern protocols. So the big ones that we would think about, IndieWeb, ActivityPub, App Protocol, Nostr, Farcaster, Maybe DSNP. I don’t think that ever really hit and is definitely slowing down now. Um, yeah, so what are good ideas? Um, I think asymmetric key identity, so identity based on public keys, is a good idea. Um, and you see that in a number of these protocols. That is App Protocol, Nostr, Forecaster, DSMB, um, and blockchain. Uh, the key problem with public keys is, or key-based identity, is that it is recoverability. If we want to make something so usable that all of our family can use it, if we tell them, oh, never lose your password, if you lose your password, you’ve lost your account, that’s unacceptable, right? It’s just like not okay. So you need recoverability and there is, we’ve made progress there. There’s like complicated techie stuff, like multisig. Um, there’s very usable stuff like Bluesky where, um, custodial keys, like you had your identity as a key, but they manage the key for you. So those are, there are some good ideas there. Um, I think relays are another one. There was a movement for a while of like pure peer-to-peer, secure scuttlebutt, etc., where we wouldn’t even use— oh, we have the internet, every device is connected, each device should be able to talk to another device without servers. I think in a different world, in a different timeline, the internet may have evolved that way, but it didn’t in ours. We have NAT, we have CGNAT, um, tunneling, etc. It is a very client-server internet that we have grown. Um, and so realistically, you need parts of the network that are always online, and those will be servers. And so the shape of Nostr relays, Proto relays, um, Snapchain and Farcaster Even now you look at, uh, there are Fediverse relays. They are much smaller in scope, but this idea that there are servers and there are multiple and they can talk to each other and they’re, they’re somewhat dumb. Nostr relays are basically these like very limited databases. App Protocol relays are just kind of multiplexing and demultiplexing. They take multiple streams and combine them into one stream. And that’s it. When you look at kind of networking, computer networking coming out of the IETF, this is TCP/IP, Ethernet, et cetera. A lot of networking design ages ago followed this end-to-end principle where you put all of the logic, guaranteed delivery, only once delivery, congestion control, all the logic is in the endpoints on the computers that are the server or the client. The network is dumb. It’s just routing packets. I see some similar ideas in relays in these decentralized protocols. And I think that can make some sense. So yeah, those are two ideas I like. And then also kind of decomposing or separating a lot of the functionality. Some things we see, so in decentralized social, you need data storage. You’re going to have some admin, some moderation. You’re going to have feeds. There’s more of this kind of what I would call the product logic or business logic, like the social part, not the decentralized part. And newer networks are pulling those apart so that you can, you know, custom— like, you can run a custom feed in Blue Sky, in Atmosphere, and that’s totally separate from moderation, right? And literally different people, different organizations can run those and not talk to each other and not be in the same software project, and that’s good. So that’s maybe a third idea I like recently.

Matthias Pfefferle:
Because you mentioned, uh, the, the indie web as a protocol, do you see that really as a protocol? Because I thought about the indie web more like an, uh, philosophical thing, an idea, um, that has some protocols, but it’s more how you use the internet or how you use the web?

Ryan Barrett:
I think it’s both. Yes. Yeah. Like for power users or tech people who use all this stuff, like the, often the dream we have is I want one place or one master or one kind of main place where I control my profile online and where I post, and then that goes everywhere and talks to everything, all the other networks, and everything comes back. But I, I only do it from one centralized or one place for me, at least. Um, maybe it’s my Fediverse account, maybe it’s my Bluesky account, maybe it’s my website. For us in the indie web, often we think of it as our website. Um, and so you’re right, indie web Either first or like importantly is a philosophy. It’s like everyone should have a website. And ideally everyone should have a domain that they own for their website. And so there are some tech and protocols, but I think we would say in the indie web, if you have your website, your own website, especially if you have your own domain, you are part of the indie web. You don’t have to do webmention or microformats or anything else. So philosophically, yes, I agree. Also, there is this indie web protocol stack, Webmentions, microformats, MicroPub, MicroSub, others. And so those add a lot of functionality. But yeah, I think it’s both.

Matthias Pfefferle:
Yeah, but in the end, it feels a lot like more in the Ostatus directory. So direction, not directory. So it’s more a These are parts you could use to have a kind of decentralized communication, but it’s not directly a full-flavored protocol for decentralized communication. And I mentioned that because I really like how you design your bridges, because oftentimes, or I thought, mainly about, okay, if you’re bridging the Fediverse to the Atmosphere, then I should join as an ActivityPub node. But in recent discussion, you always mention, um, when you have a blog, why not use way simpler mechanisms like, for example, RSS or other indie web standards like Webmention and things like that. And I really like that because in the end, implementing RSS or Webmentions or anything else that is in the IndieWeb stack is quite easy and straightforward. And using that to connect to a bridge that does all the heavyweight stuff, um, is kind of, you use open standards in, in, in every level of that bridge thing and even reuse paradigms that you mentioned, like the abstraction of, or the multi-layer thing. So you do not have to care about federation and about who can connect with your site. You implement some basic protocols like the next level of pingbacks, some RSS, maybe some web semantics. And I do all the heavy lifting stuff for you.

Ryan Barrett:
A lot of this again is I think just me avoiding air castles and me not wanting to have to convince someone to install software anywhere. I don’t really know how to predict the future. And so I tend to live in what is, what exists now for any given network or anyone’s website. Like, what does it do now? And it probably does RSS. Most, many websites at least probably don’t do ActivityPub. So yeah, I kind of take that, like, where are people now and what can I build that they can And turn on, or not even, I mean, Granary, for example, like there’s a library and tool, a service I run called Granary that converts between formats. You can use Granary to convert someone’s website like RSS to microformats and they don’t even have to know, right? Like you can use it. Um, and that’s again very much the Web 2.0 mashup kind of permissionless web crawling mentality and era. You know, the era we kind of grow— you and I and other people kind of grew up in. And there are different ideas now and that’s great. But yeah, I think a lot of it is what can I— how can I make this work? How can I make something useful? Assuming nothing changes and assuming no one installs any new software anywhere.

Matthias Pfefferle:
But from your experience, you’re running a bridge. What is— so is having your own website and connecting to that bridge still a thing, or is that still us two being old nostalgic guys wanting back the blogosphere?

Ryan Barrett:
I mean, it’s still a thing because we do it. Yeah, some people do it. I, you know, my partner in this, Anuj, he wants that kind of techie power user dream of one place for his profile. And for him, it’s his Bluesky account. Or ideally might be eventually. For me, it’s my website. And so I think that choice is good. And there are more websites out there probably than accounts on any individual social network. So if Facebook, how many websites are there? Billions, at least tens of billions. There are probably more websites than Facebook accounts, right? And Facebook is the biggest social network. So I mean, If you count websites, and even if you say websites with their own domain, and so then does WordPress.com, does WordPress.com site without its own domain count? I don’t know. But yeah, I mean, there are more websites out there than any social network. So I don’t know.

Matthias Pfefferle:
But do you see a tendency or is there, do you get some feedback like, okay, you allowed me to stay on my side, so I will do that? Or is there a trend?

Ryan Barrett:
Yes, I understand the question. No, for the average, the average person these days is more likely to use social networks and have social media or have social network accounts and less likely to have their own website, especially with their own domain. I think, yes.

Matthias Pfefferle:
So it’s mainly bridging Fediverse accounts to AD Proto accounts and having your own website as part of this new bridge decentralized social network is still the niche?

Ryan Barrett:
Yeah, I think what we see often is the most— so for BridgyFed, for example, most of the websites on it are not personal websites. They are publishers, but they’re very popular. So I think Rolling Stone, for example, has almost is someone is bridged, um, and it has, I think, over 100,000 followers. It’s bridged, uh, accounts. Um, and so on the one hand, it’s probably mostly not personal websites, but there are, I don’t know, maybe 30,000 bridged websites on BridgyFed, and some of them are very popular, right? And so that’s useful.

Matthias Pfefferle:
Okay. So it’s kind of the content creator, I wouldn’t say niche because they may be few in total numbers, but not in follower counts. So, okay. But is there a trend of people following or understanding what that means, bridging between different networks and actively using it, or is this more an I’ve found someone by accident and followed them and didn’t care where the profile is?

Ryan Barrett:
Yeah. So the, I think we are at a bit over 130,000 total bridged accounts on BridgyFed right now, which is good. It’s still, you know, it’s still on the one hand, it’s big. On the other hand, it’s small. Um, yeah, I think lots of people do see and interact with bridged accounts. Like, lots of people are on Bluesky and see and interact with a Fediverse account, or vice versa, and don’t know it. Um, especially for Fediverse accounts, for example, that have set custom domain handles on their— on the Bluesky side. Uh, both Anuj and I, one of our favorite things is to see, to find like big, big conversations where some of the people in the conversation are on Bluesky, some are on the Fediverse, some are even are on like, maybe I’m participating and I’m on my website or you. Um, and as far as we can tell, the people either don’t know or don’t care. Which is great. I love it, right? Like, that’s the dream. Yeah, I don’t— I like that people know about the bridge, but the goal, like, I also love when it works and people don’t know about it and it works anyway.

Matthias Pfefferle:
So maybe we’re coming to an end. Maybe a controversial question.

Ryan Barrett:
Sure. Fun.

Matthias Pfefferle:
So because you’re bridging quite some profiles and there is quite a discussion or discussions through all the networks, I would say you built quite a critical infrastructure. How to handle something like that for the long term?

Ryan Barrett:
Yeah. Uh, yeah, it’s an important question. So it’s better now than it used to be. It used to be one random guy’s side project, um, with zero funding, uh, zero organization or governance. Um, and so that was true for a long time. Uh, and a couple of years ago, some people online started looking at it and saying, oh, this bridge is good. It’s Maybe more than good now, maybe it’s important, uh, was getting big enough, uh, and there were enough accounts on it that were— people cared about having access to. And they were saying like, this is important, it needs to be reliable infrastructure, it needs governance, like how will we make sure this lasts and is stable, etc. On the one hand, like it was flattering that people cared about it enough to say that, right? On the other hand, I didn’t have any of that. It was one random guy’s side project. And so I wrote a post and basically said, hey, like, thank you all so watch. This is one random guy’s side project. Like, there’s nothing to it. Um, it’s open source. Uh, but yeah, uh, if you all want more governance, more organization, great. I’m not gonna do that. That’s not what I’m in this for. Um, so if someone else wants to, great. I was hoping they would say, oh, okay, we get it, and go away. Instead, a number of people popped up and said, oh, Hey, I’ll be that person. I’ll add the organization of the governance. And then I said to myself, well, shit. But so then we did, you know, I ended up working with Anuj and he’s been great. And we have a nonprofit in the US. We have grant funding and crowdfunding. We have a board of directors who are great and independent. Really helpful. So that helps. And I think the other answer is it is open source and it’s public domain licensed. So there are— it’s like totally unencumbered. Anyone else can run their own instance, can take the code and go with it. And so the only— if it died tomorrow, the existing bridged accounts, like, so the domain and the keys that are in the bridge for those accounts, those are important. And so if BridgyFed died, those would go away. That’s not going to happen. I think it’s possible I’ll shut it down at some point, but I fully plan, if I do that, to do an orderly shutdown. Ideally find someone to take it over so that the domain and the keys survive. And if not, you know, like, we would make it work. But yeah, it’s open source. It’s got an org, it’s got some funding. We’re okay for now.

Matthias Pfefferle:
Have you planned something like hosting it as a service for bigger sites or organizations?

Ryan Barrett:
We have talked about it a lot. I think we still don’t know what problem that solves.

Matthias Pfefferle:
I think from, from my perspective, it’s oftentimes the simply the domain thingy, because everything for now is kind of something@fed.brit.g. So it’s still very., yeah, very much promoting this single instance and maybe others want to have their own, maybe the Rolling Stone want to have @rollingstone.social or something like that. Is, was that even a question or is that something you think about?

Ryan Barrett:
Yeah, definitely. So the default, you’re right, the handles, the addresses for bridged accounts have you know, something.brid.ui in them. But for a long time now, we’ve let you set a custom domain, um, on Bluesky, but also on the Fediverse. On the Fediverse, at least if you— for bridged websites. Um, okay. Yeah, and we could look into that. So I think the part that’s missing is if you’re on Bluesky and you bridge into the Fediverse. I need to go check. I don’t think we— I don’t think we let you set a custom kind of server part of your Fediverse address there, but we could. Um, but most of that— so we have the custom domains in Bluesky, we have them for websites into the Fediverse, so we’re mostly there. And people definitely use that, uh, especially the Bluesky part. But in general, yeah. So for example, my Fediverse address is snarf.org@snarf.org. It’s through BridgyFed. It doesn’t have grid.gy in it. Yeah.

Matthias Pfefferle:
Okay. So, but, but is that really a thing end users care about? Or is that more as a business owner?

Ryan Barrett:
I think both. I mean, I’m an end user and I did it. Lots of individual people bridging from Fediverse to the Blue Sky, to Blue Sky set custom domain handles. Um, so some people do.

Matthias Pfefferle:
Okay.

Ryan Barrett:
I think maybe more individual people than businesses. I think not nearly as many businesses know about the bridge and having more individual people. Yeah, we’re getting there, but it’s still early.

Matthias Pfefferle:
Okay. So what is, what are you most curious about for the next few months?

Ryan Barrett:
What is our big project? Yeah, there’s so much to do. So one thing we are working on, we’ve started to roll out, is, uh, long form.

Matthias Pfefferle:
So, uh, you know, just like you all think about WordPress for the WordPress community.

Ryan Barrett:
Yeah, yeah. So for a long time, we have bridged web, you know, posts on websites, articles on websites, into the Fediverse as the article Activity Streams 2 type. In Mastodon and other servers, this shows up okay but not great, just the title and the link. That’s something. Um, they’re working on that, I know. Um, Bluesky— Bluesky the app isn’t doing long form really, but other app protocol platforms are, uh, Leaflet, Offprint, uh, Pockets, um, Sequoia. And so some of them got together and made this common lexicon, basically a format called standard.site. And so we added support for that in the bridge. We maybe a week or two ago started publishing these standard site documents. We’re soon going to publish the publication or just kind of like site records, like who is this as opposed to what did they write. I know you all are looking at this too. You actually launched it, right?

Matthias Pfefferle:
I’m still experimenting with that a lot. So yeah, AT Proto is a whole different thing for me.

Ryan Barrett:
Yeah. But yeah, the, so that’s one thing that we’re excited about. Another is we’ve been looking, we’ve been working more on, we have another tool separate from the bridge called Bounce, which is, lets you migrate from one network to another and keep all of your followers. And it uses the bridge under the covers to make that work. Um, one thing we want to do is, uh, let you migrate. Basically, like, when you’re bridged, you have your native account, say, on the Fediverse, and your clone account, say, on Bluesky. Both sides, you know, both the Fediverse and Bluesky let you migrate in accounts. Bluesky’s migration is much more powerful, uh, and full-featured, but they both have that. And so we We want to let you take that existing clone account that you’ve had forever, um, and post it on and move it intact, like keeping its posts, its images, that kind of thing, to a new Bluesky PDS, a new Bluesky server, and then have that be in a real native account you can use. Um, so that’s one thing.

Matthias Pfefferle:
Yeah.

Ryan Barrett:
Um, and then we’re always looking at new networks. Uh, we have Nostr mostly complete in terms of the implementation. Just a few other things we’re still thinking about how to launch, but we’re talking with Rabble, uh, Evan Hendersplath, um, about Divine, which is a new kind of video platform on top of Nostr. And we, we want to make sure we can bridge that when it’s— when they launch that. We look at Forecaster. Forecaster has had a lot of drama in the last month or so, um, uh,, which is interesting. But, um, yeah, we look at that. And then there’s, yeah, there’s, there’s so much more out there to do, uh, lots of new ideas.

Matthias Pfefferle:
So I would love to, um, talk about the standards thing when you launch that. Maybe you want to join me again together with Anoush, uh, talking a bit more about the, the new stuff, uh, later this year. Um, where can we follow all progress you are doing.

Ryan Barrett:
Yeah. So our organization is called ANEW Social. So anew.social. BridgyFed is fed.brid.gy.

Matthias Pfefferle:
And I am snarfed.org, S-N-A-R-F-E-D.org.

Ryan Barrett:
Perfect.

Matthias Pfefferle:
I think I will link all of that in the show notes.

Ryan Barrett:
So I’ve had so much fun here, uh, and I’ve loved working with you again for at least 15 years on indie web stuff. We go back so far. And again, I mean, you’ve done a ton, uh, but yeah, early on, especially the WordPress Webmention plugin was I think the most important project in the indie web, um, you know, bar none. So, uh, yeah, thank you for all of everything you’ve done too.

Matthias Pfefferle:
Thanks a lot. What should I say about that? Thank you a lot for all your work and for doing it as a general service so that everyone can use it. I hope I can and will link and find everything for the show notes. If not, let me know. I will put everything in there. And yeah, thanks a lot for joining. And I’m curious about the next few months.

Ryan Barrett:
Me too. This was great. Thank you, Matthias.

Connecting Decentralized Social Networks and Rethinking Interoperability
ALT text detailsConnecting Decentralized Social Networks and Rethinking Interoperability
Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

I sat down with @snarfed.org to talk about his work around the , the and the including (fed.)brid.gy and @anewsocial

openchannels.fm/connecting-dec

Bob Dunn's avatar
Bob Dunn

@DotheWoo@openchannels.fm

Connecting Decentralized Social Networks and Rethinking Interoperability

Open Channels FM
Open Channels FM
Connecting Decentralized Social Networks and Rethinking Interoperability
Loading
/
Share
Link
Embed
openchannels.fm/connecting-dec<script> /*! This file is auto-generated */ !function(d,l){"use strict";l.querySelector&&d.addEventListener&&"undefined"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i<o.length;i++)o[i].style.display="none";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute("style"),"height"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):"link"===t.message&&(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document); //# sourceURL=openchannels.fm/wp-includes/js </script> ' title="Embed Code" class="input-embed input-embed-2551015" readonly/>

In this episode, host Matthias Pfefferle catches up with long-time friend and open web builder Ryan Barrett. If you’ve ever wondered who’s behind the scenes connecting all these wild and sprawling decentralized networks like the IndieWeb, the Fediverse, and now Bluesky, well, Ryan Barrett is your guy.

They share into the story of Bridgy and BridgyFed, tools Ryan Barrett built to help posts, conversations, and even likes travel effortlessly between platforms that, let’s be honest, don’t always want to talk to each other. It’s a real look at why we still need these kinds of bridges, the ups and downs of working in open source, and what it’s like turning a side project into something that lots of people rely on.

You’ll get a peek into the early days of blogging, the messy but fun world of protocol building, and some of the tough questions that come with running “critical infrastructure” without a big company behind you. Whether you love the nerdy details or just want to know why your favorite blog can show up in the social media feed of tomorrow, this conversation is all about keeping the web open and a bit of the chaos that comes with it.

Join Matthias and Ryan for a chat that proves building bridges, both tech and personal, is still as important (and fun) as ever.

Thanks to our sponsors…

Omnisend logo, featuring a stylized 'i' and the brand name in modern typography.

The best time to migrate is before you’re under pressure. Omnisend moves everything essential for you now, so you’re fully ready when you plan for that large campaign. Use the code OpenChannels and get 30% off your first 3 months of any paid plan.

Woo new logo

If you build stores for clients, WooCommerce gives you the flexibility to create exactly what merchants need. Customize workflows, extend with thousands of integrations, and scale without switching platforms. Check it out at WooCommerce.com.

https://youtu.be/Ls3Jb8Zjijg

Takeaways

Bridging Decentralized Networks: Ryan Barrett has spent years building tools (most notably Bridgy and BridgyFed) that connect different social networks like the IndieWeb, Fediverse, and Bluesky (Atmosphere). These act as cross-posters or bi-directional bridges, letting users interact across platforms more seamlessly.

Funding and Organization: Initially, all this was a side project for Ryan Barrett, but it has evolved. They’ve started a nonprofit, received some grant and crowdfunding, and put basic governance in place; though it doesn’t currently provide a full salary, it does cover operational expenses.

Why Bridges Are Needed: Despite the vision of decentralized networks, true interoperability doesn’t exist by default. Instead of expecting everyone to align on a single protocol, Ryan Barrett argues that we’re still learning and evolving, so bridges are necessary while experimentation continues.

Not Just a Temporary Fix: Bridges aren’t just a stopgap; as protocols and ideas keep changing, the need for interoperability will persist. Ryan Barrett believes that even with established protocols like ActivityPub or AT Protocol, new experiments and networks are inevitable.

Personal Motivation: The roots of these tools trace back to Ryan Barrett’s desire to maintain ownership of his content and the social interactions around his blog, especially as conversations moved onto walled garden platforms like Facebook and Twitter.

Evolution of Open Web Tools: Early efforts included cross-posting content, but Ryan Barrett emphasized “backfeed” such as importing comments, likes, and reactions from social platforms back to his own website, so all engagement was aggregated in one place.

Preference for Usable, Practical Solutions: Rather than inventing radically new standards, Ryan Barrett prefers building bridges and services that work with what’s already out there, favoring RSS, Webmention, and existing APIs, so end users don’t need to host their own solutions.

Protocols: No Single Winner: Discussing IndieWeb, ActivityPub, AT Protocol, and others, Ryan Barrett sees good ideas in each but doesn’t believe there’s a “best” protocol yet. He values building blocks, modularity, and combining approaches, rather than betting on one framework.

End-User and Publisher Focus: Most usage of BridgyFed comes from publishers and content creators (e.g., major media), but individuals also use bridges, especially those who want to maintain a single profile and reach across networks without friction.

Invisible Interoperability: Often, users don’t even realize they’re talking across different networks using BridgyFed; they see and interact with others seamlessly, which is the ideal scenario for Ryan Barrett.

Critical Infrastructure Concerns: With adoption rising, BridgyFed has become important infrastructure. To ensure long-term reliability, they’ve made it open source, started a nonprofit, and instituted governance. There are plans to make it more resilient and less dependent on a single operator.

Looking Forward: Major focus areas for the future include supporting long-form content (via standards like standard.site), expanding migrations and account portability, and readying bridges for new protocols like Nostr and Farcaster.

Philosophy of the IndieWeb: The IndieWeb is described as both a philosophy (“everyone should have a website and control their own profile”) and a protocol stack (Webmention, microformats, etc.), but it’s fundamentally about individual ownership and choice in the online experience.

The Web Isn’t Going Away: There will always be vastly more websites than social network accounts. Even as trends shift more towards platform accounts, the open web remains a massive, foundational part of online life and bridges can help keep it connected to emerging networks.

Mentioned Links and Resources

  • Bridgy & BridgyFed – A suite of tools for bridging between the IndieWeb, Fediverse, and Bluesky/Atmosphere. 🔗 https://brid.gy/
  • ANEW Social – The nonprofit organization behind BridgyFed. 🔗 https://anew.social/
  • Granary – A tool and service to convert between web formats like RSS and microformats. 🔗 https://granary.io/
  • Standard.site – A common lexicon/format for long-form content on Bluesky and other AT Protocol platforms (mentioned as “standard.site” for composing and sharing articles). 🔗 https://standard.site/
  • snarfed.org – Ryan Barrett’s website, personal blog, and IndieWeb hub. 🔗 https://snarfed.org/
  • Fed.brid.gy – The main instance of BridgyFed bridging service. 🔗 https://fed.brid.gy/
  • IndieWeb – Community, resources, and documentation about owning and controlling your content and identity online. 🔗 https://indieweb.org/
  • Bounce – A tool to help you migrate from one network to another and keep all of your followers (powered by BridgyFed). 🔗 https://bounce.anew.social/

Timestamped Overview

  • 00:00 Between Gigs Crowdfunding Nonprofit
  • 05:14 Early Protocol Evolution Debate
  • 10:11 Blogging Era and Social Media
  • 12:11 Backfeeding Social Interactions
  • 16:20 Early Web Standards Collaboration
  • 19:26 Graph API and Decentralization Challenges
  • 22:43 Struggling with Protocol Implementation
  • 25:12 Engineering Formats as Lego Blocks
  • 30:46 Usability and account recoverability
  • 33:36 Decentralized Social Functional Separation
  • 37:27 Decentralized Communication via Open Standards
  • 39:34 Building for the Present Web
  • 45:08 BridgyFed: Connecting Diverse Platforms
  • 47:04 Transforming a Side Project
  • 51:05 Custom Domains for Bridged Accounts
  • 54:23 Network Migration and Bounce Tool
  • 56:58 Indie Web Collaboration Reflections
Episode Transcript

Matthias Pfefferle:
So welcome, you’re listening to the Open Web and Fediverse series, part of the Open Web Conversations channel and Open Channels event production. And today’s guest is building infrastructure that bridges together what should be interoperable by default. He’s literally building bridges between the indie web, the Fediverse, and the atmosphere. I hope it’s called like that for almost 15 years now. Welcome to the podcast, Ryan Barrett.

Ryan Barrett:
Thank you, Matthias. I’m glad to be here.

Matthias Pfefferle:
I think my introduction was almost perfect, but Maybe you want to add something?

Ryan Barrett:
Yeah, no, I, you and I go back so long. We’ve been doing indie web stuff together for at least 15 years. And so it’s, I’m excited to be here. It’s, it’s really fun to get to talk to you about kind of everything that led us to where we are now.

Matthias Pfefferle:
Yeah, but maybe you say some words about what I teased a bit with. You are the bridge builder.

Ryan Barrett:
Yes. Yeah. So who am I? Yes. So I’m, you know, a stereotypical Silicon Valley software engineer. It’s been my day job. But on the side for a long time, I have— I’ve done indie web stuff and somehow I ended up doing a lot of converters and bridges and translators. Going from one place to another. Uh, so yeah, the— what I’m known for and what I spend most of my time on today is, um, a suite of tools, uh, Bridgy and BridgyFed. We now, we now call them maybe BridgyClassic and BridgyFed. Um, these, uh, are kind of like cross-posters or bridges between different networks, uh, as you mentioned. So the web IndieWeb in particular, the Fediverse, and Bluesky, or the Atmosphere as you called it. And so BridgyFed is where I spend most of my time these days, and it is a full-featured bi-directional bridge. So if you are on Bluesky, you can see people who have bridged themselves on the Fediverse. You can see their profile, their timeline, you can follow them. If they post, you’ll see their posts on Bluesky. You can reply to them on Bluesky. The replies and likes and reposts will go back and forth. And so we try to make that as native and seamless as possible. And it takes a lot of work, but it’s fun.

Matthias Pfefferle:
Yeah, because of a lot of work, you mentioned that you do that as a side hustle. Is that still a side hustle thing?

Ryan Barrett:
Uh, right now I’m between gigs, so I’m mostly full-time on it. Uh, eventually I’ll go find a real job again, but, um, uh, right now I have more time for it. Uh, thanks in large part, uh, about a year and a half ago maybe I started working with Anuj Ahuja, who comes from working on similar stuff, and we have, um, I resisted kind of taking donations for a long time, but we now do crowdfunding and, uh, grant funding, and we, we started nonprofit. And so there is a bit more of kind of real organization and governance and some funding behind it. We don’t have enough funding to kind of pay ourselves salaries yet, but we can cover expenses and things like that.

Matthias Pfefferle:
Is it a plan to do that as a main profession anytime soon?

Ryan Barrett:
I don’t know. I’ve never been much for like a 5-year plan or a 10-year plan for myself. I just do what I’m doing while it works. And then when it’s time to do something else, I do something else. Um, I have never quite felt like this is my career. Um, so, but I’m doing it mostly full-time now. We’ll see how it goes. And I mean, even if I go get a different job and do something else,, you know, as a day job, like I wouldn’t shut this down. Um, it’s more a question of like, how much time am I spending building new parts of it and maintaining it as opposed to just kind of running it as is.

Matthias Pfefferle:
I think that’s the main problem for everyone working in open source and decentralized platforms in general, I would say. Um, yeah, but As I said in the introduction, it’s kind of weird that you need something like a bridge to bridge decentralized networks together. So why all of that?

Ryan Barrett:
Yeah, there is one way of thinking about this that is kind of like we want everyone, you know, all the different software projects to use the same protocol so that they can interoperate. Of course, I get that. Another way of thinking about it is we are still so early to all of this. It’s— yes, it’s been decades, but decades is not that long. I think if we said, okay, have we figured out all of the questions and we know the best way to do all of this, we’re doing it in maybe an activity pub. ActivityPub got everything right, no more questions to answer, like no more problems, so there’s no need to try anything new. Like ActivityPub is it, or, or Atmos protocol or anything else. That’s the final answer forever. Like, I don’t think anyone would believe that, right? Like, I think we are so early and there’s so much more to learn and figure out and, uh, kind of invent, we have to try a bunch of new things. ActivityPub is great. App Protocol is great. IndieWeb is great. I like Nostr. I like Farcaster. There are a bunch of good ideas, but we have like, yeah, there’s just so much more to figure out. And often like you can’t slowly evolve an existing network or protocol to try some big new idea. Uh, often if you have a big new idea that’s very different, it’s just too far away. And so you can’t like very gradually, inch by inch, move this one over there. You have to just try a new thing. And so I think trying new things is great. Uh, I think right now is the time to try lots of different ways to do decentralized social, right? But while we do that, we’ll have lots of different networks that don’t talk. Right. And so I like having things talk. And so I think bridges are useful.

Matthias Pfefferle:
So is that still a temporary thing for you?

Ryan Barrett:
Or, uh, probably not. I mean, so if the question is like, will we try things and then we’ll find the best way and everyone will use the one best way and then we’re done. No, I don’t think so. I think change is the only constant. I think we are always improving things. Um, Email is a great example. You could say, yeah, we tried a few different ways for people to kind of talk asynchronously online many, many decades ago. We settled on email. That’s great. But now if you think about how do you talk to your friends online, it’s mostly not on email, right? It’s on messaging or social or other things. And so we didn’t really have— even when we settled on email, like later, it’s not that SMS competed with email, but it was a new idea, right? And so I think there will always be new ideas, and that’s good.

Matthias Pfefferle:
So you said, or you already mentioned, that it’s nearly since forever, um, you are working on that. I think it’s almost 15 years. So, um, What led to a bridge? What is the history about all of that? Why have you decided to, okay, there are so many, like the XKCD comic, there’s so many competing standards, let’s build a bridge?

Ryan Barrett:
Right, right. Yeah, so the short answer is kind of the open source scratching my own itch. So way back in maybe 2000, I was in college. I had a website, a little— I didn’t— no one knew to call it a blog, but a website or a blog. Okay, good. When Facebook came out maybe a year or two later, at least very early in college for colleges, I signed up and tried it and I thought, oh, this is interesting. And I kind of immediately realize, oh, this is good and useful, but it’s not mine. I don’t control it. Like, I can, I can make my profile and post, but at the end of the day, if they want to change how things look or they don’t like me and want to, you know, ban my account or something, like, I— they can do that. I can’t control it. And so it’s okay. I mean, that’s like any service. But what I ended up doing was I would, when I posted, I would always just post on my website and then I would just copy and paste into Facebook. Then I knew at least anything I write there, like I’ll still have a copy of, I’ll still control. Okay. That is fine. Like as other services come out like Twitter or whatever, I would, I did the same thing. Gradually. So there was this era, you remember this, I mean, you and I have been doing indie web stuff together forever. The blogging era, this was the early to mid, maybe 2000s. There was an era where lots of people wrote blogs and would kind of respond to each other’s blog posts on their blogs and comment on those blog posts. And that’s great. Everyone had their own website and did that and it worked well. When social media kind of got bigger, one thing we would do is we would write blog posts and then post links to our posts on Facebook, Twitter, et cetera.

Matthias Pfefferle:
The famous cross-posting.

Ryan Barrett:
Yeah. Yeah. Yeah. Okay, sure. Gradually what we saw was that more and more people spent more time inside these social networks as opposed to reading kind of on the blogs. And so when I would post a link to a blog post I wrote, something I wrote, more and more people would comment kind of on Facebook or on Twitter or wherever instead of on my blog post on my website. Okay. The downside there is I don’t have— I’ve been like that conversation like about what I’m talking about. Is on Facebook or is on Twitter. Like, I don’t keep a copy of it, I don’t have a record of it, right? Um, you know, so that, that was a change that was disappointing. And so cross-posting was one thing. There were tons— there were always tons of tools to say, oh, post to Facebook and Twitter and Instagram and whatever. Like, that’s pretty easy. So lots of people did that, that’s useful. But what I wanted was the comments or the replies on Twitter. And then eventually the likes and the reposts and the quotes and everything, I wanted those to show up on my website too. And other people had thought of this, and you know, it was, it was a good idea, but it was much— it was more complicated to build, and so not many people did it. This is what we call in the indie web backfeed. And of course, the indie— at this time I had also kind of discovered the indie web, or was discovering at this time, and it was doing— had similar ideas kind of between websites themselves without worrying about social networks. But so what I eventually built was this tool to go use the Twitter API, use the Facebook API, etc., to find all of those replies and likes and reposts and figure out and kind of map from my original post there to the, my blog post and copy them all back to my blog post so they would show up there and other people would see them there.

Matthias Pfefferle:
So the first version, the first bridge was to bridge your blog content to, let’s say, closed social network and get the reactions out of it.

Ryan Barrett:
Yes. And especially, I mean, primarily the backfeed. So at the beginning, I didn’t do the cross-posting. I just I’m not— I’ve never been very online. I don’t post a ton. I post once every few days. Copy and paste is fine for me. But the back feed was the key part. And originally this was either 2000— I need to check the— maybe January 2012. The first version I did of this was WordPress specific. It was not Webmention. It was not kind of this open standard, this indie web standard. It was WordPress specific and it did, I think, Facebook and Twitter and that was it. And it was probably only replies or comments, but it was something, you know, and it kind of grew from there.

Matthias Pfefferle:
But it was as a service, it was not directly baked into WordPress. So is there a specific or was there a specific decision to do it like that or is this something that made the most sense?

Ryan Barrett:
So, I always knew this— all this should work as kind of open standards. Open standards. I wanted it to be interoperable. I didn’t want it to be specific— as much as I love WordPress, I didn’t want it to be specific to WordPress or anything else, right? And so, the standards I knew originally at that time were— the standard I knew for this was OStatus around then. And so my, my long-term idea was to build an OStatus bridge for all of, for the closed social networks. So that since, so the, I mean, the, the big idea here is they, they were closed, but they all had APIs. And so you can, like, there’s OStatus, there’s this open standard, and then there are these APIs. And the APIs were pretty full-featured. And so I figured like I have these two Lego blocks, I can just kind of use the API and translate the OStatus and back. And that should, that should work.

Matthias Pfefferle:
So one of the earlier versions were even compatible between OStatus, the open, let’s say predecessor of the Fediverse activity pub. And Facebook and Twitter?

Ryan Barrett:
So I never got— I never fully implemented OStatus for Facebook and Twitter. The first version of BridgyFed was OStatus. It was IndieWeb to and from OStatus. Before I did ActivityPub there. That was 2017. So BridgyFed was a different— a similar but different service, yes. But I did a number of these. So I did implement WebFinger for Facebook, Twitter, et cetera. I did portable contacts. POCO was a similar standard. Yeah, this is like us going back to 2010 era. What were the— and I did OpenID for Facebook and Twitter. So there were parts there, uh, and also, I mean, a lot of this was just around, it was in the air, and I happened to know a number of the people working on these standards, um, Evan, but also people like Brad Fitzpatrick, Brett Slatkin, uh, David Recordon. We all, you know, talked now and then. And so this was Chris, yeah, um, this was OStatus, but also kind of Buzz at Google and let’s see, Brad was doing things like the Social Graph Explorer API at Google and there were a lot of similar ideas. As a separate side project, I had written a little app that used— that did OpenID for Google accounts. Like any Gmail account, that kind of thing. There were a lot of these ideas. This was the, like, that blog era, 2000 to 2010, was also very much the Web 2.0 mashup era, Yahoo Pipes kind of thing. And also people at the same time thinking about Webfinger, OpenID, OStatus, these early, early decentralized social, decentralized services. And so there were lots of people and lots of ideas. Can I plug this into that? Like there are a bunch of parts. Let’s just plug them all together and see what works.

Matthias Pfefferle:
Yeah. Ostatus itself felt very mesh-appy. So putting together a lot of open standards and all the decentralized protocol. So when you worked on all of that, have you had the hope that it might get implemented? In the social networks? Because back in the days, Facebook and Twitter were really part of the discussions, not around maybe old status specifically, but there were other projects like data portability, for example, where they were really involved into that discussion. Was that kind of the hope you had?

Ryan Barrett:
No. Okay. Facebook very concretely for a while did a number of these things that had RSS. You know, it— I’m trying to remember if it did OpenID.

Matthias Pfefferle:
They did. They did OpenID. They had XMPP as the foundation of their Facebook chat. So they used quite a lot of open standards. I think they even used microformats for their profiles. It was, they were quite open to that.

Ryan Barrett:
And then also the things they created. So the graph API for a while, they very much positioned it as this kind of open generic thing that other people could use. And so this was the era of, again, David Recordon was there for a while and other people. I think the culture there. Was very much engineering driven and kind of just scrappy hackers, um, just throw a bunch of stuff together and engineers like standards. And so yeah, there was a while where they were very open to this stuff, which was great. Twitter, not so much. I think Twitter, you look at what Jack Dorsey was saying back then and recently, but, um, he had big, big ideas and vision for protocols and decentralization, but It never felt like that translated into anything concrete that they shipped. Facebook was very different. They shipped a ton of it. It didn’t last forever. But one thing when I think about the things I build, I very rarely like want to tackle an adoption problem. Like if you make a new protocol, like you can do it all right, you know, and make all the right choices or whatever, but you have to get everyone to use your new protocol or your new tool. That’s very slow and difficult. I would much rather, yeah, I’d much rather build something that people can use as is, especially developers, without having to, without a big adoption challenge. I think that’s another reason I tend to build these things as services. I want individual users to be able to use these things as easily as possible. I don’t want them to have to self-host anything. I don’t want them to have to get their Mastodon or Friendica or Pleroma or whatever to add a new feature. And so, yeah, I tend to avoid kind of adoption problems. I tend to build for what is here now and not for some hypothetical future.

Matthias Pfefferle:
Okay. So it’s more you want to have a platform that proves that it works instead of building, in Germany, we would say, air castles. Yes. Something, yeah, as you said, hypothetical, we could do if anyone would implement that, we could do XY. Right. So that, but I think I kind of agree with that. I was always also the, I want to implement something because it’s, for me, it was kind of a similar socialization with all the web stuff. So I also started with a blog and wanted to keep that momentum. So it was not defining protocols or using protocols because it’s the right way to do that, or because I wanted to work on something like that. It was simply because I needed it and I wanted to see if it works. So I kind of agree with that. But on the other hand, I’m kind of the lazy guy and implementing protocols is really not an easy thing. So I always tend to choose something to work on. And I was always impressed by your work to kind of being the, how you say that in English, the jack of all trades and implement everything when I struggle with implementing only one protocol. So why? I understand that theoretically, but why all of that work? So because that is, that is insane.

Ryan Barrett:
Yeah.

Matthias Pfefferle:
Yeah.

Ryan Barrett:
I mean, I, I wouldn’t, don’t sell yourself short. I mean, you, you did the WordPress Webmentions plugin. I think that for a long time, and maybe still, that was maybe the single most important indie web project. Yeah, period. And that was a full new protocol, like two of them. Like you had to do Webmention and microformats.

Matthias Pfefferle:
Yeah. But I compared with AT Proto or Nostril or ActivityPub, I think Webmention is a very easy, straightforward thingy. There are parts that are tricky, but not because it’s, the spec is hard, but it’s hard to, for example, to get semantics out of HTML is not a fun thing, but it’s more because websites are crappy and not because a standard is implemented or a standard is complicated to implement. So I think that’s a bit of a different level of complexity?

Ryan Barrett:
Uh, yes. Yeah, that’s fair. Um, yeah, scraping arbitrary HTML is no fun. Uh, if you say we require microformats, it’s much better. So, you know, like, takes work, but so yeah. So why have I done so many or worked on so many of these protocols and formats? Um, I think some of it is as engineers, the root of what we do is just put blocks together and build things out of smaller pieces. This is Lego, right? And regardless of what it is we’re building as engineers, protocols and formats are Lego blocks. There are these clear— they may be complicated, but there are these clear instructions for how to connect to it or how to like publish or consume a format, a data format, right? And so as an engineer, to me, when I see a few of them, a few formats, for example, I think, oh, it’s just like this, this field in this format goes to this field in this other format and this field goes here. And then for protocols, oh, this message goes here. This one sends X and this one receives Y. And so it’s, yeah, it’s very tempting and sometimes fun to just take a lot of Lego blocks and plug them together. And when you see that, like, they should be able to plug together and no one’s done it yet, sometimes, like, separate from the use case, the end user functionality, it’s fun to just go try and say, oh yeah, they plug together, or oh no, they don’t. This is WebSocket and this is HTTP, so then I need to bridge that and then I can plug them together or something similar. So one part of it is as an engineer, it’s fun to plug Lego blocks together. Another part is scratching my own itch.

Matthias Pfefferle:
Okay. So I always wanted to have that discussion with you and it’s even better to have that in public. So you implemented a ton of different protocols. And if you have not implemented it, you even understand the spec or know what to do theoretically. From all of these different specs, maybe we can go through the three main things and afterwards we can maybe talk a bit about Nostr. I have not read about Farcaster at all, to be honest. But what of these three protocols would best not fit your needs, but the nearest to what you would see as this is how it should work?

Ryan Barrett:
Yes.

Matthias Pfefferle:
Is that even answerable?

Ryan Barrett:
So I think it is. I would start with a metaphor or an analogy. If you study cryptography, like in academia, in college, there’s always been a saying like, don’t invent a cipher, you know, or you don’t make a good, a successful career as a cryptographer by inventing ciphers. You make it by breaking ciphers. I feel a bit like that here. I can look at a bunch of these different protocols and networks and say, oh, here are the pros and cons. Here are the good parts. Here are the bad parts of each one. I don’t feel qualified or ready to make my own, and I don’t know if I’m— if I would look at any of them and say, oh, this is the best one. Um, I think there are better and worse. Oh, Status was well-intentioned but not so great.

Matthias Pfefferle:
Um, I think well-intentioned sums it up quite good.

Ryan Barrett:
Yeah, you know, like we talked about earlier, it was so early we had so much more to learn. There were so many more new ideas we needed. It was maybe, it was one of the very early decentralized social protocols, like in the modern age, if you don’t count Gopher or Usenet, like the really old school stuff. Of course it wasn’t going to be great, right? But you had, we had to start somewhere. We had to try some things. So right now, what do I think is good? Yeah, maybe we’ll put a link in the show notes. I did a talk at the App Protocol conference last year. I think it was called All the Protocols Compared. So that’s the long version of this answer. But there are a number— I look at the modern protocols. So the big ones that we would think about, IndieWeb, ActivityPub, App Protocol, Nostr, Farcaster, Maybe DSNP. I don’t think that ever really hit and is definitely slowing down now. Um, yeah, so what are good ideas? Um, I think asymmetric key identity, so identity based on public keys, is a good idea. Um, and you see that in a number of these protocols. That is App Protocol, Nostr, Forecaster, DSMB, um, and blockchain. Uh, the key problem with public keys is, or key-based identity, is that it is recoverability. If we want to make something so usable that all of our family can use it, if we tell them, oh, never lose your password, if you lose your password, you’ve lost your account, that’s unacceptable, right? It’s just like not okay. So you need recoverability and there is, we’ve made progress there. There’s like complicated techie stuff, like multisig. Um, there’s very usable stuff like Bluesky where, um, custodial keys, like you had your identity as a key, but they manage the key for you. So those are, there are some good ideas there. Um, I think relays are another one. There was a movement for a while of like pure peer-to-peer, secure scuttlebutt, etc., where we wouldn’t even use— oh, we have the internet, every device is connected, each device should be able to talk to another device without servers. I think in a different world, in a different timeline, the internet may have evolved that way, but it didn’t in ours. We have NAT, we have CGNAT, um, tunneling, etc. It is a very client-server internet that we have grown. Um, and so realistically, you need parts of the network that are always online, and those will be servers. And so the shape of Nostr relays, Proto relays, um, Snapchain and Farcaster Even now you look at, uh, there are Fediverse relays. They are much smaller in scope, but this idea that there are servers and there are multiple and they can talk to each other and they’re, they’re somewhat dumb. Nostr relays are basically these like very limited databases. App Protocol relays are just kind of multiplexing and demultiplexing. They take multiple streams and combine them into one stream. And that’s it. When you look at kind of networking, computer networking coming out of the IETF, this is TCP/IP, Ethernet, et cetera. A lot of networking design ages ago followed this end-to-end principle where you put all of the logic, guaranteed delivery, only once delivery, congestion control, all the logic is in the endpoints on the computers that are the server or the client. The network is dumb. It’s just routing packets. I see some similar ideas in relays in these decentralized protocols. And I think that can make some sense. So yeah, those are two ideas I like. And then also kind of decomposing or separating a lot of the functionality. Some things we see, so in decentralized social, you need data storage. You’re going to have some admin, some moderation. You’re going to have feeds. There’s more of this kind of what I would call the product logic or business logic, like the social part, not the decentralized part. And newer networks are pulling those apart so that you can, you know, custom— like, you can run a custom feed in Blue Sky, in Atmosphere, and that’s totally separate from moderation, right? And literally different people, different organizations can run those and not talk to each other and not be in the same software project, and that’s good. So that’s maybe a third idea I like recently.

Matthias Pfefferle:
Because you mentioned, uh, the, the indie web as a protocol, do you see that really as a protocol? Because I thought about the indie web more like an, uh, philosophical thing, an idea, um, that has some protocols, but it’s more how you use the internet or how you use the web?

Ryan Barrett:
I think it’s both. Yes. Yeah. Like for power users or tech people who use all this stuff, like the, often the dream we have is I want one place or one master or one kind of main place where I control my profile online and where I post, and then that goes everywhere and talks to everything, all the other networks, and everything comes back. But I, I only do it from one centralized or one place for me, at least. Um, maybe it’s my Fediverse account, maybe it’s my Bluesky account, maybe it’s my website. For us in the indie web, often we think of it as our website. Um, and so you’re right, indie web Either first or like importantly is a philosophy. It’s like everyone should have a website. And ideally everyone should have a domain that they own for their website. And so there are some tech and protocols, but I think we would say in the indie web, if you have your website, your own website, especially if you have your own domain, you are part of the indie web. You don’t have to do webmention or microformats or anything else. So philosophically, yes, I agree. Also, there is this indie web protocol stack, Webmentions, microformats, MicroPub, MicroSub, others. And so those add a lot of functionality. But yeah, I think it’s both.

Matthias Pfefferle:
Yeah, but in the end, it feels a lot like more in the Ostatus directory. So direction, not directory. So it’s more a These are parts you could use to have a kind of decentralized communication, but it’s not directly a full-flavored protocol for decentralized communication. And I mentioned that because I really like how you design your bridges, because oftentimes, or I thought, mainly about, okay, if you’re bridging the Fediverse to the Atmosphere, then I should join as an ActivityPub node. But in recent discussion, you always mention, um, when you have a blog, why not use way simpler mechanisms like, for example, RSS or other indie web standards like Webmention and things like that. And I really like that because in the end, implementing RSS or Webmentions or anything else that is in the IndieWeb stack is quite easy and straightforward. And using that to connect to a bridge that does all the heavyweight stuff, um, is kind of, you use open standards in, in, in every level of that bridge thing and even reuse paradigms that you mentioned, like the abstraction of, or the multi-layer thing. So you do not have to care about federation and about who can connect with your site. You implement some basic protocols like the next level of pingbacks, some RSS, maybe some web semantics. And I do all the heavy lifting stuff for you.

Ryan Barrett:
A lot of this again is I think just me avoiding air castles and me not wanting to have to convince someone to install software anywhere. I don’t really know how to predict the future. And so I tend to live in what is, what exists now for any given network or anyone’s website. Like, what does it do now? And it probably does RSS. Most, many websites at least probably don’t do ActivityPub. So yeah, I kind of take that, like, where are people now and what can I build that they can And turn on, or not even, I mean, Granary, for example, like there’s a library and tool, a service I run called Granary that converts between formats. You can use Granary to convert someone’s website like RSS to microformats and they don’t even have to know, right? Like you can use it. Um, and that’s again very much the Web 2.0 mashup kind of permissionless web crawling mentality and era. You know, the era we kind of grow— you and I and other people kind of grew up in. And there are different ideas now and that’s great. But yeah, I think a lot of it is what can I— how can I make this work? How can I make something useful? Assuming nothing changes and assuming no one installs any new software anywhere.

Matthias Pfefferle:
But from your experience, you’re running a bridge. What is— so is having your own website and connecting to that bridge still a thing, or is that still us two being old nostalgic guys wanting back the blogosphere?

Ryan Barrett:
I mean, it’s still a thing because we do it. Yeah, some people do it. I, you know, my partner in this, Anuj, he wants that kind of techie power user dream of one place for his profile. And for him, it’s his Bluesky account. Or ideally might be eventually. For me, it’s my website. And so I think that choice is good. And there are more websites out there probably than accounts on any individual social network. So if Facebook, how many websites are there? Billions, at least tens of billions. There are probably more websites than Facebook accounts, right? And Facebook is the biggest social network. So I mean, If you count websites, and even if you say websites with their own domain, and so then does WordPress.com, does WordPress.com site without its own domain count? I don’t know. But yeah, I mean, there are more websites out there than any social network. So I don’t know.

Matthias Pfefferle:
But do you see a tendency or is there, do you get some feedback like, okay, you allowed me to stay on my side, so I will do that? Or is there a trend?

Ryan Barrett:
Yes, I understand the question. No, for the average, the average person these days is more likely to use social networks and have social media or have social network accounts and less likely to have their own website, especially with their own domain. I think, yes.

Matthias Pfefferle:
So it’s mainly bridging Fediverse accounts to AD Proto accounts and having your own website as part of this new bridge decentralized social network is still the niche?

Ryan Barrett:
Yeah, I think what we see often is the most— so for BridgyFed, for example, most of the websites on it are not personal websites. They are publishers, but they’re very popular. So I think Rolling Stone, for example, has almost is someone is bridged, um, and it has, I think, over 100,000 followers. It’s bridged, uh, accounts. Um, and so on the one hand, it’s probably mostly not personal websites, but there are, I don’t know, maybe 30,000 bridged websites on BridgyFed, and some of them are very popular, right? And so that’s useful.

Matthias Pfefferle:
Okay. So it’s kind of the content creator, I wouldn’t say niche because they may be few in total numbers, but not in follower counts. So, okay. But is there a trend of people following or understanding what that means, bridging between different networks and actively using it, or is this more an I’ve found someone by accident and followed them and didn’t care where the profile is?

Ryan Barrett:
Yeah. So the, I think we are at a bit over 130,000 total bridged accounts on BridgyFed right now, which is good. It’s still, you know, it’s still on the one hand, it’s big. On the other hand, it’s small. Um, yeah, I think lots of people do see and interact with bridged accounts. Like, lots of people are on Bluesky and see and interact with a Fediverse account, or vice versa, and don’t know it. Um, especially for Fediverse accounts, for example, that have set custom domain handles on their— on the Bluesky side. Uh, both Anuj and I, one of our favorite things is to see, to find like big, big conversations where some of the people in the conversation are on Bluesky, some are on the Fediverse, some are even are on like, maybe I’m participating and I’m on my website or you. Um, and as far as we can tell, the people either don’t know or don’t care. Which is great. I love it, right? Like, that’s the dream. Yeah, I don’t— I like that people know about the bridge, but the goal, like, I also love when it works and people don’t know about it and it works anyway.

Matthias Pfefferle:
So maybe we’re coming to an end. Maybe a controversial question.

Ryan Barrett:
Sure. Fun.

Matthias Pfefferle:
So because you’re bridging quite some profiles and there is quite a discussion or discussions through all the networks, I would say you built quite a critical infrastructure. How to handle something like that for the long term?

Ryan Barrett:
Yeah. Uh, yeah, it’s an important question. So it’s better now than it used to be. It used to be one random guy’s side project, um, with zero funding, uh, zero organization or governance. Um, and so that was true for a long time. Uh, and a couple of years ago, some people online started looking at it and saying, oh, this bridge is good. It’s Maybe more than good now, maybe it’s important, uh, was getting big enough, uh, and there were enough accounts on it that were— people cared about having access to. And they were saying like, this is important, it needs to be reliable infrastructure, it needs governance, like how will we make sure this lasts and is stable, etc. On the one hand, like it was flattering that people cared about it enough to say that, right? On the other hand, I didn’t have any of that. It was one random guy’s side project. And so I wrote a post and basically said, hey, like, thank you all so watch. This is one random guy’s side project. Like, there’s nothing to it. Um, it’s open source. Uh, but yeah, uh, if you all want more governance, more organization, great. I’m not gonna do that. That’s not what I’m in this for. Um, so if someone else wants to, great. I was hoping they would say, oh, okay, we get it, and go away. Instead, a number of people popped up and said, oh, Hey, I’ll be that person. I’ll add the organization of the governance. And then I said to myself, well, shit. But so then we did, you know, I ended up working with Anuj and he’s been great. And we have a nonprofit in the US. We have grant funding and crowdfunding. We have a board of directors who are great and independent. Really helpful. So that helps. And I think the other answer is it is open source and it’s public domain licensed. So there are— it’s like totally unencumbered. Anyone else can run their own instance, can take the code and go with it. And so the only— if it died tomorrow, the existing bridged accounts, like, so the domain and the keys that are in the bridge for those accounts, those are important. And so if BridgyFed died, those would go away. That’s not going to happen. I think it’s possible I’ll shut it down at some point, but I fully plan, if I do that, to do an orderly shutdown. Ideally find someone to take it over so that the domain and the keys survive. And if not, you know, like, we would make it work. But yeah, it’s open source. It’s got an org, it’s got some funding. We’re okay for now.

Matthias Pfefferle:
Have you planned something like hosting it as a service for bigger sites or organizations?

Ryan Barrett:
We have talked about it a lot. I think we still don’t know what problem that solves.

Matthias Pfefferle:
I think from, from my perspective, it’s oftentimes the simply the domain thingy, because everything for now is kind of something@fed.brit.g. So it’s still very., yeah, very much promoting this single instance and maybe others want to have their own, maybe the Rolling Stone want to have @rollingstone.social or something like that. Is, was that even a question or is that something you think about?

Ryan Barrett:
Yeah, definitely. So the default, you’re right, the handles, the addresses for bridged accounts have you know, something.brid.ui in them. But for a long time now, we’ve let you set a custom domain, um, on Bluesky, but also on the Fediverse. On the Fediverse, at least if you— for bridged websites. Um, okay. Yeah, and we could look into that. So I think the part that’s missing is if you’re on Bluesky and you bridge into the Fediverse. I need to go check. I don’t think we— I don’t think we let you set a custom kind of server part of your Fediverse address there, but we could. Um, but most of that— so we have the custom domains in Bluesky, we have them for websites into the Fediverse, so we’re mostly there. And people definitely use that, uh, especially the Bluesky part. But in general, yeah. So for example, my Fediverse address is snarf.org@snarf.org. It’s through BridgyFed. It doesn’t have grid.gy in it. Yeah.

Matthias Pfefferle:
Okay. So, but, but is that really a thing end users care about? Or is that more as a business owner?

Ryan Barrett:
I think both. I mean, I’m an end user and I did it. Lots of individual people bridging from Fediverse to the Blue Sky, to Blue Sky set custom domain handles. Um, so some people do.

Matthias Pfefferle:
Okay.

Ryan Barrett:
I think maybe more individual people than businesses. I think not nearly as many businesses know about the bridge and having more individual people. Yeah, we’re getting there, but it’s still early.

Matthias Pfefferle:
Okay. So what is, what are you most curious about for the next few months?

Ryan Barrett:
What is our big project? Yeah, there’s so much to do. So one thing we are working on, we’ve started to roll out, is, uh, long form.

Matthias Pfefferle:
So, uh, you know, just like you all think about WordPress for the WordPress community.

Ryan Barrett:
Yeah, yeah. So for a long time, we have bridged web, you know, posts on websites, articles on websites, into the Fediverse as the article Activity Streams 2 type. In Mastodon and other servers, this shows up okay but not great, just the title and the link. That’s something. Um, they’re working on that, I know. Um, Bluesky— Bluesky the app isn’t doing long form really, but other app protocol platforms are, uh, Leaflet, Offprint, uh, Pockets, um, Sequoia. And so some of them got together and made this common lexicon, basically a format called standard.site. And so we added support for that in the bridge. We maybe a week or two ago started publishing these standard site documents. We’re soon going to publish the publication or just kind of like site records, like who is this as opposed to what did they write. I know you all are looking at this too. You actually launched it, right?

Matthias Pfefferle:
I’m still experimenting with that a lot. So yeah, AT Proto is a whole different thing for me.

Ryan Barrett:
Yeah. But yeah, the, so that’s one thing that we’re excited about. Another is we’ve been looking, we’ve been working more on, we have another tool separate from the bridge called Bounce, which is, lets you migrate from one network to another and keep all of your followers. And it uses the bridge under the covers to make that work. Um, one thing we want to do is, uh, let you migrate. Basically, like, when you’re bridged, you have your native account, say, on the Fediverse, and your clone account, say, on Bluesky. Both sides, you know, both the Fediverse and Bluesky let you migrate in accounts. Bluesky’s migration is much more powerful, uh, and full-featured, but they both have that. And so we We want to let you take that existing clone account that you’ve had forever, um, and post it on and move it intact, like keeping its posts, its images, that kind of thing, to a new Bluesky PDS, a new Bluesky server, and then have that be in a real native account you can use. Um, so that’s one thing.

Matthias Pfefferle:
Yeah.

Ryan Barrett:
Um, and then we’re always looking at new networks. Uh, we have Nostr mostly complete in terms of the implementation. Just a few other things we’re still thinking about how to launch, but we’re talking with Rabble, uh, Evan Hendersplath, um, about Divine, which is a new kind of video platform on top of Nostr. And we, we want to make sure we can bridge that when it’s— when they launch that. We look at Forecaster. Forecaster has had a lot of drama in the last month or so, um, uh,, which is interesting. But, um, yeah, we look at that. And then there’s, yeah, there’s, there’s so much more out there to do, uh, lots of new ideas.

Matthias Pfefferle:
So I would love to, um, talk about the standards thing when you launch that. Maybe you want to join me again together with Anoush, uh, talking a bit more about the, the new stuff, uh, later this year. Um, where can we follow all progress you are doing.

Ryan Barrett:
Yeah. So our organization is called ANEW Social. So anew.social. BridgyFed is fed.brid.gy.

Matthias Pfefferle:
And I am snarfed.org, S-N-A-R-F-E-D.org.

Ryan Barrett:
Perfect.

Matthias Pfefferle:
I think I will link all of that in the show notes.

Ryan Barrett:
So I’ve had so much fun here, uh, and I’ve loved working with you again for at least 15 years on indie web stuff. We go back so far. And again, I mean, you’ve done a ton, uh, but yeah, early on, especially the WordPress Webmention plugin was I think the most important project in the indie web, um, you know, bar none. So, uh, yeah, thank you for all of everything you’ve done too.

Matthias Pfefferle:
Thanks a lot. What should I say about that? Thank you a lot for all your work and for doing it as a general service so that everyone can use it. I hope I can and will link and find everything for the show notes. If not, let me know. I will put everything in there. And yeah, thanks a lot for joining. And I’m curious about the next few months.

Ryan Barrett:
Me too. This was great. Thank you, Matthias.

Connecting Decentralized Social Networks and Rethinking Interoperability
ALT text detailsConnecting Decentralized Social Networks and Rethinking Interoperability
@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

1/

AFAIK, there isn't a way for an ActivityPub Actor (such as a Person actor) to specify a list of Service actors associated with it.

...

For example, imagine that there is a Service actor that represents a way to make a video call to me.

And, for example, I have my Mastodon Person actor.

And, I want to let people know about it (and other Service actors associated with me).

How do I do that using AP, etc‽

...

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Just had to add a workaround to for http://joinmastodon.org/ns, a JSON-LD context URL that has never actually served a JSON-LD document. Mastodon has always inlined the term definitions, but some implementations put it as a bare URL in their @context, so Fedify's JSON-LD processor tries to fetch it and gets a 404 Not Found. Now Fedify ships a bundled copy of a context that never existed in the first place.

https://github.com/fedify-dev/fedify/pull/631

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post

7/

Continuing to look for an alternative to "attachment" (for properly supporting an Actor specifying a list of CALL Service actors associated with it) —

Maybe a call specific custom top-level attribute would be useful.

Maybe something like:

"call": [
{
"rel":"callpub",
"href":"https://videocalls.example/users/joeblow"
}
]

Or even:

"call": [
"href":"https://videocalls.example/users/joeblow"
]

.

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post

6/

Continuing to look for an alternative to "attachment" (for properly supporting an Actor specifying a list of Service actors associated with it) —

Maybe a custom top-level attribute would be useful.

Maybe something like:

"service": [
{
"rel":"callpub",
"href":"https://videocalls.example/users/joeblow"
}
]

Although perhaps that is not much better than "attachment", if you just care about calls

So —

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post

5/

Continuing to look for an alternative to "attachment" (for properly supporting an Actor specifying a list of Service actors associated with it) —

I think "endpoints" would also be a poor choice, too. Again, the semantics are wrong, or at least lacking.

So —

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post

4/

Looking for an alternative to "attachment" (for properly supporting an Actor specifying a list of Service actors associated with it) —

I think using "alsoKnownAs" or "sameAs" would be a poor choice. The semantics are wrong.

For example: a Service actor might represent my mobile phone (or software on it). My phone is not me. It is something I have.

So —

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post

3/

But, what about the non- fall-back situation where software could properly support this (when an Actor specifies a list of Service actors associated with it)‽

I think some might say, put the associated Service actors in "attachment". And, semantically I think that would work with ActivityPub, but — I have a very strong dislike with putting everything in "attachment" (and "tag"). It makes parsing difficult.

So —

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post

2/

Because most people wouldn't be able to add custom attributes or custom values to most Fediverse software (including Mastodon) —

Most supporting software would probably want to support a "PropertyValue" link in "attachment" field as a fall-back

For example:

"attachment": [
{
"type": "PropertyValue",
"name": "Video Calls (callpub)",
"value": "https://videocalls.example/users/joeblow"
}

But —

...

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

1/

AFAIK, there isn't a way for an ActivityPub Actor (such as a Person actor) to specify a list of Service actors associated with it.

...

For example, imagine that there is a Service actor that represents a way to make a video call to me.

And, for example, I have my Mastodon Person actor.

And, I want to let people know about it (and other Service actors associated with me).

How do I do that using AP, etc‽

...

Thoriums Just Want To Have Fun's avatar
Thoriums Just Want To Have Fun

@PeteGozz@theblower.au

Thought for the day::

POSIWID

def.

"The Purpose Of a System Is What It Does "

(not what the design intention was)

This and other thoughtful observations around protocols...


Here >>
connectedplaces.online/the-pur

Longish read , that is well argued...

Sebastian Herold's avatar
Sebastian Herold

@sherold@mastodon.online

“A protocol does not need to encode governance explicitly in order to shape it; it shapes governance by determining which mechanisms are easy to build, which are hard, and which are effectively impossible within the constraints the architecture imposes.”

A good read by @laurenshof on @fediversereport

connectedplaces.online/the-pur

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

@steve

Have there been any further discussions on this? I think it’s becoming increasingly important!

github.com/steve-bate/activity

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

@steve

Have there been any further discussions on this? I think it’s becoming increasingly important!

github.com/steve-bate/activity

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Just had to add a workaround to for http://joinmastodon.org/ns, a JSON-LD context URL that has never actually served a JSON-LD document. Mastodon has always inlined the term definitions, but some implementations put it as a bare URL in their @context, so Fedify's JSON-LD processor tries to fetch it and gets a 404 Not Found. Now Fedify ships a bundled copy of a context that never existed in the first place.

https://github.com/fedify-dev/fedify/pull/631

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Just had to add a workaround to for http://joinmastodon.org/ns, a JSON-LD context URL that has never actually served a JSON-LD document. Mastodon has always inlined the term definitions, but some implementations put it as a bare URL in their @context, so Fedify's JSON-LD processor tries to fetch it and gets a 404 Not Found. Now Fedify ships a bundled copy of a context that never existed in the first place.

https://github.com/fedify-dev/fedify/pull/631

Doctor M. Popular's avatar
Doctor M. Popular

@docpop@mastodon.social · Reply to Doctor M. Popular's post

I was hoping that link would display as a preview card for my site (with the featured image of the blog post, etc), but instead I'm seeing it as if I retweeted the fediverse version of my post (from my @doc handle).

Does this happen to other folks who use the for plugin? Is there a way to force it show the preview card instead of "re-tooting" a fediverse post associated with my blog?

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

I used to not like JSON-LD. And then I got exposed to CBOR. And, since then, I ended up liking JSON-LD more than I did before.

j12t.social/@j12t/114581086678

...

I was looking for performant ways of storing JSON-LD data, so that it can be looked up, queried, etc.

CBOR might actually be a way of doing that.

...

For me that is an odd realization given me liking JSON-LD is a reaction to CBOR.

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

I used to not like JSON-LD. And then I got exposed to CBOR. And, since then, I ended up liking JSON-LD more than I did before.

j12t.social/@j12t/114581086678

...

I was looking for performant ways of storing JSON-LD data, so that it can be looked up, queried, etc.

CBOR might actually be a way of doing that.

...

For me that is an odd realization given me liking JSON-LD is a reaction to CBOR.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: toot.fedilab.app/@apps/1162459

is not limited to reports about animals found or in distress. You can use it to offer help or ask for it.

Use when you provide help, when you need it, to share useful information.

Everything works through . If you delete your original post mentioning @PawFed, the related report is automatically removed from the map. No database ghost. You stay in control of your data. (1/3)

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

is a project close to my heart. It's a collaborative map for animal welfare that bridges the and .

The idea: mention @PawFed from your Mastodon account with hashtags and a location, and your report appears on the map. No signup, no app, just your existing Fediverse account.
It's not perfect yet, but the foundation is there. I will publish the source code soon under AGPL.

More: pawfed.org/how-it-works

[^BgTA^] :verified: :opensuse:'s avatar
[^BgTA^] :verified: :opensuse:

@raul@mastodon.in4matics.cat

RE: socialwebfoundation.org/2026/0

Etiquetar el món (descentralitzat) ara és més fàcil. 🏷️ La Social Web Foundation presenta Tags.pub. El futur de la descoberta a es veu brillant. ✨

Evan Prodromou's avatar
Evan Prodromou

@evanprodromou@socialwebfoundation.org

tags.pub is a new service under development by the Social Web Foundation. It is a global hashtag server -- it lets you follow a hashtag across the Fediverse. There's lots of information on the tags.pub home page, and I (Evan) did a talk about tags.pub at FOSDEM 2026. This blog post answers some basics about tags.pub. To follow a hashtag globally, search for a user with that name at tags.pub, like <a rel="mention" class="u-url mention" href="https://tags.pub/user/example">@example</a> for the #example hashtag. Follow that account, and it will share all the […]

tags.pub is a new service under development by the Social Web Foundation. It is a global hashtag server — it lets you follow a hashtag across the Fediverse. There’s lots of information on the tags.pub home page, and I (Evan) did a talk about tags.pub at FOSDEM 2026. This blog post answers some basics about tags.pub.

  • To follow a hashtag globally, search for a user with that name at tags.pub, like @example for the hashtag. Follow that account, and it will share all the content it sees with that hashtag to you. If you unfollow the account, it should stop sharing to you. The usernames only have letters and numbers in them, and they only go up to 64 characters.
  • To share your content with tags.pub, search for and follow the @_followback account. It will follow you back (thus the name) and your public posts will be shared by the hashtag accounts on tags.pub. If you unfollow the follow back account, it will unfollow you back, and your content will no longer be shared.
  • You can connect a whole server to tags.pub by using the relay interface. Add https://tags.pub/user/_____relay_____/inbox (Mastodon) or https://tags.pub/user/_____relay_____ (Pleroma) to your server relays. This is a one-way pipe — your server will send public posts to tags.pub, but tags.pub won’t send all its public data back to you. Instead, your users should follow hashtag accounts to get specific feeds.
  • We respect your agency. If your server is connected to tags.pub and you don’t want it to boost your content, add to your bio. If you already have , that should be plenty. You’ll still be able to follow tags.pub hashtag accounts. If you don’t want to see or be seen by tags.pub at all, you can block the domain ‘tags.pub’ entirely.
  • Becoming the ‘global’ hashtag server is a goal. We are still ramping up, and there are a lot of people and servers that are not yet connected.
  • tags.pub is developed and operated by Social Web Foundation. We are a US non-profit. The servers are located in Beauharnois, Quebec, Canada in a data centre run by OVHCloud, a French corporation. We try to keep the data storage to the absolute minimum necessary to provide the hashtag sharing service. There is no search index, and we don’t archive your content. The code is Free and Open Source software under the AGPL-v3.
  • If you have a feature request, or a bug report, please add a GitHub issue. If you have a private comment or question, please use our contact form.
[^BgTA^] :verified: :opensuse:'s avatar
[^BgTA^] :verified: :opensuse:

@raul@mastodon.in4matics.cat

RE: socialwebfoundation.org/2026/0

Etiquetar el món (descentralitzat) ara és més fàcil. 🏷️ La Social Web Foundation presenta Tags.pub. El futur de la descoberta a es veu brillant. ✨

Evan Prodromou's avatar
Evan Prodromou

@evanprodromou@socialwebfoundation.org

tags.pub is a new service under development by the Social Web Foundation. It is a global hashtag server -- it lets you follow a hashtag across the Fediverse. There's lots of information on the tags.pub home page, and I (Evan) did a talk about tags.pub at FOSDEM 2026. This blog post answers some basics about tags.pub. To follow a hashtag globally, search for a user with that name at tags.pub, like <a rel="mention" class="u-url mention" href="https://tags.pub/user/example">@example</a> for the #example hashtag. Follow that account, and it will share all the […]

tags.pub is a new service under development by the Social Web Foundation. It is a global hashtag server — it lets you follow a hashtag across the Fediverse. There’s lots of information on the tags.pub home page, and I (Evan) did a talk about tags.pub at FOSDEM 2026. This blog post answers some basics about tags.pub.

  • To follow a hashtag globally, search for a user with that name at tags.pub, like @example for the hashtag. Follow that account, and it will share all the content it sees with that hashtag to you. If you unfollow the account, it should stop sharing to you. The usernames only have letters and numbers in them, and they only go up to 64 characters.
  • To share your content with tags.pub, search for and follow the @_followback account. It will follow you back (thus the name) and your public posts will be shared by the hashtag accounts on tags.pub. If you unfollow the follow back account, it will unfollow you back, and your content will no longer be shared.
  • You can connect a whole server to tags.pub by using the relay interface. Add https://tags.pub/user/_____relay_____/inbox (Mastodon) or https://tags.pub/user/_____relay_____ (Pleroma) to your server relays. This is a one-way pipe — your server will send public posts to tags.pub, but tags.pub won’t send all its public data back to you. Instead, your users should follow hashtag accounts to get specific feeds.
  • We respect your agency. If your server is connected to tags.pub and you don’t want it to boost your content, add to your bio. If you already have , that should be plenty. You’ll still be able to follow tags.pub hashtag accounts. If you don’t want to see or be seen by tags.pub at all, you can block the domain ‘tags.pub’ entirely.
  • Becoming the ‘global’ hashtag server is a goal. We are still ramping up, and there are a lot of people and servers that are not yet connected.
  • tags.pub is developed and operated by Social Web Foundation. We are a US non-profit. The servers are located in Beauharnois, Quebec, Canada in a data centre run by OVHCloud, a French corporation. We try to keep the data storage to the absolute minimum necessary to provide the hashtag sharing service. There is no search index, and we don’t archive your content. The code is Free and Open Source software under the AGPL-v3.
  • If you have a feature request, or a bug report, please add a GitHub issue. If you have a private comment or question, please use our contact form.
Tueddelmors :ubuntu:'s avatar
Tueddelmors :ubuntu:

@reeeen@norden.social

Kleines Fediverse-Phänomen: Ich poste auf Mastodon, mein Tröt landet auf Pixelfed, jemand auf Misskey boosted ihn, eine PeerTube-Instanz verlinkt ihn in der Beschreibung – und das alles ohne dass ein Algorithmus entschieden hat, ob ich "relevant genug" bin.

Das ist nicht Magie. Das ist einfach wie das Internet eigentlich gedacht war. 🕸️

fabio

@fabio@manganiello.eu

After Madblog, how many of you would like #ActivityPub and #Indieweb support to come to GPSTracker too?

This is an idea that I’ve been flirting with for a while.

Like many Millennials, 10-15 years ago I was into the Foursquare-mania. It was the age where pubs would offer discount to their Foursquare mayor and where people used to share their Foursquare stats and compete on how many badges they had collected.

Then Foursquare decided to pivot its platform towards the business-side instead, the check-in app was spun off into Swarm, it gradually lost users but it gained trackers, and by now I think only 1-2 of my contacts (out of >100 in the golden age) still use it.

By now I don’t think anyone has filled that gap; there isn’t any social media built around networks that share and recommend their check-ins.

#GPSTracker already supports a lot of tracking, timeline and check-in features, synchronization of geo events with mobile devices, and even stats with arbitrary aggregations (by country, time range, city, region etc.). Plus some features that Foursquare never implemented (like searching for checkins on the timeline by simply selecting an area on the map).

#Microformats already support location tags through the h-adr class, although they are rarely used. Both #Webmentions and ActivityPub could send check-in activities as permalinks to pages with those tags. And the #OpenStreetMap APIs could do the heavylifting of retrieving POIs in in a certain lat/long box.

The only hurdle would be implementing the protocols under the hood, as both the Webmentions and Pubby libraries are in #Python while #GPSTracker is in #Typescript. But it could be a good chance to start writing multi-language bindings for those libraries.

Let me know if it’s something that you would use, or even self-host, and if you know if there’s anything in the Fediverse that already fills this niche.

fabio

@fabio@manganiello.eu

After Madblog, how many of you would like #ActivityPub and #Indieweb support to come to GPSTracker too?

This is an idea that I’ve been flirting with for a while.

Like many Millennials, 10-15 years ago I was into the Foursquare-mania. It was the age where pubs would offer discount to their Foursquare mayor and where people used to share their Foursquare stats and compete on how many badges they had collected.

Then Foursquare decided to pivot its platform towards the business-side instead, the check-in app was spun off into Swarm, it gradually lost users but it gained trackers, and by now I think only 1-2 of my contacts (out of >100 in the golden age) still use it.

By now I don’t think anyone has filled that gap; there isn’t any social media built around networks that share and recommend their check-ins.

#GPSTracker already supports a lot of tracking, timeline and check-in features, synchronization of geo events with mobile devices, and even stats with arbitrary aggregations (by country, time range, city, region etc.). Plus some features that Foursquare never implemented (like searching for checkins on the timeline by simply selecting an area on the map).

#Microformats already support location tags through the h-adr class, although they are rarely used. Both #Webmentions and ActivityPub could send check-in activities as permalinks to pages with those tags. And the #OpenStreetMap APIs could do the heavylifting of retrieving POIs in in a certain lat/long box.

The only hurdle would be implementing the protocols under the hood, as both the Webmentions and Pubby libraries are in #Python while #GPSTracker is in #Typescript. But it could be a good chance to start writing multi-language bindings for those libraries.

Let me know if it’s something that you would use, or even self-host, and if you know if there’s anything in the Fediverse that already fills this niche.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Steve Bate's post

@steve @hongminhee

I mentioned this thread in the tracking issue. I think there's a fundamental risk that C2S is going sideways because of misconceptions between devs on where things are / should be headed.

codeberg.org/fediverse/delight

Markus Feilner's avatar
Markus Feilner

@mfeilner@mastodon.social

Hey who else is in beautiful this week? Love to meet you there! @FediVariety
@chillicampari @vn
fedivariety.org/unconference

Markus Feilner's avatar
Markus Feilner

@mfeilner@mastodon.social

Hey who else is in beautiful this week? Love to meet you there! @FediVariety
@chillicampari @vn
fedivariety.org/unconference

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Avoid

github.com/swicg/activitypub-a

In follow-up to @hongminhee in:

hollo.social/@hongminhee/019ca

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Today @kopper shared a post on the fediverse titled how to not regret c2s, and I found it genuinely interesting to read, even if I'm not sure its proposed architecture actually solves what it sets out to solve.

The author's frustration with naïve implementations is well-founded. Slapping an facade onto an existing Mastodon-like server and calling it C2S doesn't buy you much—you end up with the rigidity of a bespoke API without any of the interoperability C2S is supposed to offer. The “JSON-LD flavored Mastodon API” framing is apt.

The proposed solution is to split responsibility more aggressively: the C2S server should be nearly stateless and dumb, storing ActivityPub objects without interpreting them, while a separate “client” layer handles indexing, timelines, moderation, and exposes its own API to the frontend running on the user's device. It's a clean separation of concerns on paper.

But here's what bothers me. When you map this architecture onto familiar terms, it looks roughly like this:

  • C2S server ≈ a database (PostgreSQL, say)
  • “Client” ≈ an application server (Mastodon, Misskey)
  • “Frontend” ≈ the actual client app on your phone

That's not a new architecture. That's just the current architecture with the labels shifted. The interesting question is which interface gets standardized, and the author's answer is the one between the C2S server and the “client” layer—the bottom boundary.

The problem is that what people actually want from C2S is to connect any frontend to any server. The portability they're after lives at the top boundary, between the frontend and whatever is behind it. But the author explicitly argues against standardizing that layer: “we don't really need a standardized api,” they write, leaving each client free to expose whatever API it likes.

Which means frontends remain locked to specific clients, just as Mastodon apps are locked to the Mastodon API today. The interoperability promise of C2S—log in to any server with any app—isn't actually delivered. It's been pushed one layer down, out of reach of the end user.

There's real value in the post's thinking about data hosting vs. interpretation, and about the security implications of servers that understand too much. But as an answer to the question C2S is supposed to answer, I'm not convinced.

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@hongminhee > Slapping an facade onto an existing Mastodon-like server and calling it C2S doesn't buy you much ...

The benefit of having a C2S adapter for Mastodon is that it provides a large user pool that could motivate developers to create C2S UIs rather than only supporting the Mastodon API. Having more server-independent client implementations may motivate devs to build general C2S servers with advanced features and eventually disrupt the Mastodon dominance in the Fedi.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Today @kopper shared a post on the fediverse titled how to not regret c2s, and I found it genuinely interesting to read, even if I'm not sure its proposed architecture actually solves what it sets out to solve.

The author's frustration with naïve implementations is well-founded. Slapping an facade onto an existing Mastodon-like server and calling it C2S doesn't buy you much—you end up with the rigidity of a bespoke API without any of the interoperability C2S is supposed to offer. The “JSON-LD flavored Mastodon API” framing is apt.

The proposed solution is to split responsibility more aggressively: the C2S server should be nearly stateless and dumb, storing ActivityPub objects without interpreting them, while a separate “client” layer handles indexing, timelines, moderation, and exposes its own API to the frontend running on the user's device. It's a clean separation of concerns on paper.

But here's what bothers me. When you map this architecture onto familiar terms, it looks roughly like this:

  • C2S server ≈ a database (PostgreSQL, say)
  • “Client” ≈ an application server (Mastodon, Misskey)
  • “Frontend” ≈ the actual client app on your phone

That's not a new architecture. That's just the current architecture with the labels shifted. The interesting question is which interface gets standardized, and the author's answer is the one between the C2S server and the “client” layer—the bottom boundary.

The problem is that what people actually want from C2S is to connect any frontend to any server. The portability they're after lives at the top boundary, between the frontend and whatever is behind it. But the author explicitly argues against standardizing that layer: “we don't really need a standardized api,” they write, leaving each client free to expose whatever API it likes.

Which means frontends remain locked to specific clients, just as Mastodon apps are locked to the Mastodon API today. The interoperability promise of C2S—log in to any server with any app—isn't actually delivered. It's been pushed one layer down, out of reach of the end user.

There's real value in the post's thinking about data hosting vs. interpretation, and about the security implications of servers that understand too much. But as an answer to the question C2S is supposed to answer, I'm not convinced.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Avoid

github.com/swicg/activitypub-a

In follow-up to @hongminhee in:

hollo.social/@hongminhee/019ca

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Steve Bate's post

@steve @hongminhee

I mentioned this thread in the tracking issue. I think there's a fundamental risk that C2S is going sideways because of misconceptions between devs on where things are / should be headed.

codeberg.org/fediverse/delight

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@hongminhee > Slapping an facade onto an existing Mastodon-like server and calling it C2S doesn't buy you much ...

The benefit of having a C2S adapter for Mastodon is that it provides a large user pool that could motivate developers to create C2S UIs rather than only supporting the Mastodon API. Having more server-independent client implementations may motivate devs to build general C2S servers with advanced features and eventually disrupt the Mastodon dominance in the Fedi.

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io · Reply to Maho 🦝🍻's post

Badges themselves are very simple files.

Often the badge information is encoded inside an image, usually a PNG.

So the image contains both:
• the visual badge
• the structured metadata describing the credential

One file, both human-friendly and machine-readable.

Other times these are simple json files.

--

Where things get interesting is with .

@badgefed uses ActivityPub as a transport layer for decentralization, and also as a way to add social features.

BadgeFed issues credentials, but it wraps the OpenBadge inside an ActivityPub Note.

The actor creating that note is the badge issuer. <-- important!

--

This is actually very similar to how a Mastodon post works when you post a image.

Imagine:

• the image = the badge
• the post = the description of the recognition

Once published, anyone in the can interact with it:
reply, comment, like, boost, quote, or follow (and block) the issuer.

Badges become social objects.

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

I think it's a good time to explain how we see @badgefed and @fediprofile, how they work together, and how can use and the .

Also how this can help communities outside the fediverse!

This is a quick overview of the architecture and ideas behind it. 🧵 1/

(thanks @johannab for the ask ...)

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

Some news from development. The latest release moves media processing to the device. Videos are transcoded locally before upload. Users can store media on their own S3 or WebDAV server, and the resulting URLs are used directly in activities. The relay server handles neither transcoding nor media storage. Each user brings their own resources to the .

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

1.0.0-rc-4 published!

Sync is now much faster thanks to Bloom filters. You can set a TTL on posts when composing or configure a default in settings.

If you have a WebDAV/S3 server, the app can upload media there and use public URLs in ActivityPub.

Videos can be compressed before upload. An experimental vertical video feed is available.

A new Discovery timeline lets you explore posts by tags and language.

More: codeberg.org/tom79/Holos-App/r

DL: holos.social/signup

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

🆕 blog! “Some updates to ActivityBot”

I couple of years ago, I developed ActivityBot - the simplest way to build Mastodon Bots. It is a single PHP file which can run an entire ActivityPub server and it is less than 80KB.

It works! You can follow @openbenches to see the latest entries on OpenBenches.org, and @colours for a …

👀 Read more: shkspr.mobi/blog/2026/03/some-

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

Markus Feilner's avatar
Markus Feilner

@mfeilner@mastodon.social

Hey who else is in beautiful this week? Love to meet you there! @FediVariety
@chillicampari @vn
fedivariety.org/unconference

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

New view:

socialhub.activitypub.rocks/t/

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»Openness, transparency and reach: three reasons why public institutions should embrace the Fediverse« blog.elenarossini.com/openness

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

New view:

socialhub.activitypub.rocks/t/

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

🆕 blog! “Some updates to ActivityBot”

I couple of years ago, I developed ActivityBot - the simplest way to build Mastodon Bots. It is a single PHP file which can run an entire ActivityPub server and it is less than 80KB.

It works! You can follow @openbenches to see the latest entries on OpenBenches.org, and @colours for a …

👀 Read more: shkspr.mobi/blog/2026/03/some-

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

New view:

socialhub.activitypub.rocks/t/

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»Openness, transparency and reach: three reasons why public institutions should embrace the Fediverse« blog.elenarossini.com/openness

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

I see the announcement by a commercial marketing agency of a venture capital based app store joining the fediverse.

Is the we have capable of avoiding as it grows and attracts an increasing number of corporations, who make it their market?

Is our landscape resistant to corporate capture and eventual takeover and domination? Just like the Corporate Web, also decentralized.

There are nice niches on the web, like a bloggosphere, bulletin boards, and news readers, that all still exist. But web as a whole is predominantly corporate, arguably not commons based, for the people by the people.

Social experience design defines "commons based" as "where people are in control of their future on a path of healthy evolution and natural growth". A core principle is being sustainable at all times, and timely acknowledge and mitigate risks.

Is fediverse commons based? Did we cocreate the Future of Social networking?

OptionVoters
Yes, we're decentralized, no one can hurt us20 (24%)
No, unless we carefully organize a good defense47 (57%)
No unless with drastic reorg of both social + tech11 (13%)
Other (please comment)4 (5%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

Nicolas Fressengeas's avatar
Nicolas Fressengeas

@fresseng@universites.social · Reply to 🫧 socialcoding..'s post

@smallcircles

I almost answered yes. No one can hurt us. This is the answer I feel good, but it needs to carefully take advantage of it. An example is Thread, which tried, or faked to try, to join the Fediverse. At least Meta tried to take advantage of it.

So yes, decentralisation is a strength. It will not do everything though.

fabio

@fabio@manganiello.eu · Reply to Richard MacManus's post

@ricmac #Madblog has native support for #Webmentions, and unlike #ActivityPub they’re enabled by default.

I’ve tried to make it as simple as possible and avoid manual callbacks or special tags for mentioned links.

You put a link in an article, and when you save it Webmentions are sent to supported targets. Someone mentions your article from a place that supports Webmentions, and the mention is stored on your blog.

badtuple's avatar
badtuple

@badtuple@mastodon.social

Hmm, has anyone made an compatible server for play-by-post RPGs? That way people can follow along if they want, people could run their own server if they wished, but mainly as an alternative to discord which is where so many modern pbp games are hosted.

badtuple's avatar
badtuple

@badtuple@mastodon.social

Hmm, has anyone made an compatible server for play-by-post RPGs? That way people can follow along if they want, people could run their own server if they wished, but mainly as an alternative to discord which is where so many modern pbp games are hosted.

badtuple's avatar
badtuple

@badtuple@mastodon.social

Hmm, has anyone made an compatible server for play-by-post RPGs? That way people can follow along if they want, people could run their own server if they wished, but mainly as an alternative to discord which is where so many modern pbp games are hosted.

fabio

@fabio@manganiello.eu · Reply to Richard MacManus's post

@ricmac #Madblog has native support for #Webmentions, and unlike #ActivityPub they’re enabled by default.

I’ve tried to make it as simple as possible and avoid manual callbacks or special tags for mentioned links.

You put a link in an article, and when you save it Webmentions are sent to supported targets. Someone mentions your article from a place that supports Webmentions, and the mention is stored on your blog.

Markus Feilner's avatar
Markus Feilner

@mfeilner@mastodon.social

Hey who else is in beautiful this week? Love to meet you there! @FediVariety
@chillicampari @vn
fedivariety.org/unconference

Ecologia Digital's avatar
Ecologia Digital

@josemurilo@mato.social

"If you want to be in the Fediverse without relying on big intances, or if you just want to own your & on the network, running your own instance is the way to go.
That is where Mastodon alternatives such as GoToSocial & comes in.
snac (Social Networks Are Crap) is a minimalistic, lightweight instance…perfect for single user instances or small communities, and it's so light that even a can handle it without breaking a sweat."
rochacbruno.com/deploy-your-ow

Ecologia Digital's avatar
Ecologia Digital

@josemurilo@mato.social

"If you want to be in the Fediverse without relying on big intances, or if you just want to own your & on the network, running your own instance is the way to go.
That is where Mastodon alternatives such as GoToSocial & comes in.
snac (Social Networks Are Crap) is a minimalistic, lightweight instance…perfect for single user instances or small communities, and it's so light that even a can handle it without breaking a sweat."
rochacbruno.com/deploy-your-ow

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

I think it's a good time to explain how we see @badgefed and @fediprofile, how they work together, and how can use and the .

Also how this can help communities outside the fediverse!

This is a quick overview of the architecture and ideas behind it. 🧵 1/

(thanks @johannab for the ask ...)

Markus Feilner's avatar
Markus Feilner

@mfeilner@mastodon.social

Hey who else is in beautiful this week? Love to meet you there! @FediVariety
@chillicampari @vn
fedivariety.org/unconference

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

I think it's a good time to explain how we see @badgefed and @fediprofile, how they work together, and how can use and the .

Also how this can help communities outside the fediverse!

This is a quick overview of the architecture and ideas behind it. 🧵 1/

(thanks @johannab for the ask ...)

Todd Sundsted's avatar
Todd Sundsted

@toddsundsted@epiktistes.com

I have started work on a Mastodon-compatible API layer intended to support the many Mastodon front-ends available. It is incomplete and requires an explicit build flag to enable, but what's there (the main timeline) already works with the official Mastodon app, Tusky, and Phanpy.

Here's the full changelog:

Fixed

  • Editor focus now stays in the editor after the first draft is saved. (fixes #139)
  • Filter settings instructions. (fixes #135)

Changed

  • Improved consistency of mini button colors.

As always, check out the full diff for the complete details.

Ecologia Digital's avatar
Ecologia Digital

@josemurilo@mato.social

"If you want to be in the Fediverse without relying on big intances, or if you just want to own your & on the network, running your own instance is the way to go.
That is where Mastodon alternatives such as GoToSocial & comes in.
snac (Social Networks Are Crap) is a minimalistic, lightweight instance…perfect for single user instances or small communities, and it's so light that even a can handle it without breaking a sweat."
rochacbruno.com/deploy-your-ow

Ecologia Digital's avatar
Ecologia Digital

@josemurilo@mato.social

"If you want to be in the Fediverse without relying on big intances, or if you just want to own your & on the network, running your own instance is the way to go.
That is where Mastodon alternatives such as GoToSocial & comes in.
snac (Social Networks Are Crap) is a minimalistic, lightweight instance…perfect for single user instances or small communities, and it's so light that even a can handle it without breaking a sweat."
rochacbruno.com/deploy-your-ow

Mastodon.world admins's avatar
Mastodon.world admins

@mwadmin@mastodon.world · Reply to Mastodon.world admins's post

The Fosdem talk about it: fosdem.org/2026/schedule/event

(3/3)

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io · Reply to Maho 🦝🍻's post

I’m also exploring ideas like:

• leaderboards
• activity points
• community challenges

Possibly as a component integrated with BadgeFed + Fediprofile, or maybe as a separate project.

Still experimenting.

--

In short:

BadgeFed issues decentralized recognitions.
Fediprofile helps people collect and display them.

Both use as the backbone.

(You can create your own badge wallet. You can create your own badge issuer. Just use activitypub and openbadges and they should connect).

Badges become portable, social, and decentralized.

And communities can build on top of that.

--

P.S. I decided to NEVER add a wallet into BadgeFed, keeping it simple and extensible by default. So Fediprofile is the default wallet. But anyone can build and use their own. No new specs, no new protocols.

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io · Reply to Maho 🦝🍻's post

Badges themselves are very simple files.

Often the badge information is encoded inside an image, usually a PNG.

So the image contains both:
• the visual badge
• the structured metadata describing the credential

One file, both human-friendly and machine-readable.

Other times these are simple json files.

--

Where things get interesting is with .

@badgefed uses ActivityPub as a transport layer for decentralization, and also as a way to add social features.

BadgeFed issues credentials, but it wraps the OpenBadge inside an ActivityPub Note.

The actor creating that note is the badge issuer. <-- important!

--

This is actually very similar to how a Mastodon post works when you post a image.

Imagine:

• the image = the badge
• the post = the description of the recognition

Once published, anyone in the can interact with it:
reply, comment, like, boost, quote, or follow (and block) the issuer.

Badges become social objects.

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

I think it's a good time to explain how we see @badgefed and @fediprofile, how they work together, and how can use and the .

Also how this can help communities outside the fediverse!

This is a quick overview of the architecture and ideas behind it. 🧵 1/

(thanks @johannab for the ask ...)

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

There is a BOF session today on Fediverse events. I think it would make a lot of sense to have a Task Force of the Social Web Community Group focused on the Event schema in .

fosdem.org/2026/schedule/event

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

Activitypub micropayments idea:
what if instead of some digital token like Taler or Monero, I send a digital “cheque” instead, which is a signed payment intent, signed with the other actor’s e.g. Liberapay pubkey.

At the end of the month, the other person can take all these micropayment cheques and prove to liberapay that other people owe them money, and everything is settled in one transaction.

Evan Prodromou's avatar
Evan Prodromou

@evan@cosocial.ca

There is a BOF session today on Fediverse events. I think it would make a lot of sense to have a Task Force of the Social Web Community Group focused on the Event schema in .

fosdem.org/2026/schedule/event

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to applepine's post

@applepine yes. I held this poll a couple days ago, with delightful results on the social experience of the current : Dispersed cozy villages with here and there a bustling city..

social.coop/@smallcircles/1161

That is a great outcome, and something to cherish and protect.

Currently I feel the slow growth of the fediverse is healthy and natural growth we can cope with. And being the lightning rod for corporate attention, borrows more time to mature and evolve.

The dynamics will totally change if the technology adoption lifecycle gets beyond early adopter phase, and 1,000's of commercial vendors start to launch products in this new market space that we, pioneers, made available to them.

The question is whether we can handle that. I think currently we cannot and we have to hand over fedi's fate to the market and hope for the best.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-13

Servers

- Sharkey v2025.4.6
- Gush! v0.0.32
- Wafrn v2026.03.01
- PeerTube v8.1.0
- Ktistec v3.3.3
- Stegodon v1.8.2
- Hollo v0.7.6
- ActivityPub for WordPress v8.0.1
- Misskey v2026.3.1
- tootik v0.21.2
- Vernissage Server v1.31.0
- NodeBB v4.9.2
- PieFed v1.6.12
- Trunk & Tidbits, February 2026 (Mastodon)
- Madblog: A Markdown Folder That Federates Everywhere

Clients

- Sengi v1.9.1
- Fedilab v3.37.0
- Aria v1.4.5
- ap, the ActivityPub API command-line client

Tools and Plugins

- slurp v1.1.0
- Owlbot: An Owncast chat bot with a modular event-driven architecture

For developers

- Pubby: A general-purpose Python library to add ActivityPub federation support to your website

Protocol

- FEP-0151: NodeInfo in Fediverse Software (2025 edition) (Finalized)

Articles

- Link Preview Manifest: A Proposal for the Fediverse
- FR#157 – Social Software Distribution

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019cc4d0-1232-6c08-970c-83c7f49e1a73

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

Tueddelmors :ubuntu:'s avatar
Tueddelmors :ubuntu:

@reeeen@norden.social

Guten Morgen! ☀️

Kleiner Fediverse-Funfact zum Kaffee: Wenn du jemandem auf Mastodon folgst, kommunizieren im Hintergrund zwei Server miteinander – wie zwei Nachbarn, die Briefe über den Zaun werfen. Kein Konzern in der Mitte, der mitliest, Werbung schaltet oder den Zaun plötzlich kostenpflichtig macht. 🧱📬

Dezentralisierung klingt tech-y, fühlt sich aber einfach nur... normal an.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Update: we've decided to go ahead and submit the CFP to @COSCUP 2026. The track will be called Fediverse & Social Web—think FOSDEM's Social Web devroom, but in Taipei. is free to attend, like FOSDEM.

If the track is accepted, would you be interested in coming to Taipei (Aug 8–9) to give a talk?

(Boosts appreciated!)

https://hollo.social/@hongminhee/019ca8b2-ecca-7150-a237-37f35de45401

OptionVoters
Yes, I'd like to speak2 (5%)
Maybe, tell me more5 (11%)
I can't make it, but I support this36 (82%)
Not interested1 (2%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

dansup's avatar
dansup

@dansup@mastodon.social

Starter Kit Federation is ready 🚀

This will be compatible with Mastodon Feature Collections.

Shipping soon!

cc @dave

Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
revstanton's avatar
revstanton

@revstanton@mastodon.social

When not in Denver, improve mobile UI/UX?

Southwest canceled my flight so I made Inkwell work on mobile. PWA with push notifications. App stores coming eventually.…

inkwell.social/stanton/when-no

S.H.'s avatar
S.H.

@S_H_@ruby.social

I’ve created Tsuzuri (綴り), a plaintext-only blogging system written in Ruby.
github.com/S-H-GAMELINKS/tsuzu

Tsuzuri supports the ActivityPub protocol, allowing you to publish blog posts directly to the Fediverse.

S.H.'s avatar
S.H.

@S_H_@ruby.social

I’ve created Tsuzuri (綴り), a plaintext-only blogging system written in Ruby.
github.com/S-H-GAMELINKS/tsuzu

Tsuzuri supports the ActivityPub protocol, allowing you to publish blog posts directly to the Fediverse.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-13

Servers

- Sharkey v2025.4.6
- Gush! v0.0.32
- Wafrn v2026.03.01
- PeerTube v8.1.0
- Ktistec v3.3.3
- Stegodon v1.8.2
- Hollo v0.7.6
- ActivityPub for WordPress v8.0.1
- Misskey v2026.3.1
- tootik v0.21.2
- Vernissage Server v1.31.0
- NodeBB v4.9.2
- PieFed v1.6.12
- Trunk & Tidbits, February 2026 (Mastodon)
- Madblog: A Markdown Folder That Federates Everywhere

Clients

- Sengi v1.9.1
- Fedilab v3.37.0
- Aria v1.4.5
- ap, the ActivityPub API command-line client

Tools and Plugins

- slurp v1.1.0
- Owlbot: An Owncast chat bot with a modular event-driven architecture

For developers

- Pubby: A general-purpose Python library to add ActivityPub federation support to your website

Protocol

- FEP-0151: NodeInfo in Fediverse Software (2025 edition) (Finalized)

Articles

- Link Preview Manifest: A Proposal for the Fediverse
- FR#157 – Social Software Distribution

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019cc4d0-1232-6c08-970c-83c7f49e1a73

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-13

Servers

- Sharkey v2025.4.6
- Gush! v0.0.32
- Wafrn v2026.03.01
- PeerTube v8.1.0
- Ktistec v3.3.3
- Stegodon v1.8.2
- Hollo v0.7.6
- ActivityPub for WordPress v8.0.1
- Misskey v2026.3.1
- tootik v0.21.2
- Vernissage Server v1.31.0
- NodeBB v4.9.2
- PieFed v1.6.12
- Trunk & Tidbits, February 2026 (Mastodon)
- Madblog: A Markdown Folder That Federates Everywhere

Clients

- Sengi v1.9.1
- Fedilab v3.37.0
- Aria v1.4.5
- ap, the ActivityPub API command-line client

Tools and Plugins

- slurp v1.1.0
- Owlbot: An Owncast chat bot with a modular event-driven architecture

For developers

- Pubby: A general-purpose Python library to add ActivityPub federation support to your website

Protocol

- FEP-0151: NodeInfo in Fediverse Software (2025 edition) (Finalized)

Articles

- Link Preview Manifest: A Proposal for the Fediverse
- FR#157 – Social Software Distribution

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019cc4d0-1232-6c08-970c-83c7f49e1a73

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-13

Servers

- Sharkey v2025.4.6
- Gush! v0.0.32
- Wafrn v2026.03.01
- PeerTube v8.1.0
- Ktistec v3.3.3
- Stegodon v1.8.2
- Hollo v0.7.6
- ActivityPub for WordPress v8.0.1
- Misskey v2026.3.1
- tootik v0.21.2
- Vernissage Server v1.31.0
- NodeBB v4.9.2
- PieFed v1.6.12
- Trunk & Tidbits, February 2026 (Mastodon)
- Madblog: A Markdown Folder That Federates Everywhere

Clients

- Sengi v1.9.1
- Fedilab v3.37.0
- Aria v1.4.5
- ap, the ActivityPub API command-line client

Tools and Plugins

- slurp v1.1.0
- Owlbot: An Owncast chat bot with a modular event-driven architecture

For developers

- Pubby: A general-purpose Python library to add ActivityPub federation support to your website

Protocol

- FEP-0151: NodeInfo in Fediverse Software (2025 edition) (Finalized)

Articles

- Link Preview Manifest: A Proposal for the Fediverse
- FR#157 – Social Software Distribution

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019cc4d0-1232-6c08-970c-83c7f49e1a73

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-13

Servers

- Sharkey v2025.4.6
- Gush! v0.0.32
- Wafrn v2026.03.01
- PeerTube v8.1.0
- Ktistec v3.3.3
- Stegodon v1.8.2
- Hollo v0.7.6
- ActivityPub for WordPress v8.0.1
- Misskey v2026.3.1
- tootik v0.21.2
- Vernissage Server v1.31.0
- NodeBB v4.9.2
- PieFed v1.6.12
- Trunk & Tidbits, February 2026 (Mastodon)
- Madblog: A Markdown Folder That Federates Everywhere

Clients

- Sengi v1.9.1
- Fedilab v3.37.0
- Aria v1.4.5
- ap, the ActivityPub API command-line client

Tools and Plugins

- slurp v1.1.0
- Owlbot: An Owncast chat bot with a modular event-driven architecture

For developers

- Pubby: A general-purpose Python library to add ActivityPub federation support to your website

Protocol

- FEP-0151: NodeInfo in Fediverse Software (2025 edition) (Finalized)

Articles

- Link Preview Manifest: A Proposal for the Fediverse
- FR#157 – Social Software Distribution

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019cc4d0-1232-6c08-970c-83c7f49e1a73

Yukari Hafner's avatar
Yukari Hafner

@shinmera@tymoon.eu

Okey, so, and knowers: is there an established procedure for changing your server's domain?

I understand this case is (unfortunately) not covered by the protocol, and thus is not doable optimally. I don't care about that, I just want to know the closest to optimal method.

Is there some way to set up another instance on the new domain and migrate all the data over? Make some kinda redirect before ultimately abandoning the old domain some years down the road?

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

Fediverse & AI Coding Tools & Vibe Coding

...

I noticed 2 or 3 people lately using AI coding tools to create Fediverse software.

2 of them even seemed to be Vibe Coding.

...

I have been programming for over 30 years. I am probably not going to Vibe Code, but —

I wonder if we should help them.

There are tools we (Fediverse developers) could create to make it so others could Vibe Code Fediverse apps.

OptionVoters
Yes, help them.64 (62%)
No! (explain why in comments)40 (38%)
Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

In the , most software is built around a specific platform model. One for microblogging, one for video, one for photos... and new ones will keep coming.
With , your phone runs your own server. You control your data and can use your own domain as your identity.
Built on the protocol, not a platform model, Holos is not limited to a single use case. One account that adapts to your needs.
That's where we're heading, and we hope for your support.

Michael Newton's avatar
Michael Newton

@mavnn@bonfire.mavnn.eu · Reply to Michael Newton's post

This feels a bit similar to the mini #activitypub servers I've seen @Edent@mastodon.social and @evan@prodromou.pub talk about, but if I've understood those projects correctly not quite the same thing.

Michael Newton's avatar
Michael Newton

@mavnn@bonfire.mavnn.eu

Before I get sucked into writing my own... is there a light weight 'turn this site into an #activitypub' project out there already? Basically, add it to a static site and it treats all urls from that site (except the activity pub end points) as articles written by a user called @site@example.com or something similar. Bonus points for a little embed script that displays replies to the pages on the pages.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

Here is the new feature that allows you to save your media in your own cloud, giving you more sovereignty over your data. Your media stays available even when your device is offline.

Settings screen where users choose between relay or cloud storage for media, configure S3 URL signing, select video compression quality, and manage their S3 or WebDAV connection.
ALT text detailsSettings screen where users choose between relay or cloud storage for media, configure S3 URL signing, select video compression quality, and manage their S3 or WebDAV connection.
dansup's avatar
dansup

@dansup@mastodon.social

I've been meaning to finish my ActivityPub guide since I started the first draft back in June 2018.

Yeah, I got a bit busy with Pixelfed and my other projects, but I have been working on it periodically since then.

I really do think we have the advantage in many respects, and now we have fully featured AP SDKs like @fedify, now more than ever we need better dev resources and guides.

Can't wait to ship this!

ActivityPub.social preview, Understanding the Protocol guide
ALT text detailsActivityPub.social preview, Understanding the Protocol guide
dansup's avatar
dansup

@dansup@mastodon.social

I've been meaning to finish my ActivityPub guide since I started the first draft back in June 2018.

Yeah, I got a bit busy with Pixelfed and my other projects, but I have been working on it periodically since then.

I really do think we have the advantage in many respects, and now we have fully featured AP SDKs like @fedify, now more than ever we need better dev resources and guides.

Can't wait to ship this!

ActivityPub.social preview, Understanding the Protocol guide
ALT text detailsActivityPub.social preview, Understanding the Protocol guide
dansup's avatar
dansup

@dansup@mastodon.social

I've been meaning to finish my ActivityPub guide since I started the first draft back in June 2018.

Yeah, I got a bit busy with Pixelfed and my other projects, but I have been working on it periodically since then.

I really do think we have the advantage in many respects, and now we have fully featured AP SDKs like @fedify, now more than ever we need better dev resources and guides.

Can't wait to ship this!

ActivityPub.social preview, Understanding the Protocol guide
ALT text detailsActivityPub.social preview, Understanding the Protocol guide
Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

RE: fosstodon.org/@altstore/116211

Amazing news from our friends at @altstore! Keep an eye out for @rileytestut and @shanegillio's chat with @mike on the Dot Social podcast, coming soon!

AltStore's avatar
AltStore

@altstore@fosstodon.org

RE: explore.alt.store/@altstore/11

The wait is over! Today we’re officially joining the fediverse 🚀

AltStore PAL 2.3 is now available and makes it easier than ever to discover new apps from across the social web 🌐

Even better — we’re also launching some awesome fediverse apps on AltStore to celebrate!

Learn more 🧵

Promo image reading "AltStore joins the fediverse" with app icons for iPhanpy, Loops, and PeerTube, and a screenshot of likes on the Delta app in AltStore PAL.
ALT text detailsPromo image reading "AltStore joins the fediverse" with app icons for iPhanpy, Loops, and PeerTube, and a screenshot of likes on the Delta app in AltStore PAL.
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to applepine's post

@applepine yes. I held this poll a couple days ago, with delightful results on the social experience of the current : Dispersed cozy villages with here and there a bustling city..

social.coop/@smallcircles/1161

That is a great outcome, and something to cherish and protect.

Currently I feel the slow growth of the fediverse is healthy and natural growth we can cope with. And being the lightning rod for corporate attention, borrows more time to mature and evolve.

The dynamics will totally change if the technology adoption lifecycle gets beyond early adopter phase, and 1,000's of commercial vendors start to launch products in this new market space that we, pioneers, made available to them.

The question is whether we can handle that. I think currently we cannot and we have to hand over fedi's fate to the market and hope for the best.

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

Once again, I humbly come to you to ask: do you know of any bloggers that write regularly about the #Fediverse, #ActivityPub, #ATproto, or anything of that nature?

As the network grows, it feels like it’s harder and harder to find individual voices and perspectives. If you’re writing stuff about the network, its evolution, the culture, and the people on it, I’m interested in following you.

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

Once again, I humbly come to you to ask: do you know of any bloggers that write regularly about the #Fediverse, #ActivityPub, #ATproto, or anything of that nature?

As the network grows, it feels like it’s harder and harder to find individual voices and perspectives. If you’re writing stuff about the network, its evolution, the culture, and the people on it, I’m interested in following you.

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

RE: example.viii.fi/posts/69b029a4

OK! Editing posts now works.

A fully complete server in under 80KB of code.

gitlab.com/edent/activity-bot/

I think supporting polls will be too hard, so I'm declaring this feature complete (although not bug free) for now.

If you have any suggestions for how to improve it - let me know 🙂

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

RE: example.viii.fi/posts/69b029a4

OK! Editing posts now works.

A fully complete server in under 80KB of code.

gitlab.com/edent/activity-bot/

I think supporting polls will be too hard, so I'm declaring this feature complete (although not bug free) for now.

If you have any suggestions for how to improve it - let me know 🙂

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social · Reply to Terence Eden's post

Three different spec guides - three different answers!

FEP-7628 says a Move has an ID, To, & CC.
codeberg.org/fediverse/fep/src

SocialDocs says just an ID, no To nor CC.
socialdocs.org/docs/guides/acc

SWICG says no ID, nor To, nor CC.
swicg.github.io/activitypub-da

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

A question about account migration.

Is it possible to use it to combine multiple accounts into one?

That is, can I `movedTo` all my old accounts to one new account, and set *several* `alsoKnownAs` on my new account's actor?

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

I've been thinking about adding federation health monitoring to —not as a separate data store or custom API, but by extending the existing integration. The idea is to expose delivery outcomes, signature verification failures, and per-remote-host error rates as OpenTelemetry metrics alongside the spans Fedify already emits. If you already have a Prometheus or Grafana setup, you'd get federation observability basically for free. Circuit breaker behavior (temporarily skipping a remote server that's been consistently unreachable) could surface as OpenTelemetry events, keeping everything in the same trace context rather than scattered across separate logs.

Does this sound useful to you? I'm curious whether people building on Fedify—or running federated servers in general—would actually reach for this, and what kinds of things you'd most want to observe. Happy to hear any thoughts.

Tom Casavant's avatar
Tom Casavant

@tom@tomkahe.com

We're really out here federating everything now

Photo on a new york highway of a truck that says "Federated auto parts. When time counts... count on federated"
ALT text detailsPhoto on a new york highway of a truck that says "Federated auto parts. When time counts... count on federated"
Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

I've been thinking about adding federation health monitoring to —not as a separate data store or custom API, but by extending the existing integration. The idea is to expose delivery outcomes, signature verification failures, and per-remote-host error rates as OpenTelemetry metrics alongside the spans Fedify already emits. If you already have a Prometheus or Grafana setup, you'd get federation observability basically for free. Circuit breaker behavior (temporarily skipping a remote server that's been consistently unreachable) could surface as OpenTelemetry events, keeping everything in the same trace context rather than scattered across separate logs.

Does this sound useful to you? I'm curious whether people building on Fedify—or running federated servers in general—would actually reach for this, and what kinds of things you'd most want to observe. Happy to hear any thoughts.

occult's avatar
occult

@occult@ominous.net · Reply to occult's post

When someone asks me what the , or is I'll use this illustration from UNIX Review, April 1985.

Illustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
ALT text detailsIllustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

RE: w3c.social/@w3c/11621607036256

FWIW, I have been storing Linked Data (including ActivityPub) in an INI like format — because I find INI-like formats more human-friendly (to both read and write) than JSON.

YAML is probably better than JSON, too, in that respects. But I think INI-like formats are better than YAML.

World Wide Web Consortium's avatar
World Wide Web Consortium

@w3c@w3c.social

The JSON-LD Working Group published today a First Public Working Draft of YAML-LD 1.0. [JSON-LD11] is a JSON-based format to serialize Linked Data. In recent years, [YAML] has emerged as a more concise format to represent information that had previously been serialized as [JSON], including API specifications, data schemas, and Linked Data.


w3.org/news/2026/first-public-


Example 3: Basic YAML-LD document
"@context": https://schema.org
"@id": https://w3.org/yaml-ld/
"@type": WebContent
name: YAML-LD
author:
  "@id": https://www.w3.org/community/json-ld
  name: JSON-LD Community Group
ALT text details Example 3: Basic YAML-LD document "@context": https://schema.org "@id": https://w3.org/yaml-ld/ "@type": WebContent name: YAML-LD author: "@id": https://www.w3.org/community/json-ld name: JSON-LD Community Group
revstanton's avatar
revstanton

@revstanton@mastodon.social

I have recently created and launched a new platform called Inkwell. It's designed to integrate with ActivityPub, using open-source code available on my GitHub. There is a lot of work to do, but I'm excited, as I loved online journaling as a kid. Now, having a space I can create as my own (with community feedback) is a dream come true. Here's hoping to others join us on Inkwell and become Pen Pals!

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

RE: w3c.social/@w3c/11621607036256

FWIW, I have been storing Linked Data (including ActivityPub) in an INI like format — because I find INI-like formats more human-friendly (to both read and write) than JSON.

YAML is probably better than JSON, too, in that respects. But I think INI-like formats are better than YAML.

World Wide Web Consortium's avatar
World Wide Web Consortium

@w3c@w3c.social

The JSON-LD Working Group published today a First Public Working Draft of YAML-LD 1.0. [JSON-LD11] is a JSON-based format to serialize Linked Data. In recent years, [YAML] has emerged as a more concise format to represent information that had previously been serialized as [JSON], including API specifications, data schemas, and Linked Data.


w3.org/news/2026/first-public-


Example 3: Basic YAML-LD document
"@context": https://schema.org
"@id": https://w3.org/yaml-ld/
"@type": WebContent
name: YAML-LD
author:
  "@id": https://www.w3.org/community/json-ld
  name: JSON-LD Community Group
ALT text details Example 3: Basic YAML-LD document "@context": https://schema.org "@id": https://w3.org/yaml-ld/ "@type": WebContent name: YAML-LD author: "@id": https://www.w3.org/community/json-ld name: JSON-LD Community Group
Terence Eden's avatar
Terence Eden

@Edent@mastodon.social · Reply to Terence Eden's post

Three different spec guides - three different answers!

FEP-7628 says a Move has an ID, To, & CC.
codeberg.org/fediverse/fep/src

SocialDocs says just an ID, no To nor CC.
socialdocs.org/docs/guides/acc

SWICG says no ID, nor To, nor CC.
swicg.github.io/activitypub-da

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

A question about account migration.

Is it possible to use it to combine multiple accounts into one?

That is, can I `movedTo` all my old accounts to one new account, and set *several* `alsoKnownAs` on my new account's actor?

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

A question about account migration.

Is it possible to use it to combine multiple accounts into one?

That is, can I `movedTo` all my old accounts to one new account, and set *several* `alsoKnownAs` on my new account's actor?

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

A question about account migration.

Is it possible to use it to combine multiple accounts into one?

That is, can I `movedTo` all my old accounts to one new account, and set *several* `alsoKnownAs` on my new account's actor?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

I see the announcement by a commercial marketing agency of a venture capital based app store joining the fediverse.

Is the we have capable of avoiding as it grows and attracts an increasing number of corporations, who make it their market?

Is our landscape resistant to corporate capture and eventual takeover and domination? Just like the Corporate Web, also decentralized.

There are nice niches on the web, like a bloggosphere, bulletin boards, and news readers, that all still exist. But web as a whole is predominantly corporate, arguably not commons based, for the people by the people.

Social experience design defines "commons based" as "where people are in control of their future on a path of healthy evolution and natural growth". A core principle is being sustainable at all times, and timely acknowledge and mitigate risks.

Is fediverse commons based? Did we cocreate the Future of Social networking?

OptionVoters
Yes, we're decentralized, no one can hurt us20 (24%)
No, unless we carefully organize a good defense47 (57%)
No unless with drastic reorg of both social + tech11 (13%)
Other (please comment)4 (5%)
Thai Noodles's avatar
Thai Noodles

@iiogama@0x212.com

I'm reading that it is a bad idea to switch ActivityPub server software on the same domain, it messes up syncing between servers. Is it still a bad idea if there is no intention to maintain followers or posts?

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

, an alternative , has integrated with the , becoming the first .

🔔 can now communicate app updates and news through AltStore PAL’s server, allowing users across the open social web to interact with these posts.

👉 techcrunch.com/2026/03/11/alte

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

, an alternative , has integrated with the , becoming the first .

🔔 can now communicate app updates and news through AltStore PAL’s server, allowing users across the open social web to interact with these posts.

👉 techcrunch.com/2026/03/11/alte

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

Thai Noodles's avatar
Thai Noodles

@iiogama@0x212.com

I'm reading that it is a bad idea to switch ActivityPub server software on the same domain, it messes up syncing between servers. Is it still a bad idea if there is no intention to maintain followers or posts?

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

RE: fosstodon.org/@altstore/116211

Amazing news from our friends at @altstore! Keep an eye out for @rileytestut and @shanegillio's chat with @mike on the Dot Social podcast, coming soon!

AltStore's avatar
AltStore

@altstore@fosstodon.org

RE: explore.alt.store/@altstore/11

The wait is over! Today we’re officially joining the fediverse 🚀

AltStore PAL 2.3 is now available and makes it easier than ever to discover new apps from across the social web 🌐

Even better — we’re also launching some awesome fediverse apps on AltStore to celebrate!

Learn more 🧵

Promo image reading "AltStore joins the fediverse" with app icons for iPhanpy, Loops, and PeerTube, and a screenshot of likes on the Delta app in AltStore PAL.
ALT text detailsPromo image reading "AltStore joins the fediverse" with app icons for iPhanpy, Loops, and PeerTube, and a screenshot of likes on the Delta app in AltStore PAL.
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

mastodon.raddemo.host's avatar
mastodon.raddemo.host

@admin@mastodon.raddemo.host

How to Host Your Own Server on a (5 Minute Quick-Start Guide)

This article provides a guide for how to host your own Mastodon server on a VPS.

Running your own Mastodon server on a VPS is an excellent way to enjoy an efficient and secure Mastodon experience.
What is Mastodon?
Mastodon is a social media platform that enables users to post ...
Continued 👉 blog.radwebhosting.com/how-to-

mastodon.raddemo.host's avatar
mastodon.raddemo.host

@admin@mastodon.raddemo.host

How to Host Your Own Server on a (5 Minute Quick-Start Guide)

This article provides a guide for how to host your own Mastodon server on a VPS.

Running your own Mastodon server on a VPS is an excellent way to enjoy an efficient and secure Mastodon experience.
What is Mastodon?
Mastodon is a social media platform that enables users to post ...
Continued 👉 blog.radwebhosting.com/how-to-

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

RE: fosstodon.org/@altstore/116211

Amazing news from our friends at @altstore! Keep an eye out for @rileytestut and @shanegillio's chat with @mike on the Dot Social podcast, coming soon!

AltStore's avatar
AltStore

@altstore@fosstodon.org

RE: explore.alt.store/@altstore/11

The wait is over! Today we’re officially joining the fediverse 🚀

AltStore PAL 2.3 is now available and makes it easier than ever to discover new apps from across the social web 🌐

Even better — we’re also launching some awesome fediverse apps on AltStore to celebrate!

Learn more 🧵

Promo image reading "AltStore joins the fediverse" with app icons for iPhanpy, Loops, and PeerTube, and a screenshot of likes on the Delta app in AltStore PAL.
ALT text detailsPromo image reading "AltStore joins the fediverse" with app icons for iPhanpy, Loops, and PeerTube, and a screenshot of likes on the Delta app in AltStore PAL.
Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

I've been thinking about adding federation health monitoring to —not as a separate data store or custom API, but by extending the existing integration. The idea is to expose delivery outcomes, signature verification failures, and per-remote-host error rates as OpenTelemetry metrics alongside the spans Fedify already emits. If you already have a Prometheus or Grafana setup, you'd get federation observability basically for free. Circuit breaker behavior (temporarily skipping a remote server that's been consistently unreachable) could surface as OpenTelemetry events, keeping everything in the same trace context rather than scattered across separate logs.

Does this sound useful to you? I'm curious whether people building on Fedify—or running federated servers in general—would actually reach for this, and what kinds of things you'd most want to observe. Happy to hear any thoughts.

Todd Sundsted's avatar
Todd Sundsted

@toddsundsted@epiktistes.com

I have started work on a Mastodon-compatible API layer intended to support the many Mastodon front-ends available. It is incomplete and requires an explicit build flag to enable, but what's there (the main timeline) already works with the official Mastodon app, Tusky, and Phanpy.

Here's the full changelog:

Fixed

  • Editor focus now stays in the editor after the first draft is saved. (fixes #139)
  • Filter settings instructions. (fixes #135)

Changed

  • Improved consistency of mini button colors.

As always, check out the full diff for the complete details.

Todd Sundsted's avatar
Todd Sundsted

@toddsundsted@epiktistes.com

I have started work on a Mastodon-compatible API layer intended to support the many Mastodon front-ends available. It is incomplete and requires an explicit build flag to enable, but what's there (the main timeline) already works with the official Mastodon app, Tusky, and Phanpy.

Here's the full changelog:

Fixed

  • Editor focus now stays in the editor after the first draft is saved. (fixes #139)
  • Filter settings instructions. (fixes #135)

Changed

  • Improved consistency of mini button colors.

As always, check out the full diff for the complete details.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

I've been thinking about adding federation health monitoring to —not as a separate data store or custom API, but by extending the existing integration. The idea is to expose delivery outcomes, signature verification failures, and per-remote-host error rates as OpenTelemetry metrics alongside the spans Fedify already emits. If you already have a Prometheus or Grafana setup, you'd get federation observability basically for free. Circuit breaker behavior (temporarily skipping a remote server that's been consistently unreachable) could surface as OpenTelemetry events, keeping everything in the same trace context rather than scattered across separate logs.

Does this sound useful to you? I'm curious whether people building on Fedify—or running federated servers in general—would actually reach for this, and what kinds of things you'd most want to observe. Happy to hear any thoughts.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been thinking about adding federation health monitoring to —not as a separate data store or custom API, but by extending the existing integration. The idea is to expose delivery outcomes, signature verification failures, and per-remote-host error rates as OpenTelemetry metrics alongside the spans Fedify already emits. If you already have a Prometheus or Grafana setup, you'd get federation observability basically for free. Circuit breaker behavior (temporarily skipping a remote server that's been consistently unreachable) could surface as OpenTelemetry events, keeping everything in the same trace context rather than scattered across separate logs.

Does this sound useful to you? I'm curious whether people building on Fedify—or running federated servers in general—would actually reach for this, and what kinds of things you'd most want to observe. Happy to hear any thoughts.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been thinking about adding federation health monitoring to —not as a separate data store or custom API, but by extending the existing integration. The idea is to expose delivery outcomes, signature verification failures, and per-remote-host error rates as OpenTelemetry metrics alongside the spans Fedify already emits. If you already have a Prometheus or Grafana setup, you'd get federation observability basically for free. Circuit breaker behavior (temporarily skipping a remote server that's been consistently unreachable) could surface as OpenTelemetry events, keeping everything in the same trace context rather than scattered across separate logs.

Does this sound useful to you? I'm curious whether people building on Fedify—or running federated servers in general—would actually reach for this, and what kinds of things you'd most want to observe. Happy to hear any thoughts.

Todd Sundsted's avatar
Todd Sundsted

@toddsundsted@epiktistes.com

I have started work on a Mastodon-compatible API layer intended to support the many Mastodon front-ends available. It is incomplete and requires an explicit build flag to enable, but what's there (the main timeline) already works with the official Mastodon app, Tusky, and Phanpy.

Here's the full changelog:

Fixed

  • Editor focus now stays in the editor after the first draft is saved. (fixes #139)
  • Filter settings instructions. (fixes #135)

Changed

  • Improved consistency of mini button colors.

As always, check out the full diff for the complete details.

fabio

@fabio@manganiello.eu

#ActivityPub support in #Madblog

https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown

I am glad to announce that Madblog has now officially joined the #Fediverse family.

If you want to test it out, search for this URL on your Fediverse client.

Madblog has already supported #Webmentions for the past couple of weeks, allowing your blog posts to be mentioned by other sites with Webmentions support (WordPress, Lemmy, HackerNews…) and get those mentions directly rendered on your page.

It now adds ActivityPub support too, using #Pubby, another little Python library that I’ve put together myself (just like Webmentions) as a mean to quickly plug ActivityPub support to any Python Web app.

Webmentions and Pubby follow similar principles and implement a similar API, and you can easily use them to add federation support to your existing Web applications - a single bind_webmentions or bind_activitypub call to your existing Flask/FastAPI/Tornado application should suffice for most of the cases.

Madblog may have now become the easiest way to publish a federated blog - and perhaps the only way that doesn’t require a database, everything is based on plain Markdown files.

If you have a registered domain and a certificate, then hosting your federated blog is now just a matter of:

mkdir -p ~/madblog/markdown
cat <<EOF > ~/madblog/markdown/hello-world.md
# My first post

This is my first post on [Madblog](https://git.fabiomanganiello.com/madblog)!
EOF

docker run -it \
  -p 8000:8000 \
  -v "$HOME/madblog:/data" \
  quay.io/blacklight/madblog

And Markdown files can be hosted wherever you like - a Git folder, an Obsidian Vault, a Nextcloud Notes installation, a folder on your phone synchronized over SyncThing…

Federation support is also at a quite advanced state compared to e.g. #WriteFreely. It currently supports:

  • Interactions rendered on the articles: if you like, boost, quote or reply to an article, all interactions are rendered directly at the bottom of the article (interactions with WriteFreely through federated accounts were kind of lost in the void instead)

  • Guestbook support (optional): mentions to the federated Madblog handle that are not in response to articles are now rendered on a separate /guestbook route

  • Email notifications: all interactions can have email notifications

  • Support for quotes, also on Mastodon

  • Support for mentions, just drop a @joe@example.com in your Markdown file and Joe will get a notification

  • Support for hashtag federation

  • Support for split-domain configurations, you can host your blog on blog.example.com but have a Fediverse handle like @blog@example.com. Search by direct post URL on Mastodon will work with both cases

  • Support for custom profile fields, all rendered on Mastodon, with verification support

  • Support for moderation, either through blocklist or allowlist, with support for rules on handles/usernames, URLs, domains or regular expressions

  • A partial (but comprehensive for the provided features) implementation of the Mastodon API

If you want you can follow both the profiles of my blogs - they are now both federated:

  • My personal blog: @fabio (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it)

  • The #Platypush blog: @blog

fabio

@fabio@manganiello.eu

#ActivityPub support in #Madblog

https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown

I am glad to announce that Madblog has now officially joined the #Fediverse family.

If you want to test it out, search for this URL on your Fediverse client.

Madblog has already supported #Webmentions for the past couple of weeks, allowing your blog posts to be mentioned by other sites with Webmentions support (WordPress, Lemmy, HackerNews…) and get those mentions directly rendered on your page.

It now adds ActivityPub support too, using #Pubby, another little Python library that I’ve put together myself (just like Webmentions) as a mean to quickly plug ActivityPub support to any Python Web app.

Webmentions and Pubby follow similar principles and implement a similar API, and you can easily use them to add federation support to your existing Web applications - a single bind_webmentions or bind_activitypub call to your existing Flask/FastAPI/Tornado application should suffice for most of the cases.

Madblog may have now become the easiest way to publish a federated blog - and perhaps the only way that doesn’t require a database, everything is based on plain Markdown files.

If you have a registered domain and a certificate, then hosting your federated blog is now just a matter of:

mkdir -p ~/madblog/markdown
cat <<EOF > ~/madblog/markdown/hello-world.md
# My first post

This is my first post on [Madblog](https://git.fabiomanganiello.com/madblog)!
EOF

docker run -it \
  -p 8000:8000 \
  -v "$HOME/madblog:/data" \
  quay.io/blacklight/madblog

And Markdown files can be hosted wherever you like - a Git folder, an Obsidian Vault, a Nextcloud Notes installation, a folder on your phone synchronized over SyncThing…

Federation support is also at a quite advanced state compared to e.g. #WriteFreely. It currently supports:

  • Interactions rendered on the articles: if you like, boost, quote or reply to an article, all interactions are rendered directly at the bottom of the article (interactions with WriteFreely through federated accounts were kind of lost in the void instead)

  • Guestbook support (optional): mentions to the federated Madblog handle that are not in response to articles are now rendered on a separate /guestbook route

  • Email notifications: all interactions can have email notifications

  • Support for quotes, also on Mastodon

  • Support for mentions, just drop a @joe@example.com in your Markdown file and Joe will get a notification

  • Support for hashtag federation

  • Support for split-domain configurations, you can host your blog on blog.example.com but have a Fediverse handle like @blog@example.com. Search by direct post URL on Mastodon will work with both cases

  • Support for custom profile fields, all rendered on Mastodon, with verification support

  • Support for moderation, either through blocklist or allowlist, with support for rules on handles/usernames, URLs, domains or regular expressions

  • A partial (but comprehensive for the provided features) implementation of the Mastodon API

If you want you can follow both the profiles of my blogs - they are now both federated:

  • My personal blog: @fabio (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it)

  • The #Platypush blog: @blog

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@django @liaizon @voboda

When looking through the lens of Social experience design we can say that the fediverse-we-have and the social network promise in the W3C specs, have become diverged to the extent they are hard forks.

A solution is said to exist as soon as you can write it down on a sticky note in the form of a vision, need, objective, or solution.

The AS/AP fediverse sticky note reads: "The future of social networking is decentralized".

The fediverse-we-have note reads: "Decentralized microblogging"

Besides that both sticky notes express a tech focus, exist in the technosphere not sociosphere, they express no vision.. A place where we want to be, and why. There is complete misconception both on technical, let alone social direction, and that leads to endless confusion and again those mismatched expectations.

App devs now try to hammer their apps onto "Decentralized microblogging" in hopes "future of social networking" somehow emerges. That is unlikely.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@hongminhee @COSCUP

As you know I am proponent to emphasize the social aspects more, to drive healthy evolution of the .

The app-centric is a pure technosphere, where a tech-first approach deals with getting app features to the next app, and the protocol matures via post-facto 'follow-the-leader' . What happens in the sociosphere between people using the tech is de-facto of secondary concern, and apps are tweaked to try to deal with externalities. The resulting social landscape has become one of neighboring app kingdoms with guarded borders separating them. Everyone speaks microblog to each other, albeit with thick accents, hard to understand. The fediverse is social *because* of the people, and despite of the tech, that still severely restrains them.

It would be nice if the track name not just indicated a technology name. E.g. coding.social uses:

- Fediverse, a peopleverse
-
-

occult's avatar
occult

@occult@ominous.net · Reply to occult's post

When someone asks me what the , or is I'll use this illustration from UNIX Review, April 1985.

Illustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
ALT text detailsIllustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
dansup's avatar
dansup

@dansup@mastodon.social

Starter Kit Federation is ready 🚀

This will be compatible with Mastodon Feature Collections.

Shipping soon!

cc @dave

Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
dansup's avatar
dansup

@dansup@mastodon.social

Imagine being able to curate lists of accounts by topics, allowing others to easily follow them after they consented to be included.

Meet Starter Kits.

Consent driven discovery that federates across servers and software.

With a rich browsing experience so you can explore kits without an account.

Shipping Soon 🚀

Loops Starter Kits Browse
ALT text detailsLoops Starter Kits Browse
Loops Starter Kits Kit page
ALT text detailsLoops Starter Kits Kit page
Loops Starter Kits Kit page federation modal
ALT text detailsLoops Starter Kits Kit page federation modal
fabio

@fabio@manganiello.eu

#ActivityPub support in #Madblog

https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown

I am glad to announce that Madblog has now officially joined the #Fediverse family.

If you want to test it out, search for this URL on your Fediverse client.

Madblog has already supported #Webmentions for the past couple of weeks, allowing your blog posts to be mentioned by other sites with Webmentions support (WordPress, Lemmy, HackerNews…) and get those mentions directly rendered on your page.

It now adds ActivityPub support too, using #Pubby, another little Python library that I’ve put together myself (just like Webmentions) as a mean to quickly plug ActivityPub support to any Python Web app.

Webmentions and Pubby follow similar principles and implement a similar API, and you can easily use them to add federation support to your existing Web applications - a single bind_webmentions or bind_activitypub call to your existing Flask/FastAPI/Tornado application should suffice for most of the cases.

Madblog may have now become the easiest way to publish a federated blog - and perhaps the only way that doesn’t require a database, everything is based on plain Markdown files.

If you have a registered domain and a certificate, then hosting your federated blog is now just a matter of:

mkdir -p ~/madblog/markdown
cat <<EOF > ~/madblog/markdown/hello-world.md
# My first post

This is my first post on [Madblog](https://git.fabiomanganiello.com/madblog)!
EOF

docker run -it \
  -p 8000:8000 \
  -v "$HOME/madblog:/data" \
  quay.io/blacklight/madblog

And Markdown files can be hosted wherever you like - a Git folder, an Obsidian Vault, a Nextcloud Notes installation, a folder on your phone synchronized over SyncThing…

Federation support is also at a quite advanced state compared to e.g. #WriteFreely. It currently supports:

  • Interactions rendered on the articles: if you like, boost, quote or reply to an article, all interactions are rendered directly at the bottom of the article (interactions with WriteFreely through federated accounts were kind of lost in the void instead)

  • Guestbook support (optional): mentions to the federated Madblog handle that are not in response to articles are now rendered on a separate /guestbook route

  • Email notifications: all interactions can have email notifications

  • Support for quotes, also on Mastodon

  • Support for mentions, just drop a @joe@example.com in your Markdown file and Joe will get a notification

  • Support for hashtag federation

  • Support for split-domain configurations, you can host your blog on blog.example.com but have a Fediverse handle like @blog@example.com. Search by direct post URL on Mastodon will work with both cases

  • Support for custom profile fields, all rendered on Mastodon, with verification support

  • Support for moderation, either through blocklist or allowlist, with support for rules on handles/usernames, URLs, domains or regular expressions

  • A partial (but comprehensive for the provided features) implementation of the Mastodon API

If you want you can follow both the profiles of my blogs - they are now both federated:

  • My personal blog: @fabio (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it)

  • The #Platypush blog: @blog

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

RE: example.viii.fi/posts/69b029a4

OK! Editing posts now works.

A fully complete server in under 80KB of code.

gitlab.com/edent/activity-bot/

I think supporting polls will be too hard, so I'm declaring this feature complete (although not bug free) for now.

If you have any suggestions for how to improve it - let me know 🙂

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

RE: example.viii.fi/posts/69b029a4

OK! Editing posts now works.

A fully complete server in under 80KB of code.

gitlab.com/edent/activity-bot/

I think supporting polls will be too hard, so I'm declaring this feature complete (although not bug free) for now.

If you have any suggestions for how to improve it - let me know 🙂

Capricious Day's avatar
Capricious Day

@capriciousday@mastodon.social

Are there any activitypub implementations which encrypt the contents of messages and only allow federated instances a key to decrypt it or a similar privacy mechanism?

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

RE: example.viii.fi/posts/69b029a4

OK! Editing posts now works.

A fully complete server in under 80KB of code.

gitlab.com/edent/activity-bot/

I think supporting polls will be too hard, so I'm declaring this feature complete (although not bug free) for now.

If you have any suggestions for how to improve it - let me know 🙂

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

RE: example.viii.fi/posts/69b029a4

OK! Editing posts now works.

A fully complete server in under 80KB of code.

gitlab.com/edent/activity-bot/

I think supporting polls will be too hard, so I'm declaring this feature complete (although not bug free) for now.

If you have any suggestions for how to improve it - let me know 🙂

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

RE: example.viii.fi/posts/69b029a4

OK! Editing posts now works.

A fully complete server in under 80KB of code.

gitlab.com/edent/activity-bot/

I think supporting polls will be too hard, so I'm declaring this feature complete (although not bug free) for now.

If you have any suggestions for how to improve it - let me know 🙂

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

RE: example.viii.fi/posts/69b029a4

OK! Editing posts now works.

A fully complete server in under 80KB of code.

gitlab.com/edent/activity-bot/

I think supporting polls will be too hard, so I'm declaring this feature complete (although not bug free) for now.

If you have any suggestions for how to improve it - let me know 🙂

dansup's avatar
dansup

@dansup@mastodon.social

Starter Kit Federation is ready 🚀

This will be compatible with Mastodon Feature Collections.

Shipping soon!

cc @dave

Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
dansup's avatar
dansup

@dansup@mastodon.social

Starter Kit Federation is ready 🚀

This will be compatible with Mastodon Feature Collections.

Shipping soon!

cc @dave

Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
Loops Starter Kit Federation
ALT text detailsLoops Starter Kit Federation
Joseph Szymborski :qcca:'s avatar
Joseph Szymborski :qcca:

@jszym@cosocial.ca

Oooo, this library looks like exactly what I've been praying for for ages!

git.fabiomanganiello.com/pubby

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Today @kopper shared a post on the fediverse titled how to not regret c2s, and I found it genuinely interesting to read, even if I'm not sure its proposed architecture actually solves what it sets out to solve.

The author's frustration with naïve implementations is well-founded. Slapping an facade onto an existing Mastodon-like server and calling it C2S doesn't buy you much—you end up with the rigidity of a bespoke API without any of the interoperability C2S is supposed to offer. The “JSON-LD flavored Mastodon API” framing is apt.

The proposed solution is to split responsibility more aggressively: the C2S server should be nearly stateless and dumb, storing ActivityPub objects without interpreting them, while a separate “client” layer handles indexing, timelines, moderation, and exposes its own API to the frontend running on the user's device. It's a clean separation of concerns on paper.

But here's what bothers me. When you map this architecture onto familiar terms, it looks roughly like this:

  • C2S server ≈ a database (PostgreSQL, say)
  • “Client” ≈ an application server (Mastodon, Misskey)
  • “Frontend” ≈ the actual client app on your phone

That's not a new architecture. That's just the current architecture with the labels shifted. The interesting question is which interface gets standardized, and the author's answer is the one between the C2S server and the “client” layer—the bottom boundary.

The problem is that what people actually want from C2S is to connect any frontend to any server. The portability they're after lives at the top boundary, between the frontend and whatever is behind it. But the author explicitly argues against standardizing that layer: “we don't really need a standardized api,” they write, leaving each client free to expose whatever API it likes.

Which means frontends remain locked to specific clients, just as Mastodon apps are locked to the Mastodon API today. The interoperability promise of C2S—log in to any server with any app—isn't actually delivered. It's been pushed one layer down, out of reach of the end user.

There's real value in the post's thinking about data hosting vs. interpretation, and about the security implications of servers that understand too much. But as an answer to the question C2S is supposed to answer, I'm not convinced.

fabio

@fabio@manganiello.eu

#ActivityPub support in #Madblog

https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown

I am glad to announce that Madblog has now officially joined the #Fediverse family.

If you want to test it out, search for this URL on your Fediverse client.

Madblog has already supported #Webmentions for the past couple of weeks, allowing your blog posts to be mentioned by other sites with Webmentions support (WordPress, Lemmy, HackerNews…) and get those mentions directly rendered on your page.

It now adds ActivityPub support too, using #Pubby, another little Python library that I’ve put together myself (just like Webmentions) as a mean to quickly plug ActivityPub support to any Python Web app.

Webmentions and Pubby follow similar principles and implement a similar API, and you can easily use them to add federation support to your existing Web applications - a single bind_webmentions or bind_activitypub call to your existing Flask/FastAPI/Tornado application should suffice for most of the cases.

Madblog may have now become the easiest way to publish a federated blog - and perhaps the only way that doesn’t require a database, everything is based on plain Markdown files.

If you have a registered domain and a certificate, then hosting your federated blog is now just a matter of:

mkdir -p ~/madblog/markdown
cat <<EOF > ~/madblog/markdown/hello-world.md
# My first post

This is my first post on [Madblog](https://git.fabiomanganiello.com/madblog)!
EOF

docker run -it \
  -p 8000:8000 \
  -v "$HOME/madblog:/data" \
  quay.io/blacklight/madblog

And Markdown files can be hosted wherever you like - a Git folder, an Obsidian Vault, a Nextcloud Notes installation, a folder on your phone synchronized over SyncThing…

Federation support is also at a quite advanced state compared to e.g. #WriteFreely. It currently supports:

  • Interactions rendered on the articles: if you like, boost, quote or reply to an article, all interactions are rendered directly at the bottom of the article (interactions with WriteFreely through federated accounts were kind of lost in the void instead)

  • Guestbook support (optional): mentions to the federated Madblog handle that are not in response to articles are now rendered on a separate /guestbook route

  • Email notifications: all interactions can have email notifications

  • Support for quotes, also on Mastodon

  • Support for mentions, just drop a @joe@example.com in your Markdown file and Joe will get a notification

  • Support for hashtag federation

  • Support for split-domain configurations, you can host your blog on blog.example.com but have a Fediverse handle like @blog@example.com. Search by direct post URL on Mastodon will work with both cases

  • Support for custom profile fields, all rendered on Mastodon, with verification support

  • Support for moderation, either through blocklist or allowlist, with support for rules on handles/usernames, URLs, domains or regular expressions

  • A partial (but comprehensive for the provided features) implementation of the Mastodon API

If you want you can follow both the profiles of my blogs - they are now both federated:

  • My personal blog: @fabio (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it)

  • The #Platypush blog: @blog

Joseph Szymborski :qcca:'s avatar
Joseph Szymborski :qcca:

@jszym@cosocial.ca

Oooo, this library looks like exactly what I've been praying for for ages!

git.fabiomanganiello.com/pubby

dansup's avatar
dansup

@dansup@mastodon.social

Imagine being able to curate lists of accounts by topics, allowing others to easily follow them after they consented to be included.

Meet Starter Kits.

Consent driven discovery that federates across servers and software.

With a rich browsing experience so you can explore kits without an account.

Shipping Soon 🚀

Loops Starter Kits Browse
ALT text detailsLoops Starter Kits Browse
Loops Starter Kits Kit page
ALT text detailsLoops Starter Kits Kit page
Loops Starter Kits Kit page federation modal
ALT text detailsLoops Starter Kits Kit page federation modal
Terence Eden's avatar
Terence Eden

@Edent@mastodon.social · Reply to Terence Eden's post

Hmph. My updates are being sent, but only *some* servers are updating the post.

If you fancy telling me which obvious mistake I've made, I've raised an issue at:

github.com/mastodon/mastodon/i

EDIT: Nope. It did work when - guess what - I read the fucking documentation.

fabio

@fabio@manganiello.eu

#ActivityPub support in #Madblog

https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown

I am glad to announce that Madblog has now officially joined the #Fediverse family.

If you want to test it out, search for this URL on your Fediverse client.

Madblog has already supported #Webmentions for the past couple of weeks, allowing your blog posts to be mentioned by other sites with Webmentions support (WordPress, Lemmy, HackerNews…) and get those mentions directly rendered on your page.

It now adds ActivityPub support too, using #Pubby, another little Python library that I’ve put together myself (just like Webmentions) as a mean to quickly plug ActivityPub support to any Python Web app.

Webmentions and Pubby follow similar principles and implement a similar API, and you can easily use them to add federation support to your existing Web applications - a single bind_webmentions or bind_activitypub call to your existing Flask/FastAPI/Tornado application should suffice for most of the cases.

Madblog may have now become the easiest way to publish a federated blog - and perhaps the only way that doesn’t require a database, everything is based on plain Markdown files.

If you have a registered domain and a certificate, then hosting your federated blog is now just a matter of:

mkdir -p ~/madblog/markdown
cat <<EOF > ~/madblog/markdown/hello-world.md
# My first post

This is my first post on [Madblog](https://git.fabiomanganiello.com/madblog)!
EOF

docker run -it \
  -p 8000:8000 \
  -v "$HOME/madblog:/data" \
  quay.io/blacklight/madblog

And Markdown files can be hosted wherever you like - a Git folder, an Obsidian Vault, a Nextcloud Notes installation, a folder on your phone synchronized over SyncThing…

Federation support is also at a quite advanced state compared to e.g. #WriteFreely. It currently supports:

  • Interactions rendered on the articles: if you like, boost, quote or reply to an article, all interactions are rendered directly at the bottom of the article (interactions with WriteFreely through federated accounts were kind of lost in the void instead)

  • Guestbook support (optional): mentions to the federated Madblog handle that are not in response to articles are now rendered on a separate /guestbook route

  • Email notifications: all interactions can have email notifications

  • Support for quotes, also on Mastodon

  • Support for mentions, just drop a @joe@example.com in your Markdown file and Joe will get a notification

  • Support for hashtag federation

  • Support for split-domain configurations, you can host your blog on blog.example.com but have a Fediverse handle like @blog@example.com. Search by direct post URL on Mastodon will work with both cases

  • Support for custom profile fields, all rendered on Mastodon, with verification support

  • Support for moderation, either through blocklist or allowlist, with support for rules on handles/usernames, URLs, domains or regular expressions

  • A partial (but comprehensive for the provided features) implementation of the Mastodon API

If you want you can follow both the profiles of my blogs - they are now both federated:

  • My personal blog: @fabio (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it)

  • The #Platypush blog: @blog

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social · Reply to Terence Eden's post

I've added video (and audio) uploads to . It also now supports content warnings.

For my next trick - edits to existing posts.

Does anyone have a simple guide showing how an update message is supposed to look & propagate?

gitlab.com/edent/activity-bot/

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
FediVariety's avatar
FediVariety

@FediVariety@mastodon.social

Hmm.. In case you're wondering which topics could be discussed on an unconference about fediverse integration in/for public institutions...
check out this preliminary overview:
fedivariety.org/noaw-session-p

wow... all kinds of topics still to be shaken *and* stirred at noaw.org of course—looking fwd!

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

Every day I’m more convinced that the Fediverse’s slow mainstream adoption isn’t really about usability.

People say it’s because it’s hard to join, the terms are confusing, or the apps aren’t polished enough. Maybe a little. But honestly… look at the platforms people already use.

Finding anything on LinkedIn is painful.
Trying to locate the original video on TikTok is a scavenger hunt.
Facebook is still full of weird bugs and odd UI choices.
Instagram hides posts behind algorithms.
Twitter/X constantly changes the rules of engagement.

None of these platforms are exactly “easy.”

People stay because their friends are there. Because the big creators are there. Because that’s where the conversation already lives.

And, if we’re honest, because these platforms are engineered around a very effective reward loop: notifications, likes, infinite scroll. A dopamine machine. You learn the confusing terms and awkward interfaces because there’s a constant reward for doing so.

So yes, making the Fediverse easier to join absolutely helps.

But what would help even more is something simpler:
more mainstream, recognizable, official accounts showing up here.

That’s how networks grow.
People follow people not platforms.

Gregory's avatar
Gregory

@grishka@mastodon.social

That feeling when you want to block hf.space on your server but you realize that the way domain blocks are implemented in Smithereen, you can only block a server that has known actors, not an entire domain with all its subdomains... Time for new features I guess.

jaz :twt: :wales_flag:'s avatar
jaz :twt: :wales_flag:

@jaz@toot.wales · Reply to jaz :twt: :wales_flag:'s post

Why "Delete" is complicated in the

Unlike X or Facebook where one company owns the only copy of your post, Mastodon and other Social Web apps use the protocol.

When you post, your server (e.g. toot.wales) sends a copy to some number of servers (e.g. mastodon.social) - anywhere from one to 40,000 depending on a bunch of stuff.

When you delete, your server sends a Delete request to all those same servers.

PortaFed

@PortaFed@mastodon.social

Introducing PortaFed — cryptographic account portability for

When your server shuts down, your identity and posts are gone.
PortaFed fixes this with a MigrationProof: a Merkle commitment
over your full export, signed by your ed25519 key, verifiable
by any destination server without contacting the origin.

No blockchain. No registry. No core spec changes.

Spec + Rust implementation:
codeberg.org/portafed/portafed

Feedback welcome — especially from server maintainers.

PortaFed

@PortaFed@mastodon.social

Introducing PortaFed — cryptographic account portability for

When your server shuts down, your identity and posts are gone.
PortaFed fixes this with a MigrationProof: a Merkle commitment
over your full export, signed by your ed25519 key, verifiable
by any destination server without contacting the origin.

No blockchain. No registry. No core spec changes.

Spec + Rust implementation:
codeberg.org/portafed/portafed

Feedback welcome — especially from server maintainers.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

Every day I’m more convinced that the Fediverse’s slow mainstream adoption isn’t really about usability.

People say it’s because it’s hard to join, the terms are confusing, or the apps aren’t polished enough. Maybe a little. But honestly… look at the platforms people already use.

Finding anything on LinkedIn is painful.
Trying to locate the original video on TikTok is a scavenger hunt.
Facebook is still full of weird bugs and odd UI choices.
Instagram hides posts behind algorithms.
Twitter/X constantly changes the rules of engagement.

None of these platforms are exactly “easy.”

People stay because their friends are there. Because the big creators are there. Because that’s where the conversation already lives.

And, if we’re honest, because these platforms are engineered around a very effective reward loop: notifications, likes, infinite scroll. A dopamine machine. You learn the confusing terms and awkward interfaces because there’s a constant reward for doing so.

So yes, making the Fediverse easier to join absolutely helps.

But what would help even more is something simpler:
more mainstream, recognizable, official accounts showing up here.

That’s how networks grow.
People follow people not platforms.

occult's avatar
occult

@occult@ominous.net · Reply to occult's post

When someone asks me what the , or is I'll use this illustration from UNIX Review, April 1985.

Illustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
ALT text detailsIllustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

Hey friends. Are there any new ActivityPub / Mastodon features I should add to ?

It's a small bot-only ActivityPub server in a single PHP file.

gitlab.com/edent/activity-bot/

It can be followed, post images, allow quote posts, etc.

Is there anything else you would like a bot-server to be able to do?

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

Hey friends. Are there any new ActivityPub / Mastodon features I should add to ?

It's a small bot-only ActivityPub server in a single PHP file.

gitlab.com/edent/activity-bot/

It can be followed, post images, allow quote posts, etc.

Is there anything else you would like a bot-server to be able to do?

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

Hey friends. Are there any new ActivityPub / Mastodon features I should add to ?

It's a small bot-only ActivityPub server in a single PHP file.

gitlab.com/edent/activity-bot/

It can be followed, post images, allow quote posts, etc.

Is there anything else you would like a bot-server to be able to do?

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

Hey friends. Are there any new ActivityPub / Mastodon features I should add to ?

It's a small bot-only ActivityPub server in a single PHP file.

gitlab.com/edent/activity-bot/

It can be followed, post images, allow quote posts, etc.

Is there anything else you would like a bot-server to be able to do?

occult's avatar
occult

@occult@ominous.net · Reply to occult's post

When someone asks me what the , or is I'll use this illustration from UNIX Review, April 1985.

Illustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
ALT text detailsIllustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
occult's avatar
occult

@occult@ominous.net · Reply to occult's post

When someone asks me what the , or is I'll use this illustration from UNIX Review, April 1985.

Illustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
ALT text detailsIllustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
occult's avatar
occult

@occult@ominous.net · Reply to occult's post

When someone asks me what the , or is I'll use this illustration from UNIX Review, April 1985.

Illustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
ALT text detailsIllustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
Bradley M. Kuhn's avatar
Bradley M. Kuhn

@bkuhn@copyleft.org

😲…I just realized is in the *same* venue as just *3* days before FOSSY starts!

I'm sad we weren't all in touch as maybe together we coulda gotten a better venue deal, but I hope folks going to event will be able stay in Vancouver for FOSSY!

Also, I suspect would welcome a Fediverse track at FOSSY…
sfconservancy.org/fossy/commun
…maybe as a B-sides event for overflow talks?

Cc: @reiver @evan @ossguy @karen

Bradley M. Kuhn's avatar
Bradley M. Kuhn

@bkuhn@copyleft.org

😲…I just realized is in the *same* venue as just *3* days before FOSSY starts!

I'm sad we weren't all in touch as maybe together we coulda gotten a better venue deal, but I hope folks going to event will be able stay in Vancouver for FOSSY!

Also, I suspect would welcome a Fediverse track at FOSSY…
sfconservancy.org/fossy/commun
…maybe as a B-sides event for overflow talks?

Cc: @reiver @evan @ossguy @karen

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
occult's avatar
occult

@occult@ominous.net · Reply to occult's post

When someone asks me what the , or is I'll use this illustration from UNIX Review, April 1985.

Illustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
ALT text detailsIllustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
occult's avatar
occult

@occult@ominous.net · Reply to occult's post

When someone asks me what the , or is I'll use this illustration from UNIX Review, April 1985.

Illustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
ALT text detailsIllustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
occult's avatar
occult

@occult@ominous.net · Reply to occult's post

When someone asks me what the , or is I'll use this illustration from UNIX Review, April 1985.

Illustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
ALT text detailsIllustration showing multiple beige desktop computers floating among clouds in an open sky, connected to each other by thin golden lines forming a network, with one large computer in the foreground emitting a burst of colorful rainbow light rays from its screen.
Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

Every day I’m more convinced that the Fediverse’s slow mainstream adoption isn’t really about usability.

People say it’s because it’s hard to join, the terms are confusing, or the apps aren’t polished enough. Maybe a little. But honestly… look at the platforms people already use.

Finding anything on LinkedIn is painful.
Trying to locate the original video on TikTok is a scavenger hunt.
Facebook is still full of weird bugs and odd UI choices.
Instagram hides posts behind algorithms.
Twitter/X constantly changes the rules of engagement.

None of these platforms are exactly “easy.”

People stay because their friends are there. Because the big creators are there. Because that’s where the conversation already lives.

And, if we’re honest, because these platforms are engineered around a very effective reward loop: notifications, likes, infinite scroll. A dopamine machine. You learn the confusing terms and awkward interfaces because there’s a constant reward for doing so.

So yes, making the Fediverse easier to join absolutely helps.

But what would help even more is something simpler:
more mainstream, recognizable, official accounts showing up here.

That’s how networks grow.
People follow people not platforms.

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

Hey friends. Are there any new ActivityPub / Mastodon features I should add to ?

It's a small bot-only ActivityPub server in a single PHP file.

gitlab.com/edent/activity-bot/

It can be followed, post images, allow quote posts, etc.

Is there anything else you would like a bot-server to be able to do?

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

With ActivityPub / ActivityStreams...

To me, it feels like there should have been something that is a common parent of both 'Object' and 'Link'.

That just had the "name", "nameMap", and "preview" fields (along with "id" and "type, of course) — since that is what 'Object' and 'Link' share in common.

I'll just call this common parent: 'Entity'.

...

It could have even been an opportunity to talk about how to handle unknown types.

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social · Reply to SoapDog's post

@soapdog There's a poll-based version specced at fediverse.codeberg.page/fep/fe, sadly with no notable implementations (wouldn't be interactable by Mastodon etc.), but it's an opportunity to break new ground as an implementer if you know anyone who'd like to experiment with it.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social · Reply to SoapDog's post

@soapdog There's a poll-based version specced at fediverse.codeberg.page/fep/fe, sadly with no notable implementations (wouldn't be interactable by Mastodon etc.), but it's an opportunity to break new ground as an implementer if you know anyone who'd like to experiment with it.

SoapDog's avatar
SoapDog

@soapdog@toot.cafe

I wish was a "pull" protocol instead of a "push" protocol. The way it works, whenever you take an action, it sends that action to all followers. I would prefer if it simply stored them and then let each follower pull them when they see fit.

That would introduce latency and more async comms as your messages wouldn't pop up into someone elses feed until their software fetch the data, but I think it would make it easier to self host.

SynapseLabs|@runsynapse's avatar
SynapseLabs|@runsynapse

@synapselabs@mastodon.social

Hello ! 🐘

I'm the founder of Synapse Labs, and we're building the infrastructure layer for the "Agentic Web." 🏗️

We focus on 0ms dedicated relays for @base and Farcaster to solve hub latency for AI agents. Also working on Volenti Partners for on-chain consent verification.

Looking to connect with devs, builders, and anyone obsessed with . 🧠⚡️

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social · Reply to SoapDog's post

@soapdog There's a poll-based version specced at fediverse.codeberg.page/fep/fe, sadly with no notable implementations (wouldn't be interactable by Mastodon etc.), but it's an opportunity to break new ground as an implementer if you know anyone who'd like to experiment with it.

FediVariety's avatar
FediVariety

@FediVariety@mastodon.social

Hmm.. In case you're wondering which topics could be discussed on an unconference about fediverse integration in/for public institutions...
check out this preliminary overview:
fedivariety.org/noaw-session-p

wow... all kinds of topics still to be shaken *and* stirred at noaw.org of course—looking fwd!

SoapDog's avatar
SoapDog

@soapdog@toot.cafe

I wish was a "pull" protocol instead of a "push" protocol. The way it works, whenever you take an action, it sends that action to all followers. I would prefer if it simply stored them and then let each follower pull them when they see fit.

That would introduce latency and more async comms as your messages wouldn't pop up into someone elses feed until their software fetch the data, but I think it would make it easier to self host.

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

Hey friends. Are there any new ActivityPub / Mastodon features I should add to ?

It's a small bot-only ActivityPub server in a single PHP file.

gitlab.com/edent/activity-bot/

It can be followed, post images, allow quote posts, etc.

Is there anything else you would like a bot-server to be able to do?

SoapDog's avatar
SoapDog

@soapdog@toot.cafe

I wish was a "pull" protocol instead of a "push" protocol. The way it works, whenever you take an action, it sends that action to all followers. I would prefer if it simply stored them and then let each follower pull them when they see fit.

That would introduce latency and more async comms as your messages wouldn't pop up into someone elses feed until their software fetch the data, but I think it would make it easier to self host.

Vernissage's avatar
Vernissage

@vernissage@mastodon.social

Unfortunately, was not selected for NLnet funding. It is disappointing, but I understand how competitive these calls are. As a fully independent project sustained entirely through community support, relies on patron support to cover its ongoing infrastructure and resource costs. That support now matters more than ever for the project’s future. ❤️

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

Hey friends. Are there any new ActivityPub / Mastodon features I should add to ?

It's a small bot-only ActivityPub server in a single PHP file.

gitlab.com/edent/activity-bot/

It can be followed, post images, allow quote posts, etc.

Is there anything else you would like a bot-server to be able to do?

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
Vernissage's avatar
Vernissage

@vernissage@mastodon.social

Unfortunately, was not selected for NLnet funding. It is disappointing, but I understand how competitive these calls are. As a fully independent project sustained entirely through community support, relies on patron support to cover its ongoing infrastructure and resource costs. That support now matters more than ever for the project’s future. ❤️

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
qassim's avatar
qassim

@qassim@qassim.uk

I’ve quite enjoyed making my photos website (photos.qassim.uk) an activitypub actor, @photos@qassim.uk. ActivityPub has its critics, but overall, this just feels like how the web SHOULD be.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@hongminhee @COSCUP

As you know I am proponent to emphasize the social aspects more, to drive healthy evolution of the .

The app-centric is a pure technosphere, where a tech-first approach deals with getting app features to the next app, and the protocol matures via post-facto 'follow-the-leader' . What happens in the sociosphere between people using the tech is de-facto of secondary concern, and apps are tweaked to try to deal with externalities. The resulting social landscape has become one of neighboring app kingdoms with guarded borders separating them. Everyone speaks microblog to each other, albeit with thick accents, hard to understand. The fediverse is social *because* of the people, and despite of the tech, that still severely restrains them.

It would be nice if the track name not just indicated a technology name. E.g. coding.social uses:

- Fediverse, a peopleverse
-
-

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

(digital) doodling a little

Screenshot of an ActivityPub Client on an iPhone, showing the Inbox.
ALT text detailsScreenshot of an ActivityPub Client on an iPhone, showing the Inbox.
Screenshot of an ActivityPub Client on an iPhone, showing the Outbox.
ALT text detailsScreenshot of an ActivityPub Client on an iPhone, showing the Outbox.
Screenshot of an ActivityPub Client on an iPhone, showing the Activities.
ALT text detailsScreenshot of an ActivityPub Client on an iPhone, showing the Activities.
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
shopkeeper's avatar
shopkeeper

@potatomeow@fosstodon.org

socialhub.activitypub.rocks/t/

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I'm thinking of proposing a /social web community track at @COSCUP 2026 (Aug 8–9, Taipei)—think FOSDEM's Social Web devroom, but in East Asia. Before I submit the CFP, I'd love to get a sense of what to call it. What do you think?

(Boosts appreciated!)

OptionVoters
Fediverse29 (31%)
Social Web10 (11%)
Open Social Web22 (23%)
Fediverse & Social Web32 (34%)
Other (reply!)1 (1%)
Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

I’ve just created a PR to allow arbitrary Unicode usernames in , in a safe fashion: codeberg.org/flohmarkt/flohmar

given github.com/mastodon/mastodon/i I assume this might make @Edent happy :)

Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

(digital) doodling a little

Screenshot of an ActivityPub Client on an iPhone, showing the Inbox.
ALT text detailsScreenshot of an ActivityPub Client on an iPhone, showing the Inbox.
Screenshot of an ActivityPub Client on an iPhone, showing the Outbox.
ALT text detailsScreenshot of an ActivityPub Client on an iPhone, showing the Outbox.
Screenshot of an ActivityPub Client on an iPhone, showing the Activities.
ALT text detailsScreenshot of an ActivityPub Client on an iPhone, showing the Activities.
marius's avatar
marius

@mariusor@metalhead.club

Resurrected the nodeinfo helper service for the generic service.

Hopefully this will lead to better integration with other federated services, but I find very little practical use for these hamfisted .well-known APIs integrated into the fediverse...

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-06

Servers

- Hollo v0.7.5
- Lemmy v0.19.16
- Ktistec v3.3.2
- Stegodon v1.8.1
- GoToSocial v0.21.1
- ActivityPub for WordPress v8.0.0
- gathio v1.6.2
- Misskey v2026.3.0
- Castopod v1.15.5
- flohmarkt v0.16.1
- NodeBB v4.9.1
- PieFed v1.6.9
- Lemmy Development Update February 2026
- FediProfile: A linktree for the fediverse - ActivityPub enabled profiles

Clients

- Sengi v1.9.0
- Summit v1.79.1
- Blorp v1.10.8

Tools and Plugins

- Poduptime v6.3.0
- share.joinmastodon.org: Share widget for Mastodon

Protocol

- FEP-82f6: Actor statuses (Final comments)

Articles

- Gotosocial Reverse Proxy With Wireguard
- FR#156 – Share Where?

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019ca0a0-4fce-c180-89e4-071244c530a4

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@django @liaizon @voboda

When looking through the lens of Social experience design we can say that the fediverse-we-have and the social network promise in the W3C specs, have become diverged to the extent they are hard forks.

A solution is said to exist as soon as you can write it down on a sticky note in the form of a vision, need, objective, or solution.

The AS/AP fediverse sticky note reads: "The future of social networking is decentralized".

The fediverse-we-have note reads: "Decentralized microblogging"

Besides that both sticky notes express a tech focus, exist in the technosphere not sociosphere, they express no vision.. A place where we want to be, and why. There is complete misconception both on technical, let alone social direction, and that leads to endless confusion and again those mismatched expectations.

App devs now try to hammer their apps onto "Decentralized microblogging" in hopes "future of social networking" somehow emerges. That is unlikely.

silverpill's avatar
silverpill

@silverpill@mitra.social

Recently, there was a discussion about generic #ActivityPub servers. Several people claimed that they were working on one, but it turned out that their "generic" servers only support activities defined in the ActivityPub specification. Such a server shouldn't be called generic. It is not difficult to build, neither it is an interesting concept because competing protocols (e.g. Nostr) already offer much more.

I've been writing a #FEP that describes how to build a real generic server. It is not finished yet, but I feel like now is a good time to publish it:

FEP-fc48: Generic ActivityPub server

This kind of server:

- Can process any object type, and can process non-standard activities like EmojiReact.
- Compatible with FEP-ae97 clients.
- Does not require JSON-LD.

I attempted to implement it when I was researching security properties of FEP-ae97 API: https://codeberg.org/silverpill/fep-ae97-server. Back then I didn't know what to do with side effects, but now I think that we can simply force clients to specify them.

Special thanks to @mariusor and @trwnh for their input.

#C2S

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-06

Servers

- Hollo v0.7.5
- Lemmy v0.19.16
- Ktistec v3.3.2
- Stegodon v1.8.1
- GoToSocial v0.21.1
- ActivityPub for WordPress v8.0.0
- gathio v1.6.2
- Misskey v2026.3.0
- Castopod v1.15.5
- flohmarkt v0.16.1
- NodeBB v4.9.1
- PieFed v1.6.9
- Lemmy Development Update February 2026
- FediProfile: A linktree for the fediverse - ActivityPub enabled profiles

Clients

- Sengi v1.9.0
- Summit v1.79.1
- Blorp v1.10.8

Tools and Plugins

- Poduptime v6.3.0
- share.joinmastodon.org: Share widget for Mastodon

Protocol

- FEP-82f6: Actor statuses (Final comments)

Articles

- Gotosocial Reverse Proxy With Wireguard
- FR#156 – Share Where?

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019ca0a0-4fce-c180-89e4-071244c530a4

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-06

Servers

- Hollo v0.7.5
- Lemmy v0.19.16
- Ktistec v3.3.2
- Stegodon v1.8.1
- GoToSocial v0.21.1
- ActivityPub for WordPress v8.0.0
- gathio v1.6.2
- Misskey v2026.3.0
- Castopod v1.15.5
- flohmarkt v0.16.1
- NodeBB v4.9.1
- PieFed v1.6.9
- Lemmy Development Update February 2026
- FediProfile: A linktree for the fediverse - ActivityPub enabled profiles

Clients

- Sengi v1.9.0
- Summit v1.79.1
- Blorp v1.10.8

Tools and Plugins

- Poduptime v6.3.0
- share.joinmastodon.org: Share widget for Mastodon

Protocol

- FEP-82f6: Actor statuses (Final comments)

Articles

- Gotosocial Reverse Proxy With Wireguard
- FR#156 – Share Where?

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019ca0a0-4fce-c180-89e4-071244c530a4

Cody Casterline 🏳️‍🌈's avatar
Cody Casterline 🏳️‍🌈

@NfNitLoop@mastodon.social

RE: indieweb.social/@laurenshof/11

This thread talks about going back to an users's home server to validate a user's content, because you can't trust that the event you got for it is unmodified.

But you can't trust what the home server tells you the content of the message is either! There's nothing stopping a home server from serving a modified version of your content every time it's requested, say, to inject ads into it, or censor bits it doesn't like.

Or to just completely fabricate new content from you.

Laurens Hof's avatar
Laurens Hof

@laurenshof@indieweb.social

sure this is all very bad for activitypub but this is truly amazing content

argument between evan and christine in which evan wants to do 'trust then verify' and christine losing her marbles
ALT text detailsargument between evan and christine in which evan wants to do 'trust then verify' and christine losing her marbles
Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-06

Servers

- Hollo v0.7.5
- Lemmy v0.19.16
- Ktistec v3.3.2
- Stegodon v1.8.1
- GoToSocial v0.21.1
- ActivityPub for WordPress v8.0.0
- gathio v1.6.2
- Misskey v2026.3.0
- Castopod v1.15.5
- flohmarkt v0.16.1
- NodeBB v4.9.1
- PieFed v1.6.9
- Lemmy Development Update February 2026
- FediProfile: A linktree for the fediverse - ActivityPub enabled profiles

Clients

- Sengi v1.9.0
- Summit v1.79.1
- Blorp v1.10.8

Tools and Plugins

- Poduptime v6.3.0
- share.joinmastodon.org: Share widget for Mastodon

Protocol

- FEP-82f6: Actor statuses (Final comments)

Articles

- Gotosocial Reverse Proxy With Wireguard
- FR#156 – Share Where?

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019ca0a0-4fce-c180-89e4-071244c530a4

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

Some news from development. The latest release moves media processing to the device. Videos are transcoded locally before upload. Users can store media on their own S3 or WebDAV server, and the resulting URLs are used directly in activities. The relay server handles neither transcoding nor media storage. Each user brings their own resources to the .

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

1.0.0-rc-4 published!

Sync is now much faster thanks to Bloom filters. You can set a TTL on posts when composing or configure a default in settings.

If you have a WebDAV/S3 server, the app can upload media there and use public URLs in ActivityPub.

Videos can be compressed before upload. An experimental vertical video feed is available.

A new Discovery timeline lets you explore posts by tags and language.

More: codeberg.org/tom79/Holos-App/r

DL: holos.social/signup

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-03-06

Servers

- Hollo v0.7.5
- Lemmy v0.19.16
- Ktistec v3.3.2
- Stegodon v1.8.1
- GoToSocial v0.21.1
- ActivityPub for WordPress v8.0.0
- gathio v1.6.2
- Misskey v2026.3.0
- Castopod v1.15.5
- flohmarkt v0.16.1
- NodeBB v4.9.1
- PieFed v1.6.9
- Lemmy Development Update February 2026
- FediProfile: A linktree for the fediverse - ActivityPub enabled profiles

Clients

- Sengi v1.9.0
- Summit v1.79.1
- Blorp v1.10.8

Tools and Plugins

- Poduptime v6.3.0
- share.joinmastodon.org: Share widget for Mastodon

Protocol

- FEP-82f6: Actor statuses (Final comments)

Articles

- Gotosocial Reverse Proxy With Wireguard
- FR#156 – Share Where?

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019ca0a0-4fce-c180-89e4-071244c530a4

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

RE: mastodon.social/@HolosSocial/1

Some news from development. The latest release moves media processing to the device. Videos are transcoded locally before upload. Users can store media on their own S3 or WebDAV server, and the resulting URLs are used directly in activities. The relay server handles neither transcoding nor media storage. Each user brings their own resources to the .

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

1.0.0-rc-4 published!

Sync is now much faster thanks to Bloom filters. You can set a TTL on posts when composing or configure a default in settings.

If you have a WebDAV/S3 server, the app can upload media there and use public URLs in ActivityPub.

Videos can be compressed before upload. An experimental vertical video feed is available.

A new Discovery timeline lets you explore posts by tags and language.

More: codeberg.org/tom79/Holos-App/r

DL: holos.social/signup

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

Here is the new feature that allows you to save your media in your own cloud, giving you more sovereignty over your data. Your media stays available even when your device is offline.

Settings screen where users choose between relay or cloud storage for media, configure S3 URL signing, select video compression quality, and manage their S3 or WebDAV connection.
ALT text detailsSettings screen where users choose between relay or cloud storage for media, configure S3 URL signing, select video compression quality, and manage their S3 or WebDAV connection.
Johannes Ernst's avatar
Johannes Ernst

@j12t@j12t.social

So happy to see that has become a member of the W3C and is now coming to the renewed standardization activity.

From today's notes: hackmd.io/PaXqEd7-T7CLULV9Y4nw

goetz 🚲's avatar
goetz 🚲

@goetz@chaos.social · Reply to Marcus Rohrmoser 🌻's post

@mro

@marcus

Unfortunately the @digitalcourage instance is one of such instances which is broken.

goetz 🚲's avatar
goetz 🚲

@goetz@chaos.social · Reply to Marcus Rohrmoser 🌻's post

@mro

The problem is the default for mastodon and others is flawed and thus dysfunctional for many instances.

I'm personally reaching out to such admins and users. Often it is neglected.

@technik posted a nice guide
mainz.social/@technik/11574523

please take it seriously.

goetz 🚲's avatar
goetz 🚲

@goetz@chaos.social · Reply to Marcus Rohrmoser 🌻's post

@mro

The problem is the default for mastodon and others is flawed and thus dysfunctional for many instances.

I'm personally reaching out to such admins and users. Often it is neglected.

@technik posted a nice guide
mainz.social/@technik/11574523

please take it seriously.

Marcus Rohrmoser 🌻's avatar
Marcus Rohrmoser 🌻

@mro@digitalcourage.social

am a bit disappointed to see seems de facto optional, 2nd class citizen for . I mean federating with hosts like @marcus.
Would have considered it mandatory.

Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

@evan @darius what about switching to YAML for 2.0

w3.org/TR/yaml-ld-10/

why? because we could!

😅 </irony>

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

The #ActivityPub for #WordPress team is just crushing it. They just released 8.0.0 of the integration. It’s getting better all the time.

Huge thanks to @pfefferle for amazing work!

https://activitypub.blog/2026/03/05/8-0-0-smash-that-like-button/

Elshara Silverheart's avatar
Elshara Silverheart

@elshara@www.mediacy.net

I'm thinking about setting up and running my own for and as there seems to be a decreasing number of these that take in core and key traffic as times goes by. Resulting in fewer initial servers being maintained long term. The and deserve some love.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Complete this sentence:

"I experience as a .."

OptionVoters
Bustling city275 (19%)
Cozy village1044 (71%)
Ghost town64 (4%)
Other (please comment)96 (6%)
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Complete this sentence:

"I experience as a .."

OptionVoters
Bustling city275 (19%)
Cozy village1044 (71%)
Ghost town64 (4%)
Other (please comment)96 (6%)
crossgolf_rebel - kostenlose Kwalitätsposts's avatar
crossgolf_rebel - kostenlose Kwalitätsposts

@crossgolf_rebel@moppels.bar · Reply to UHC Elster e.V.'s post

@pfefferle@mastodon.social Morjen
Ich habe mal eine Frage bezüglich des ativityPub Plugin in Wordpress

Im obrigen Beitrag habe ich das "follow" als Feld mit eingegeben, was auch angezeigt wird aber auch "rections", nur sieht man davon leider nichts auf der Webseite.
Muss ich da noch irgend wo einen Haken setzen, das Reactions auch angezeigt werden?



@uhc-elster@2025.2.uhc-elster.de

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

The #ActivityPub for #WordPress team is just crushing it. They just released 8.0.0 of the integration. It’s getting better all the time.

Huge thanks to @pfefferle for amazing work!

https://activitypub.blog/2026/03/05/8-0-0-smash-that-like-button/

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

The #ActivityPub for #WordPress team is just crushing it. They just released 8.0.0 of the integration. It’s getting better all the time.

Huge thanks to @pfefferle for amazing work!

https://activitypub.blog/2026/03/05/8-0-0-smash-that-like-button/

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

The #ActivityPub for #WordPress team is just crushing it. They just released 8.0.0 of the integration. It’s getting better all the time.

Huge thanks to @pfefferle for amazing work!

https://activitypub.blog/2026/03/05/8-0-0-smash-that-like-button/

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

The #ActivityPub for #WordPress team is just crushing it. They just released 8.0.0 of the integration. It’s getting better all the time.

Huge thanks to @pfefferle for amazing work!

https://activitypub.blog/2026/03/05/8-0-0-smash-that-like-button/

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

The #ActivityPub for #WordPress team is just crushing it. They just released 8.0.0 of the integration. It’s getting better all the time.

Huge thanks to @pfefferle for amazing work!

https://activitypub.blog/2026/03/05/8-0-0-smash-that-like-button/

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

The #ActivityPub for #WordPress team is just crushing it. They just released 8.0.0 of the integration. It’s getting better all the time.

Huge thanks to @pfefferle for amazing work!

https://activitypub.blog/2026/03/05/8-0-0-smash-that-like-button/

kopper :colon_three:'s avatar
kopper :colon_three:

@kopper@not-brain.d.on-t.work

"how to not regret c2s"
w.on-t.work/activitypub/c2s

my opinions about how activitypub c2s ought to be implemented, probably with way too much snark for anyone to take it seriously. wrote pretty much all of it at like 1 am so expect the writing to not be great. will prolly regret it tomorrow but eh. whatever

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

UPDATE: hub.vocalcat.com is open for public registration.

--

I’m building a new tool and looking for volunteers to test it! A linktree.

It’s designed for two types of people:

Normies / newcomers – Think of it like a free, privacy-respecting Linktree. No trackers, no ads. But here's the cool part: it's a Trojan horse for the fediverse. Your profile link is itself an ActivityPub actor. That means people can interact with it directly in the fediverse, and it encourages exploration of open platforms.

Fediverse users, If you have multiple accounts (, , Loops, a federated blog…), you know the struggle: sometimes you just want one persona to follow. This tool gives you that. It doesn’t post on its own (read-only), but it boosts all your other accounts and even has its own inbox. PLUS it can receive and show your badges issued by @badgefed !

Interested in testing? Right now it only supports mastodon/gotosocial authentication, so if you have a mastodon or gotosocial account register a new account.

--

UPDATE: I am doing load testing at this point, if many people sign-up expect some unavailability moments. Thanks for your patience, I want to discover the limits of the stack.

One webpage screenshot in white background and big letters saying Your links, Your Identity our Network
ALT text detailsOne webpage screenshot in white background and big letters saying Your links, Your Identity our Network
A screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
ALT text detailsA screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

wordsmith‽ ⁂'s avatar
wordsmith‽ ⁂

@wordsmith@writing.exchange · Reply to 🫧 socialcoding..'s post

@smallcircles "Even more remarkable is the near complete absence of the developer community in mingling in the social side of the discussion."

Once you've been here for a little longer you'll realise this statement isn't the case.

Jaeyeol Lee's avatar
Jaeyeol Lee

@kodingwarrior@hackers.pub

연합우주 친화적인 이벤트 개최 및 위치 정보 기반 체크인 SNS moim.live 입니다. v0.1.0 에서는 어떤 것을 만들고자 하는지 단순하게 보여주기 위함이었다면, v0.2.0 은 좀 더 이벤트 주최진의 입맛에 맞는 방향으로 작업을 진행했습니다.

추가된 기능들

이벤트 관리 대시보드

이벤트 관리자용 대시보드

그룹 주관으로 개설한 이벤트에 한해, 참여자 현황과 이벤트 상태를 한곳에서 관리할 수 있는 대시보드를 제공합니다. 참여 신청 목록 확인, 이벤트 상태 변경 등 주최자에게 필요한 핵심 작업을 대시보드 하나에서 처리할 수 있습니다.

장소 관리

대관 장소 담당자 연결 장소 업데이트
담당자 연결 장소 업데이트

기존에는 장소 정보가 수정 권한이 닫혀 있어, 정보가 변경되더라도 직접 업데이트하기 어려웠습니다. 이번 업데이트에서는 대관 장소를 관리하는 담당자에게 해당 장소의 편집 권한을 부여할 수 있도록 했습니다. 담당자가 직접 장소 정보를 최신 상태로 유지할 수 있으므로, 주최자는 이벤트 개설 시 항상 정확한 장소 정보를 활용할 수 있습니다.

대관 장소를 관리하는 담당자가 계시다면, 장소 정보를 등록하고 관리할 수 있는 권한을 부여해드릴 수 있습니다. @kodingwarrior@hackers.pub 으로 문의해 주세요

캘린더 뷰 지원

Calendar Upcoming Event
캘린더뷰 Upcoming

그룹 페이지에서 주최 예정인 이벤트를 캘린더 형태로 확인할 수 있습니다. 그룹이 관리하는 장소 페이지에서도 해당 장소에 예정된 이벤트를 캘린더로 조회할 수 있어, 일정이 겹치는지 빠르게 확인할 수 있습니다.

연합우주에서의 engagement 분석

engagement 분석

moim.live에서 만든 이벤트는 ActivityPub을 지원하는 SNS(Mastodon, Misskey 등)로 자동 전파됩니다. 이번 업데이트에서는 이 과정에서 발생하는 engagement를 주최자가 직접 확인할 수 있도록 했습니다. 대시보드에서 확인할 수 있는 지표는 다음과 같습니다:

  • 공유(Boost/Renote) — 이벤트 정보가 연합우주에서 얼마나 퍼졌는지
  • 관심 표시(Favourite) — 얼마나 많은 사람이 관심을 보이고 있는지
  • 댓글(Reply) — 이벤트에 대한 반응과 문의

이를 통해 주최자는 홍보가 어느 정도 효과를 내고 있는지 감을 잡을 수 있고, 다음 이벤트 홍보 전략을 세우는 데 참고할 수 있습니다.

그룹 RSS Feed 지원

그룹의 이벤트 소식을 RSS 리더에서 바로 구독할 수 있습니다. 예를 들어, 해커스펍의 소식은 아래 주소에서 구독 가능합니다:

👉 https://moim.live/groups/@hackerspub/feed.xml

RSS 리더를 사용하고 계시다면, 관심 있는 그룹의 피드를 등록해두시면 새로운 이벤트가 올라올 때 바로 확인할 수 있습니다.

다음 업데이트 예고

이번 릴리즈가 이벤트 주최자를 위한 관리 도구에 집중했다면, 다음 릴리즈에서는 참여자 경험에 초점을 맞출 계획입니다. RSVP(참여 의사 표시)와 현장 체크인 기능을 우선적으로 작업할 예정입니다.

자세한 변경 사항은 GitHub 릴리즈 페이지에서 확인하실 수 있습니다. 감사합니다.

Jaeyeol Lee's avatar
Jaeyeol Lee

@kodingwarrior@hackers.pub

연합우주 친화적인 이벤트 개최 및 위치 정보 기반 체크인 SNS moim.live 입니다. v0.1.0 에서는 어떤 것을 만들고자 하는지 단순하게 보여주기 위함이었다면, v0.2.0 은 좀 더 이벤트 주최진의 입맛에 맞는 방향으로 작업을 진행했습니다.

추가된 기능들

이벤트 관리 대시보드

이벤트 관리자용 대시보드

그룹 주관으로 개설한 이벤트에 한해, 참여자 현황과 이벤트 상태를 한곳에서 관리할 수 있는 대시보드를 제공합니다. 참여 신청 목록 확인, 이벤트 상태 변경 등 주최자에게 필요한 핵심 작업을 대시보드 하나에서 처리할 수 있습니다.

장소 관리

대관 장소 담당자 연결 장소 업데이트
담당자 연결 장소 업데이트

기존에는 장소 정보가 수정 권한이 닫혀 있어, 정보가 변경되더라도 직접 업데이트하기 어려웠습니다. 이번 업데이트에서는 대관 장소를 관리하는 담당자에게 해당 장소의 편집 권한을 부여할 수 있도록 했습니다. 담당자가 직접 장소 정보를 최신 상태로 유지할 수 있으므로, 주최자는 이벤트 개설 시 항상 정확한 장소 정보를 활용할 수 있습니다.

대관 장소를 관리하는 담당자가 계시다면, 장소 정보를 등록하고 관리할 수 있는 권한을 부여해드릴 수 있습니다. @kodingwarrior@hackers.pub 으로 문의해 주세요

캘린더 뷰 지원

Calendar Upcoming Event
캘린더뷰 Upcoming

그룹 페이지에서 주최 예정인 이벤트를 캘린더 형태로 확인할 수 있습니다. 그룹이 관리하는 장소 페이지에서도 해당 장소에 예정된 이벤트를 캘린더로 조회할 수 있어, 일정이 겹치는지 빠르게 확인할 수 있습니다.

연합우주에서의 engagement 분석

engagement 분석

moim.live에서 만든 이벤트는 ActivityPub을 지원하는 SNS(Mastodon, Misskey 등)로 자동 전파됩니다. 이번 업데이트에서는 이 과정에서 발생하는 engagement를 주최자가 직접 확인할 수 있도록 했습니다. 대시보드에서 확인할 수 있는 지표는 다음과 같습니다:

  • 공유(Boost/Renote) — 이벤트 정보가 연합우주에서 얼마나 퍼졌는지
  • 관심 표시(Favourite) — 얼마나 많은 사람이 관심을 보이고 있는지
  • 댓글(Reply) — 이벤트에 대한 반응과 문의

이를 통해 주최자는 홍보가 어느 정도 효과를 내고 있는지 감을 잡을 수 있고, 다음 이벤트 홍보 전략을 세우는 데 참고할 수 있습니다.

그룹 RSS Feed 지원

그룹의 이벤트 소식을 RSS 리더에서 바로 구독할 수 있습니다. 예를 들어, 해커스펍의 소식은 아래 주소에서 구독 가능합니다:

👉 https://moim.live/groups/@hackerspub/feed.xml

RSS 리더를 사용하고 계시다면, 관심 있는 그룹의 피드를 등록해두시면 새로운 이벤트가 올라올 때 바로 확인할 수 있습니다.

다음 업데이트 예고

이번 릴리즈가 이벤트 주최자를 위한 관리 도구에 집중했다면, 다음 릴리즈에서는 참여자 경험에 초점을 맞출 계획입니다. RSVP(참여 의사 표시)와 현장 체크인 기능을 우선적으로 작업할 예정입니다.

자세한 변경 사항은 GitHub 릴리즈 페이지에서 확인하실 수 있습니다. 감사합니다.

Jaeyeol Lee's avatar
Jaeyeol Lee

@kodingwarrior@hackers.pub

연합우주 친화적인 이벤트 개최 및 위치 정보 기반 체크인 SNS moim.live 입니다. v0.1.0 에서는 어떤 것을 만들고자 하는지 단순하게 보여주기 위함이었다면, v0.2.0 은 좀 더 이벤트 주최진의 입맛에 맞는 방향으로 작업을 진행했습니다.

추가된 기능들

이벤트 관리 대시보드

이벤트 관리자용 대시보드

그룹 주관으로 개설한 이벤트에 한해, 참여자 현황과 이벤트 상태를 한곳에서 관리할 수 있는 대시보드를 제공합니다. 참여 신청 목록 확인, 이벤트 상태 변경 등 주최자에게 필요한 핵심 작업을 대시보드 하나에서 처리할 수 있습니다.

장소 관리

대관 장소 담당자 연결 장소 업데이트
담당자 연결 장소 업데이트

기존에는 장소 정보가 수정 권한이 닫혀 있어, 정보가 변경되더라도 직접 업데이트하기 어려웠습니다. 이번 업데이트에서는 대관 장소를 관리하는 담당자에게 해당 장소의 편집 권한을 부여할 수 있도록 했습니다. 담당자가 직접 장소 정보를 최신 상태로 유지할 수 있으므로, 주최자는 이벤트 개설 시 항상 정확한 장소 정보를 활용할 수 있습니다.

대관 장소를 관리하는 담당자가 계시다면, 장소 정보를 등록하고 관리할 수 있는 권한을 부여해드릴 수 있습니다. @kodingwarrior@hackers.pub 으로 문의해 주세요

캘린더 뷰 지원

Calendar Upcoming Event
캘린더뷰 Upcoming

그룹 페이지에서 주최 예정인 이벤트를 캘린더 형태로 확인할 수 있습니다. 그룹이 관리하는 장소 페이지에서도 해당 장소에 예정된 이벤트를 캘린더로 조회할 수 있어, 일정이 겹치는지 빠르게 확인할 수 있습니다.

연합우주에서의 engagement 분석

engagement 분석

moim.live에서 만든 이벤트는 ActivityPub을 지원하는 SNS(Mastodon, Misskey 등)로 자동 전파됩니다. 이번 업데이트에서는 이 과정에서 발생하는 engagement를 주최자가 직접 확인할 수 있도록 했습니다. 대시보드에서 확인할 수 있는 지표는 다음과 같습니다:

  • 공유(Boost/Renote) — 이벤트 정보가 연합우주에서 얼마나 퍼졌는지
  • 관심 표시(Favourite) — 얼마나 많은 사람이 관심을 보이고 있는지
  • 댓글(Reply) — 이벤트에 대한 반응과 문의

이를 통해 주최자는 홍보가 어느 정도 효과를 내고 있는지 감을 잡을 수 있고, 다음 이벤트 홍보 전략을 세우는 데 참고할 수 있습니다.

그룹 RSS Feed 지원

그룹의 이벤트 소식을 RSS 리더에서 바로 구독할 수 있습니다. 예를 들어, 해커스펍의 소식은 아래 주소에서 구독 가능합니다:

👉 https://moim.live/groups/@hackerspub/feed.xml

RSS 리더를 사용하고 계시다면, 관심 있는 그룹의 피드를 등록해두시면 새로운 이벤트가 올라올 때 바로 확인할 수 있습니다.

다음 업데이트 예고

이번 릴리즈가 이벤트 주최자를 위한 관리 도구에 집중했다면, 다음 릴리즈에서는 참여자 경험에 초점을 맞출 계획입니다. RSVP(참여 의사 표시)와 현장 체크인 기능을 우선적으로 작업할 예정입니다.

자세한 변경 사항은 GitHub 릴리즈 페이지에서 확인하실 수 있습니다. 감사합니다.

Jaeyeol Lee's avatar
Jaeyeol Lee

@kodingwarrior@hackers.pub

연합우주 친화적인 이벤트 개최 및 위치 정보 기반 체크인 SNS moim.live 입니다. v0.1.0 에서는 어떤 것을 만들고자 하는지 단순하게 보여주기 위함이었다면, v0.2.0 은 좀 더 이벤트 주최진의 입맛에 맞는 방향으로 작업을 진행했습니다.

추가된 기능들

이벤트 관리 대시보드

이벤트 관리자용 대시보드

그룹 주관으로 개설한 이벤트에 한해, 참여자 현황과 이벤트 상태를 한곳에서 관리할 수 있는 대시보드를 제공합니다. 참여 신청 목록 확인, 이벤트 상태 변경 등 주최자에게 필요한 핵심 작업을 대시보드 하나에서 처리할 수 있습니다.

장소 관리

대관 장소 담당자 연결 장소 업데이트
담당자 연결 장소 업데이트

기존에는 장소 정보가 수정 권한이 닫혀 있어, 정보가 변경되더라도 직접 업데이트하기 어려웠습니다. 이번 업데이트에서는 대관 장소를 관리하는 담당자에게 해당 장소의 편집 권한을 부여할 수 있도록 했습니다. 담당자가 직접 장소 정보를 최신 상태로 유지할 수 있으므로, 주최자는 이벤트 개설 시 항상 정확한 장소 정보를 활용할 수 있습니다.

대관 장소를 관리하는 담당자가 계시다면, 장소 정보를 등록하고 관리할 수 있는 권한을 부여해드릴 수 있습니다. @kodingwarrior@hackers.pub 으로 문의해 주세요

캘린더 뷰 지원

Calendar Upcoming Event
캘린더뷰 Upcoming

그룹 페이지에서 주최 예정인 이벤트를 캘린더 형태로 확인할 수 있습니다. 그룹이 관리하는 장소 페이지에서도 해당 장소에 예정된 이벤트를 캘린더로 조회할 수 있어, 일정이 겹치는지 빠르게 확인할 수 있습니다.

연합우주에서의 engagement 분석

engagement 분석

moim.live에서 만든 이벤트는 ActivityPub을 지원하는 SNS(Mastodon, Misskey 등)로 자동 전파됩니다. 이번 업데이트에서는 이 과정에서 발생하는 engagement를 주최자가 직접 확인할 수 있도록 했습니다. 대시보드에서 확인할 수 있는 지표는 다음과 같습니다:

  • 공유(Boost/Renote) — 이벤트 정보가 연합우주에서 얼마나 퍼졌는지
  • 관심 표시(Favourite) — 얼마나 많은 사람이 관심을 보이고 있는지
  • 댓글(Reply) — 이벤트에 대한 반응과 문의

이를 통해 주최자는 홍보가 어느 정도 효과를 내고 있는지 감을 잡을 수 있고, 다음 이벤트 홍보 전략을 세우는 데 참고할 수 있습니다.

그룹 RSS Feed 지원

그룹의 이벤트 소식을 RSS 리더에서 바로 구독할 수 있습니다. 예를 들어, 해커스펍의 소식은 아래 주소에서 구독 가능합니다:

👉 https://moim.live/groups/@hackerspub/feed.xml

RSS 리더를 사용하고 계시다면, 관심 있는 그룹의 피드를 등록해두시면 새로운 이벤트가 올라올 때 바로 확인할 수 있습니다.

다음 업데이트 예고

이번 릴리즈가 이벤트 주최자를 위한 관리 도구에 집중했다면, 다음 릴리즈에서는 참여자 경험에 초점을 맞출 계획입니다. RSVP(참여 의사 표시)와 현장 체크인 기능을 우선적으로 작업할 예정입니다.

자세한 변경 사항은 GitHub 릴리즈 페이지에서 확인하실 수 있습니다. 감사합니다.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Glimmers of hope in dark times, !

Look at the responses to this asking how people experience our emerging fedi..

social.coop/@smallcircles/1161

A landscape of small villages, scattered with occasional larger cities, is the general perception thus far and that is a wonderful difference when contrasting to corporate ad-driven influencer-dominated platforms we have today.

It would be nice if some of the people who voted Ghost Town gave their impression and needs they have wrt the fediverse.. cc @mikeymikey

Also ghost-towners, check out @FediThing reply to the poll's thread:

social.chinwag.org/@FediThing/

And @nicol reply at:

social.coop/@nicol/11615902652

If you didn't vote yet, do so now. And consider adding your boost. It is literally about uplifting our online social universe. 🌻

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Complete this sentence:

"I experience as a .."

OptionVoters
Bustling city275 (19%)
Cozy village1044 (71%)
Ghost town64 (4%)
Other (please comment)96 (6%)
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Complete this sentence:

"I experience as a .."

OptionVoters
Bustling city275 (19%)
Cozy village1044 (71%)
Ghost town64 (4%)
Other (please comment)96 (6%)
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

Even more remarkable is the near complete absence of the developer community in mingling in the social side of the discussion.

To learn how actually *experience* this here fediverse. A which results from them tying their apps together, to hopefully get more than the sum of individual parts. By means of facilitating , technically speaking. But it involves more than getting that feature across the wire to the next app.

There's exists a clear gap between and , where the latter must serve the former to bring real solutions. Otherwise it is all apps and not much seamless social fabric to navigate. No peopleverse anywhere in sight. Just apps and users of them.

The apps see great success, and I enjoy their use a lot. But I don't see a future for the app-centric fediverse where it comes to providing mankind the future of .

social.coop/@smallcircles/1161

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:blobhyperthink:

The current fediverse is an evolutionary dead-end for 2 reasons:

1. It has painted itself in a small niche of decentralizing typical social media use cases, by means of post-facto interop and the introduction of protocol decay.

2. Lacking a proper grassroots standardization process, and with the primary mechanism for fediverse extension being only post-facto interoperability, there is no way out.

Congratulations to the early adopters, who managed to "cross the chasm" with their own app platforms. It took true grit to become deep experts, and plug holes needed for your app, but you have made it. Post-facto interop works in your favor now. You are unrestrained to productively add more features in your app, and put them on the fedi wire for others to deal with.

To avoid fedi to become less and less attractive to newcomers, we must now consider:

“Why do we want to grow the open social web, and for whom?” -- @ben

coding.social/blog/shared-owne

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@jwildeboer

Besides falling in the thread by context collapse with an unsubstantive remark (which I don't blame you for, as such is the nature of this communication medium), I've been posting extensively on some of the wicked challenges we must overcome, and which determine the future(s) of the fediverse(s) we have today. There is a lot to ponder about. It is not all technical in nature, and I'd argue our problems are more on the social side of things even.

An open standard is a technical artifact. The reason why someone creates the next standard, is a social one. Coding is social.

What is very remarkable is that on a poll asking fedizens about their social experience, and discussing deeper issues in the various subthreads, not any of the developers are mingling in.

This shows more than anything to me the app-centric nature of the fediverse, and how it evolves in a pure technosphere where app devs are in charge, the rest are users.

@fox @raphael @julian @mariusor

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@csarven @strypey @FinchHaven @naturzukunft2026

My arguments of the last two weeks that are spread about the timeline, boils down that Coding is Social, and code alone and passion for tech isn't always enough. Esp. if one depends on an entire technology ecosystem in a pioneering stage of its technology adoption lifecycle, that should evolve along with them. And which evolves on the basis of chaotic grassroots social dynamics that no one is able to steer onto a healthy adoption path. There are wicked problems to overcome, and they are mostly social in nature. I took notes on this for the fediverse years ago, and these challenges are still the same to this day, haven't been tackled.

discuss.coding.social/t/major-

We have a successful fediverse now, but also one who has limited its application area, hemmed themselves in wrt the original 'promise' of AP. With the API there's opportunity to make step in place, and get some of that back. And go LD route too.

social.coop/@smallcircles/1161

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:blobhyperthink:

The current fediverse is an evolutionary dead-end for 2 reasons:

1. It has painted itself in a small niche of decentralizing typical social media use cases, by means of post-facto interop and the introduction of protocol decay.

2. Lacking a proper grassroots standardization process, and with the primary mechanism for fediverse extension being only post-facto interoperability, there is no way out.

Congratulations to the early adopters, who managed to "cross the chasm" with their own app platforms. It took true grit to become deep experts, and plug holes needed for your app, but you have made it. Post-facto interop works in your favor now. You are unrestrained to productively add more features in your app, and put them on the fedi wire for others to deal with.

To avoid fedi to become less and less attractive to newcomers, we must now consider:

“Why do we want to grow the open social web, and for whom?” -- @ben

coding.social/blog/shared-owne

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

🤔

With quote posts we are able to shape our own micro 's within our timelines and those of others, buld social graphs (technosphere) and navigate social fabric (socioshere) ..

What might we be be able to weave if the aspects were used to their full extent and benefit?

Social semantic fabrics.

Frank's avatar
Frank

@frank@social.fraxoweb.com

I'm happy to see new canadian social media like https://ehnow.ca/ and https://hey.cafe #canada

But so far, I still think #activitypub #mastodon and the #fediverse are the superior options.

Mostly because it's #decentralized and #federated

But most non-tech (normal) people don't understand those concepts.

They don't wanna deal with the fediverse because the learning curve is too high and they simply don't understand.

They just want something simple and that works.

Frank's avatar
Frank

@frank@social.fraxoweb.com

I'm happy to see new canadian social media like https://ehnow.ca/ and https://hey.cafe #canada

But so far, I still think #activitypub #mastodon and the #fediverse are the superior options.

Mostly because it's #decentralized and #federated

But most non-tech (normal) people don't understand those concepts.

They don't wanna deal with the fediverse because the learning curve is too high and they simply don't understand.

They just want something simple and that works.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@johannab

Read the blog post, and these are astute observation and valuable way of thinking about the networking environment, both offline as well as online, and how they interact together, how they intertwine. envisions a peopleverse (which is a concept, not a name), a hypothetical space where the interaction is seamless and technology unobtrusively serves our day to day needs.

is a powerful instrument to design better social experiences.

Often the talk of the town in the dev circles is about some feature or other, an app functionality and the extent to which it can be made interoperable. Technical implementation details dominate the discussion. And drama ensues on the broader if social impact and other externalities are overlooked in an app design.

When comparing we have today, it really is like sticky notes on the fridge, which fall off or are removed by people. And we project all communication modes onto them.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Johanna, CanCon variety's post

@johannab

Oww, that is interesting. See here what brought me to the fediverse ages ago on IT timescales..

social.coop/@smallcircles/1161

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Evan Prodromou's post

@evan

So the area where my plans go I call "Residential social networking", geo-fenced but inter-connected social networking circles that cover a city, town, or rural area, and which enable their residents to not only create content on the network, but the dynamic apps and services based on local needs that exist in the area. The intent of a residential social network is to engage people *offline* and in activities that support the local economy. Or rather strengthens the Circles of Sustainability in SX terminology:

coding.social/blog/reimagine-s

And all this should be a relatively low-code affair, directly accessible already for a first-time dev. This requires having a mature open standards based healthy technology foundation and thriving ecosystem.

I am a developer, though with rusty coding skills these days, and I might have started a fedi app design in 2018 or so. But this would not have led to the desired outcome, just throw one more app-centric software in the mix.

Sarven Capadisli's avatar
Sarven Capadisli

@csarven@w3c.social · Reply to 🫧 socialcoding..'s post

@smallcircles @strypey @FinchHaven @naturzukunft2026

Hi, author of some things here. I can assure you that that is more of that big bad "semantic web" stuff baked into than there is to but people spin things as they want to for a narrative. That said, totally agree with you that do x and y will come is not enough. Folks conflate various variables or attempt to boil things down to a single perspective. The reality is far more strange and unpredictable.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@strypey @FinchHaven @naturzukunft2026

For the sake of further clarity I should point to your starting post and this text:

> we need domain-specific applications that leverage ActivityPub’s full semantic potential

And remark that in my opinion and by observation, tapping the sign "Reminder: is , folks!" isn't enough. Much more is needed than pointing to the to win back developers minds to adopt . There is a high reluctance and resistance to adoption that must be overcome.

Referring again to that adoption chart I drafted the other day - which is about , but this is where LD is strong(est?) today - "build open standards, and they will come" isn't going so well. I hope that changes, as I have always been a fan of the *notion* of the semantic web. Yet in role of a technology decision maker, not ready to bet on it for a social networking environment.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Complete this sentence:

"I experience as a .."

OptionVoters
Bustling city275 (19%)
Cozy village1044 (71%)
Ghost town64 (4%)
Other (please comment)96 (6%)
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@johannab I for my part are very happy you find this interesting. Addressing the social side is not the most popular among developer-heavy crowds :)

Feel welcome to participate in our matrix channels or forum. The latter serves as a note-taking tool, or - under SX definition - as a commons based prosperity vault, aggregating value over time as people leave their 2 cents.

Note the SX Mindfulness principle of Social coding commons.. the movement moves, or it pauses awaiting value aggregation by the next participant. Timeless. Everything hinges on proactive participation (and on the basis of intrinsic motivation following Hedonic peer production principles).

I am mentioning, as at the moment the movement is slow-moving, since I am looking for income to sustain my work in the commons. In other words I must let the SX Sustainability principle prevail now :)

Here a link to the core principles of Social experience design:

coding.social/blog/reimagine-s

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Complete this sentence:

"I experience as a .."

OptionVoters
Bustling city275 (19%)
Cozy village1044 (71%)
Ghost town64 (4%)
Other (please comment)96 (6%)
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Coho's post

RE: social.coop/@smallcircles/1161

@Coho @maikel

I think we also have to be careful and gauge the extent to which we get informed on problems by the way we shaped our own bubble / echo chamber over time.

Today for instance I sent a poll and got astoundingly and delightful positive responses on how people experience ..

I intend to follow up with another poll. But the poll results already show a new paradigm of social networking that which Social experience design calls . On the fedi you are in control over your own by carefully curating your social graph.

coding.social/blog/reimagine-s

Here's that poll btw, which will run for 6 more days. Curious about the final results.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

We published 1.2.5, this release fixes RSS issues on some readers:

discover.holos.social/feeds

Also, for more transparency, we added a real-time stats page showing processed activities, blocked instances and more.

discover.holos.social/stats

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

🤔

With quote posts we are able to shape our own micro 's within our timelines and those of others, buld social graphs (technosphere) and navigate social fabric (socioshere) ..

What might we be be able to weave if the aspects were used to their full extent and benefit?

Social semantic fabrics.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

We published 1.2.5, this release fixes RSS issues on some readers:

discover.holos.social/feeds

Also, for more transparency, we added a real-time stats page showing processed activities, blocked instances and more.

discover.holos.social/stats

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»CBP Tapped Into the Online Advertising Ecosystem To Track Peoples’ Movements« 404media.co/cbp-tapped-into-th

Funky Bob's avatar
Funky Bob

@FunkyBob@chaos.social

Do I know anyone who's implemented an service in ?

Which libs would you recommend?

What do you advise I learn?

jalict's avatar
jalict

@jalict@mastodon.gamedev.place

was really nice and easy to setup - but does not have a web client built-in. I would prefer that.

can anyone recommend a lightweight server+client, will probably be max 5-10 users?

snac2 looks good, but i think i might have to fiddle with the stylesheet quite a bit..

is misskey good?

halp

Maddy's avatar
Maddy

@maddyunderstars@aus.social

RE: not-brain.d.on-t.work/notes/ai

Shoot, my federated instant messenger, has discord-like roles :)

too bad I haven't implemented a role editor in the client yet :( but it's coming! eventually!!

github.com/maddyunderstars/sho

kopper :colon_three:'s avatar
kopper :colon_three:

@kopper@not-brain.d.on-t.work

discord: we have permissions you can define in roles and override per-channel and per-user. you define them once in a community and they all apply to all channels unless overriden

literally every "alternative": we got.... uhhh.... number. the bigger the number the more you can do. it's between 1 and 100. no you can not change what the numbers do
Maddy's avatar
Maddy

@maddyunderstars@aus.social

RE: not-brain.d.on-t.work/notes/ai

Shoot, my federated instant messenger, has discord-like roles :)

too bad I haven't implemented a role editor in the client yet :( but it's coming! eventually!!

github.com/maddyunderstars/sho

kopper :colon_three:'s avatar
kopper :colon_three:

@kopper@not-brain.d.on-t.work

discord: we have permissions you can define in roles and override per-channel and per-user. you define them once in a community and they all apply to all channels unless overriden

literally every "alternative": we got.... uhhh.... number. the bigger the number the more you can do. it's between 1 and 100. no you can not change what the numbers do
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Glimmers of hope in dark times, !

Look at the responses to this asking how people experience our emerging fedi..

social.coop/@smallcircles/1161

A landscape of small villages, scattered with occasional larger cities, is the general perception thus far and that is a wonderful difference when contrasting to corporate ad-driven influencer-dominated platforms we have today.

It would be nice if some of the people who voted Ghost Town gave their impression and needs they have wrt the fediverse.. cc @mikeymikey

Also ghost-towners, check out @FediThing reply to the poll's thread:

social.chinwag.org/@FediThing/

And @nicol reply at:

social.coop/@nicol/11615902652

If you didn't vote yet, do so now. And consider adding your boost. It is literally about uplifting our online social universe. 🌻

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»A new Share button« blog.joinmastodon.org/2026/03/

hardtech.fts's avatar
hardtech.fts

@hardtech@corteximplant.com

Recap for an activitypub instance.

OK let's recap.
I have a GMKtec nucbox G3, Intel n100, 512gb ssd, 16gb ram.

  • mastodon-glitchsoc: no. Not for a small instance. Too heavy.
  • Sharkey: no. Not for a small instance. Too heavy, and too ma'y informations on the screen.
  • Mitra: no. Could have been good one, but users can write stuff and make it readable only if you pay with XRM (or other crypto shit)
  • Iceshrimp: no. The dev is random.
  • Hubzilla: why not. But doesn't work properly with my yunohost setup.
  • BonFire: why not. But nobody knows it. There is no mobile app so far, but it's planned.
  • Akkoma: why not, but it's hell to install.
  • Gotosocial: why not. But there is no UI, need to use phanpy, phanpy doesn't have mobile app and needs to be pinned on the screen. Other mobile apps take GTS in charge though. Haven't found anything bad until now.
  • Hollo: why not, but when it will be on Yunohost, otherwise I don't want to use a specific service (railway, as apparently it's the fastest way to install it)
  • Snac2: why not, probably the simplest to set up, lightweight. But need an nginx to point the domain on the software, and need a reverse proxy. It has a minimalist UI.

Surf's avatar
Surf

@surf@flipboard.social

ICYMI, @fediforum's Growing the Open Social Web unworkshop took place today. Catch up on everything that happened via
@tchambers's FediForum Surf feed.

surf.social/feed/surf%2Fcustom

Surf's avatar
Surf

@surf@flipboard.social

ICYMI, @fediforum's Growing the Open Social Web unworkshop took place today. Catch up on everything that happened via
@tchambers's FediForum Surf feed.

surf.social/feed/surf%2Fcustom

Surf's avatar
Surf

@surf@flipboard.social

ICYMI, @fediforum's Growing the Open Social Web unworkshop took place today. Catch up on everything that happened via
@tchambers's FediForum Surf feed.

surf.social/feed/surf%2Fcustom

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Today @kopper shared a post on the fediverse titled how to not regret c2s, and I found it genuinely interesting to read, even if I'm not sure its proposed architecture actually solves what it sets out to solve.

The author's frustration with naïve implementations is well-founded. Slapping an facade onto an existing Mastodon-like server and calling it C2S doesn't buy you much—you end up with the rigidity of a bespoke API without any of the interoperability C2S is supposed to offer. The “JSON-LD flavored Mastodon API” framing is apt.

The proposed solution is to split responsibility more aggressively: the C2S server should be nearly stateless and dumb, storing ActivityPub objects without interpreting them, while a separate “client” layer handles indexing, timelines, moderation, and exposes its own API to the frontend running on the user's device. It's a clean separation of concerns on paper.

But here's what bothers me. When you map this architecture onto familiar terms, it looks roughly like this:

  • C2S server ≈ a database (PostgreSQL, say)
  • “Client” ≈ an application server (Mastodon, Misskey)
  • “Frontend” ≈ the actual client app on your phone

That's not a new architecture. That's just the current architecture with the labels shifted. The interesting question is which interface gets standardized, and the author's answer is the one between the C2S server and the “client” layer—the bottom boundary.

The problem is that what people actually want from C2S is to connect any frontend to any server. The portability they're after lives at the top boundary, between the frontend and whatever is behind it. But the author explicitly argues against standardizing that layer: “we don't really need a standardized api,” they write, leaving each client free to expose whatever API it likes.

Which means frontends remain locked to specific clients, just as Mastodon apps are locked to the Mastodon API today. The interoperability promise of C2S—log in to any server with any app—isn't actually delivered. It's been pushed one layer down, out of reach of the end user.

There's real value in the post's thinking about data hosting vs. interpretation, and about the security implications of servers that understand too much. But as an answer to the question C2S is supposed to answer, I'm not convinced.

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

Did you know that with you can enable verification?

If your Fediprofile links to your Mastodon account, and your Mastodon account links back to your Fediprofile, both will show as verified. Simple, mutual verification.

And you can go beyond the 4-link limit. One link to rule them all.

Check out the project here: hub.vocalcat.com and if you are willing to get your hands-dirty and test, send me a private message for an invitation code.

a screenshot of my mastodon showing links as verified
ALT text detailsa screenshot of my mastodon showing links as verified
a screenshot of fediprofile showing my mastodon as verified
ALT text detailsa screenshot of fediprofile showing my mastodon as verified
@BjornW@mastodon.social's avatar
@BjornW@mastodon.social

@BjornW@mastodon.social

Attending the 'Growing the Open Social Web' online get-together by @fediforum.

Always nice to have the chance to talk with people (👋 @benpate) on the possibilities of the 'Open Social' web and learn from each other.

hardtech.fts's avatar
hardtech.fts

@hardtech@corteximplant.com

Recap for an activitypub instance.

OK let's recap.
I have a GMKtec nucbox G3, Intel n100, 512gb ssd, 16gb ram.

  • mastodon-glitchsoc: no. Not for a small instance. Too heavy.
  • Sharkey: no. Not for a small instance. Too heavy, and too ma'y informations on the screen.
  • Mitra: no. Could have been good one, but users can write stuff and make it readable only if you pay with XRM (or other crypto shit)
  • Iceshrimp: no. The dev is random.
  • Hubzilla: why not. But doesn't work properly with my yunohost setup.
  • BonFire: why not. But nobody knows it. There is no mobile app so far, but it's planned.
  • Akkoma: why not, but it's hell to install.
  • Gotosocial: why not. But there is no UI, need to use phanpy, phanpy doesn't have mobile app and needs to be pinned on the screen. Other mobile apps take GTS in charge though. Haven't found anything bad until now.
  • Hollo: why not, but when it will be on Yunohost, otherwise I don't want to use a specific service (railway, as apparently it's the fastest way to install it)
  • Snac2: why not, probably the simplest to set up, lightweight. But need an nginx to point the domain on the software, and need a reverse proxy. It has a minimalist UI.

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»A new Share button« blog.joinmastodon.org/2026/03/

@BjornW@mastodon.social's avatar
@BjornW@mastodon.social

@BjornW@mastodon.social

Attending the 'Growing the Open Social Web' online get-together by @fediforum.

Always nice to have the chance to talk with people (👋 @benpate) on the possibilities of the 'Open Social' web and learn from each other.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

()아시아에도 FediCon 같은 行事(행사)가 있으면 좋겠다는 말을 여러 () 해왔는데요. 獨立的(독립적)인 컨퍼런스는 아직 어렵더라도, 작은 첫걸음으로 생각해보고 있는 게 있습니다.

@COSCUP 2026(臺北(타이베이), 8() 8()–9())이 커뮤니티 트랙 提案(제안)을 받고 있어요. FOSDEM의 Social Web devroom 같은 느낌으로, 거기서 Social Web 트랙을 열 수 있지 않을까 하고 構想(구상) 중입니다.

아직 確定(확정)된 건 아무것도 없지만, , , ()은 소셜 웹 全般(전반)을 다루고 있고 發表(발표)共同(공동) 오거나이징에 關心(관심)이 있으신 분이 있다면 이야기 걸어주세요.

https://floss.social/@COSCUP/116152356550445285

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@nlnet @michiel

And see also the extensive posts I made the past 2 weeks on the subject matter, reiterating the many subjects and challenges of healthy ecosystem formation that ail the community and at large for many years now. I pinned one of those relevant threads to my profile at:

social.coop/@smallcircles/1161

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:blobhyperthink:

The current fediverse is an evolutionary dead-end for 2 reasons:

1. It has painted itself in a small niche of decentralizing typical social media use cases, by means of post-facto interop and the introduction of protocol decay.

2. Lacking a proper grassroots standardization process, and with the primary mechanism for fediverse extension being only post-facto interoperability, there is no way out.

Congratulations to the early adopters, who managed to "cross the chasm" with their own app platforms. It took true grit to become deep experts, and plug holes needed for your app, but you have made it. Post-facto interop works in your favor now. You are unrestrained to productively add more features in your app, and put them on the fedi wire for others to deal with.

To avoid fedi to become less and less attractive to newcomers, we must now consider:

“Why do we want to grow the open social web, and for whom?” -- @ben

coding.social/blog/shared-owne

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

Even more than Gleam community the AS/AP based fediverse faces existential threats where it comes to the promise to lead us towards "the future of social networking", a peopleverse. And poses high danger risks that must be known, so we can anticipate and mitigate them timely.

But above all we have to find ways to constructively collaborate with each in this chaotic grassroots environment we are part of.

and at scale, organic growth and sustainable evolution are applied research areas of Social coding commons, where participants add value while working on their own solutions, following their self-interests in alignment with those of other people

To folks who are interested in the general subject matter I addressed above, I recommend watching the talk given by Michiel Leenaars of @nlnet at last month:

"FOSS in times of war, scarcity and (adversarial) AI" by @michiel

fosdem.org/2026/schedule/event

Grow Your Own Services 🌱's avatar
Grow Your Own Services 🌱

@homegrown@social.growyourown.services

There's a new project called Holos which makes it a lot easier to host a Fediverse server on your own mobile device. You can follow the project at:

➡️ @HolosSocial

The official site explains how it works:

➡️ holos.social/how-it-works

To manage expectations, it's still in its early days and mainly for techy people at the moment. However, it will be interesting to follow its development 🙂

Holos is by the makers of the Mastodon/Fediverse mobile app Fedilab.

Strypey's avatar
Strypey

@strypey@mastodon.nzoss.nz

There have been many experiments with adding simple ActivityPub support to static blogs, enabling authors to publish their blog into the fediverse to be followed and get commented on. Some of these experimenters have documented what they did, and I've started a list of examples here;

codeberg.org/fediverse/fedipar

I chucked this together in a hurry, so please prod me about any mistakes, or any additions that could be made to the list.

Grow Your Own Services 🌱's avatar
Grow Your Own Services 🌱

@homegrown@social.growyourown.services

There's a new project called Holos which makes it a lot easier to host a Fediverse server on your own mobile device. You can follow the project at:

➡️ @HolosSocial

The official site explains how it works:

➡️ holos.social/how-it-works

To manage expectations, it's still in its early days and mainly for techy people at the moment. However, it will be interesting to follow its development 🙂

Holos is by the makers of the Mastodon/Fediverse mobile app Fedilab.

Grow Your Own Services 🌱's avatar
Grow Your Own Services 🌱

@homegrown@social.growyourown.services

There's a new project called Holos which makes it a lot easier to host a Fediverse server on your own mobile device. You can follow the project at:

➡️ @HolosSocial

The official site explains how it works:

➡️ holos.social/how-it-works

To manage expectations, it's still in its early days and mainly for techy people at the moment. However, it will be interesting to follow its development 🙂

Holos is by the makers of the Mastodon/Fediverse mobile app Fedilab.

Strypey's avatar
Strypey

@strypey@mastodon.nzoss.nz

There have been many experiments with adding simple ActivityPub support to static blogs, enabling authors to publish their blog into the fediverse to be followed and get commented on. Some of these experimenters have documented what they did, and I've started a list of examples here;

codeberg.org/fediverse/fedipar

I chucked this together in a hurry, so please prod me about any mistakes, or any additions that could be made to the list.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@fwtl

Note btw, that for the most part algorithms are not causing the issue of bad integrations between apps. These are due to the pragmatic nature in which our current app-centric fediverse evolves, i.e. by means of post-facto interoperability. Here app developers focus on getting app features on the wire, and whomever first succeeds in making their new custom protocol extension to become popular, becomes the de-facto standard for that feature. And everyone else should "follow the leader" or push themselves out of mainstream fediverse adoption, into their own app niche.

This is not a sustainable path, and I am among years-long advocates that we should do better in how we collectively evolve the fedi, so that it can truly become the social networking of the future. See also my posts from last week, like:

social.coop/@smallcircles/1161

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:blobhyperthink:

The current fediverse is an evolutionary dead-end for 2 reasons:

1. It has painted itself in a small niche of decentralizing typical social media use cases, by means of post-facto interop and the introduction of protocol decay.

2. Lacking a proper grassroots standardization process, and with the primary mechanism for fediverse extension being only post-facto interoperability, there is no way out.

Congratulations to the early adopters, who managed to "cross the chasm" with their own app platforms. It took true grit to become deep experts, and plug holes needed for your app, but you have made it. Post-facto interop works in your favor now. You are unrestrained to productively add more features in your app, and put them on the fedi wire for others to deal with.

To avoid fedi to become less and less attractive to newcomers, we must now consider:

“Why do we want to grow the open social web, and for whom?” -- @ben

coding.social/blog/shared-owne

Strypey's avatar
Strypey

@strypey@mastodon.nzoss.nz

There have been many experiments with adding simple ActivityPub support to static blogs, enabling authors to publish their blog into the fediverse to be followed and get commented on. Some of these experimenters have documented what they did, and I've started a list of examples here;

codeberg.org/fediverse/fedipar

I chucked this together in a hurry, so please prod me about any mistakes, or any additions that could be made to the list.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

以前から、東アジアにもFediConのようなイベントがあればいいなと言い続けてきました。独自のカンファレンスはまだ難しそうですが、小さな一歩として考えていることがあります。

@COSCUP 2026(台北、8月8日〜9日)がコミュニティトラックの提案を受け付けています。FOSDEMのSocial Web devroomのような感じで、Social Webトラックを開けないかなと思っているところです。

まだ構想段階ですが、ActivityPubやフェディバース、ソーシャルウェブ全般に取り組んでいて、発表や共同オーガナイズに興味があるという方がいれば、ぜひ話しかけてください。

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

以前から、東アジアにもFediConのようなイベントがあればいいなと言い続けてきました。独自のカンファレンスはまだ難しそうですが、小さな一歩として考えていることがあります。

@COSCUP 2026(台北、8月8日〜9日)がコミュニティトラックの提案を受け付けています。FOSDEMのSocial Web devroomのような感じで、Social Webトラックを開けないかなと思っているところです。

まだ構想段階ですが、ActivityPubやフェディバース、ソーシャルウェブ全般に取り組んでいて、発表や共同オーガナイズに興味があるという方がいれば、ぜひ話しかけてください。

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

()아시아에도 FediCon 같은 行事(행사)가 있으면 좋겠다는 말을 여러 () 해왔는데요. 獨立的(독립적)인 컨퍼런스는 아직 어렵더라도, 작은 첫걸음으로 생각해보고 있는 게 있습니다.

@COSCUP 2026(臺北(타이베이), 8() 8()–9())이 커뮤니티 트랙 提案(제안)을 받고 있어요. FOSDEM의 Social Web devroom 같은 느낌으로, 거기서 Social Web 트랙을 열 수 있지 않을까 하고 構想(구상) 중입니다.

아직 確定(확정)된 건 아무것도 없지만, , , ()은 소셜 웹 全般(전반)을 다루고 있고 發表(발표)共同(공동) 오거나이징에 關心(관심)이 있으신 분이 있다면 이야기 걸어주세요.

https://floss.social/@COSCUP/116152356550445285

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Coho's post

RE: social.coop/@smallcircles/1161

@Coho @maikel

I think we also have to be careful and gauge the extent to which we get informed on problems by the way we shaped our own bubble / echo chamber over time.

Today for instance I sent a poll and got astoundingly and delightful positive responses on how people experience ..

I intend to follow up with another poll. But the poll results already show a new paradigm of social networking that which Social experience design calls . On the fedi you are in control over your own by carefully curating your social graph.

coding.social/blog/reimagine-s

Here's that poll btw, which will run for 6 more days. Curious about the final results.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Complete this sentence:

"I experience as a .."

OptionVoters
Bustling city275 (19%)
Cozy village1044 (71%)
Ghost town64 (4%)
Other (please comment)96 (6%)
segundaoportunidad's avatar
segundaoportunidad

@SecondChanceLemon@rebel.ar

RE: social.growyourown.services/@h

Existe un nuevo proyecto llamado que brinda la facilidad de tener tu propio servidor del en tu dispositivo móvil. Puedes seguir el proyecto en:

➡️ @HolosSocial

La web oficial explica cómo funciona:

➡️ holos.social/how-it-works

Para calmar expectativas, aún está en sus etapas iniciales y orientado a personas con conocimientos técnicos por ahora. Sin embargo, será interesante seguir su evolución 🙂

Holos es creado por los desarrolladores de la aplicación móvil para Mastodon/Fediverso .

Grow Your Own Services 🌱's avatar
Grow Your Own Services 🌱

@homegrown@social.growyourown.services

There's a new project called Holos which makes it a lot easier to host a Fediverse server on your own mobile device. You can follow the project at:

➡️ @HolosSocial

The official site explains how it works:

➡️ holos.social/how-it-works

To manage expectations, it's still in its early days and mainly for techy people at the moment. However, it will be interesting to follow its development 🙂

Holos is by the makers of the Mastodon/Fediverse mobile app Fedilab.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

segundaoportunidad's avatar
segundaoportunidad

@SecondChanceLemon@rebel.ar

RE: social.growyourown.services/@h

Existe un nuevo proyecto llamado que brinda la facilidad de tener tu propio servidor del en tu dispositivo móvil. Puedes seguir el proyecto en:

➡️ @HolosSocial

La web oficial explica cómo funciona:

➡️ holos.social/how-it-works

Para calmar expectativas, aún está en sus etapas iniciales y orientado a personas con conocimientos técnicos por ahora. Sin embargo, será interesante seguir su evolución 🙂

Holos es creado por los desarrolladores de la aplicación móvil para Mastodon/Fediverso .

Grow Your Own Services 🌱's avatar
Grow Your Own Services 🌱

@homegrown@social.growyourown.services

There's a new project called Holos which makes it a lot easier to host a Fediverse server on your own mobile device. You can follow the project at:

➡️ @HolosSocial

The official site explains how it works:

➡️ holos.social/how-it-works

To manage expectations, it's still in its early days and mainly for techy people at the moment. However, it will be interesting to follow its development 🙂

Holos is by the makers of the Mastodon/Fediverse mobile app Fedilab.

Grow Your Own Services 🌱's avatar
Grow Your Own Services 🌱

@homegrown@social.growyourown.services

There's a new project called Holos which makes it a lot easier to host a Fediverse server on your own mobile device. You can follow the project at:

➡️ @HolosSocial

The official site explains how it works:

➡️ holos.social/how-it-works

To manage expectations, it's still in its early days and mainly for techy people at the moment. However, it will be interesting to follow its development 🙂

Holos is by the makers of the Mastodon/Fediverse mobile app Fedilab.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Paul's post

@thePB

Available apps may not serve your purposes, but check out the category in the delightful curated list, where I collected all non-developer related projects..

delightful.coding.social/delig

Paul's avatar
Paul

@thePB@mastodon.social · Reply to Paul's post

And here's my question in English: Is there any good place that does more or less the same thing as Yelp, Foursquare or Google Maps (i.e. a service that lets you discover, rate and recommend places), but based on the / and/or ?

Paul's avatar
Paul

@thePB@mastodon.social · Reply to Paul's post

And here's my question in English: Is there any good place that does more or less the same thing as Yelp, Foursquare or Google Maps (i.e. a service that lets you discover, rate and recommend places), but based on the / and/or ?

dansup's avatar
dansup

@dansup@mastodon.social

Loops just shipped support for more interactionPolicy types, giving our community more control to limit certain interactions, like disabling comments or QuotePosts.

Huge shout out to GotoSocial and @dumpsterqueer for stewarding this ActivityPub extension to better protect our communities.

Isn't it amazing what is possible when projects that would normally compete with each other, can instead collaborate and build safer communities for all?

We all win when we put people first.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

Paul's avatar
Paul

@thePB@mastodon.social

Frage: Was ist der alternative Ort für Bewertungen/Empfehlungen von Orten? Gibt es da irgendwas und/oder bzw. basiertes? Ich denke da an etwas wie Google Maps, Foursquare, Yelp, etc

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Complete this sentence:

"I experience as a .."

OptionVoters
Bustling city275 (19%)
Cozy village1044 (71%)
Ghost town64 (4%)
Other (please comment)96 (6%)
dansup's avatar
dansup

@dansup@mastodon.social

Loops just shipped support for more interactionPolicy types, giving our community more control to limit certain interactions, like disabling comments or QuotePosts.

Huge shout out to GotoSocial and @dumpsterqueer for stewarding this ActivityPub extension to better protect our communities.

Isn't it amazing what is possible when projects that would normally compete with each other, can instead collaborate and build safer communities for all?

We all win when we put people first.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

()아시아에도 FediCon 같은 行事(행사)가 있으면 좋겠다는 말을 여러 () 해왔는데요. 獨立的(독립적)인 컨퍼런스는 아직 어렵더라도, 작은 첫걸음으로 생각해보고 있는 게 있습니다.

@COSCUP 2026(臺北(타이베이), 8() 8()–9())이 커뮤니티 트랙 提案(제안)을 받고 있어요. FOSDEM의 Social Web devroom 같은 느낌으로, 거기서 Social Web 트랙을 열 수 있지 않을까 하고 構想(구상) 중입니다.

아직 確定(확정)된 건 아무것도 없지만, , , ()은 소셜 웹 全般(전반)을 다루고 있고 發表(발표)共同(공동) 오거나이징에 關心(관심)이 있으신 분이 있다면 이야기 걸어주세요.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

()아시아에도 FediCon 같은 行事(행사)가 있으면 좋겠다는 말을 여러 () 해왔는데요. 獨立的(독립적)인 컨퍼런스는 아직 어렵더라도, 작은 첫걸음으로 생각해보고 있는 게 있습니다.

@COSCUP 2026(臺北(타이베이), 8() 8()–9())이 커뮤니티 트랙 提案(제안)을 받고 있어요. FOSDEM의 Social Web devroom 같은 느낌으로, 거기서 Social Web 트랙을 열 수 있지 않을까 하고 構想(구상) 중입니다.

아직 確定(확정)된 건 아무것도 없지만, , , ()은 소셜 웹 全般(전반)을 다루고 있고 發表(발표)共同(공동) 오거나이징에 關心(관심)이 있으신 분이 있다면 이야기 걸어주세요.

https://floss.social/@COSCUP/116152356550445285

Freuwesen's avatar
Freuwesen

@freuwesen@sueden.social

Hey @pfefferle
Mal wieder eine Frage zum Plugin.
Es müsste doch auch möglich sein, spätestens bei Deinstallation oder Deaktivierung die Erweiterung des Blogs ins Fediverse zu kappen und das dortige Profil mitsamt aller Posts zu löschen.
Ist das schon so?
Und wie ist das wenn ich einen veröffentlichen Blogbeitrag einzeln aus dem Fediverse entfernen möchte ohne den Blogbeitrag im Blog zu löschen? Reagiert das darauf, wenn ich im Post die Fediverse Veröffentlichung zurück nehme?

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

Robert Riemann 🇪🇺's avatar
Robert Riemann 🇪🇺

@rriemann@chaos.social · Reply to Frank Davies's post

@fd93 Discourse is not distributed () and people need a distinct account. Discourse is also good for knowledge management, questions and answers pages, newsletters. It encourages longer posts.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

以前から、東アジアにもFediConのようなイベントがあればいいなと言い続けてきました。独自のカンファレンスはまだ難しそうですが、小さな一歩として考えていることがあります。

@COSCUP 2026(台北、8月8日〜9日)がコミュニティトラックの提案を受け付けています。FOSDEMのSocial Web devroomのような感じで、Social Webトラックを開けないかなと思っているところです。

まだ構想段階ですが、ActivityPubやフェディバース、ソーシャルウェブ全般に取り組んでいて、発表や共同オーガナイズに興味があるという方がいれば、ぜひ話しかけてください。

https://floss.social/@COSCUP/116152356550445285

dansup's avatar
dansup

@dansup@mastodon.social

Loops Starter Kits are almost ready to ship!

Consent is crucial to prevent abuse, so you will need to get approval for every account you want to include in each kit.

We will add a setting to auto approve every request, as well as the ability to disable this for your account to auto reject if desired.

Shipping soon!

Loops Starter Kits
ALT text detailsLoops Starter Kits
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

以前から、東アジアにもFediConのようなイベントがあればいいなと言い続けてきました。独自のカンファレンスはまだ難しそうですが、小さな一歩として考えていることがあります。

@COSCUP 2026(台北、8月8日〜9日)がコミュニティトラックの提案を受け付けています。FOSDEMのSocial Web devroomのような感じで、Social Webトラックを開けないかなと思っているところです。

まだ構想段階ですが、ActivityPubやフェディバース、ソーシャルウェブ全般に取り組んでいて、発表や共同オーガナイズに興味があるという方がいれば、ぜひ話しかけてください。

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

()아시아에도 FediCon 같은 行事(행사)가 있으면 좋겠다는 말을 여러 () 해왔는데요. 獨立的(독립적)인 컨퍼런스는 아직 어렵더라도, 작은 첫걸음으로 생각해보고 있는 게 있습니다.

@COSCUP 2026(臺北(타이베이), 8() 8()–9())이 커뮤니티 트랙 提案(제안)을 받고 있어요. FOSDEM의 Social Web devroom 같은 느낌으로, 거기서 Social Web 트랙을 열 수 있지 않을까 하고 構想(구상) 중입니다.

아직 確定(확정)된 건 아무것도 없지만, , , ()은 소셜 웹 全般(전반)을 다루고 있고 發表(발표)共同(공동) 오거나이징에 關心(관심)이 있으신 분이 있다면 이야기 걸어주세요.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

()아시아에도 FediCon 같은 行事(행사)가 있으면 좋겠다는 말을 여러 () 해왔는데요. 獨立的(독립적)인 컨퍼런스는 아직 어렵더라도, 작은 첫걸음으로 생각해보고 있는 게 있습니다.

@COSCUP 2026(臺北(타이베이), 8() 8()–9())이 커뮤니티 트랙 提案(제안)을 받고 있어요. FOSDEM의 Social Web devroom 같은 느낌으로, 거기서 Social Web 트랙을 열 수 있지 않을까 하고 構想(구상) 중입니다.

아직 確定(확정)된 건 아무것도 없지만, , , ()은 소셜 웹 全般(전반)을 다루고 있고 發表(발표)共同(공동) 오거나이징에 關心(관심)이 있으신 분이 있다면 이야기 걸어주세요.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

()아시아에도 FediCon 같은 行事(행사)가 있으면 좋겠다는 말을 여러 () 해왔는데요. 獨立的(독립적)인 컨퍼런스는 아직 어렵더라도, 작은 첫걸음으로 생각해보고 있는 게 있습니다.

@COSCUP 2026(臺北(타이베이), 8() 8()–9())이 커뮤니티 트랙 提案(제안)을 받고 있어요. FOSDEM의 Social Web devroom 같은 느낌으로, 거기서 Social Web 트랙을 열 수 있지 않을까 하고 構想(구상) 중입니다.

아직 確定(확정)된 건 아무것도 없지만, , , ()은 소셜 웹 全般(전반)을 다루고 있고 發表(발표)共同(공동) 오거나이징에 關心(관심)이 있으신 분이 있다면 이야기 걸어주세요.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

以前から、東アジアにもFediConのようなイベントがあればいいなと言い続けてきました。独自のカンファレンスはまだ難しそうですが、小さな一歩として考えていることがあります。

@COSCUP 2026(台北、8月8日〜9日)がコミュニティトラックの提案を受け付けています。FOSDEMのSocial Web devroomのような感じで、Social Webトラックを開けないかなと思っているところです。

まだ構想段階ですが、ActivityPubやフェディバース、ソーシャルウェブ全般に取り組んでいて、発表や共同オーガナイズに興味があるという方がいれば、ぜひ話しかけてください。

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

以前から、東アジアにもFediConのようなイベントがあればいいなと言い続けてきました。独自のカンファレンスはまだ難しそうですが、小さな一歩として考えていることがあります。

@COSCUP 2026(台北、8月8日〜9日)がコミュニティトラックの提案を受け付けています。FOSDEMのSocial Web devroomのような感じで、Social Webトラックを開けないかなと思っているところです。

まだ構想段階ですが、ActivityPubやフェディバース、ソーシャルウェブ全般に取り組んでいて、発表や共同オーガナイズに興味があるという方がいれば、ぜひ話しかけてください。

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

()아시아에도 FediCon 같은 行事(행사)가 있으면 좋겠다는 말을 여러 () 해왔는데요. 獨立的(독립적)인 컨퍼런스는 아직 어렵더라도, 작은 첫걸음으로 생각해보고 있는 게 있습니다.

@COSCUP 2026(臺北(타이베이), 8() 8()–9())이 커뮤니티 트랙 提案(제안)을 받고 있어요. FOSDEM의 Social Web devroom 같은 느낌으로, 거기서 Social Web 트랙을 열 수 있지 않을까 하고 構想(구상) 중입니다.

아직 確定(확정)된 건 아무것도 없지만, , , ()은 소셜 웹 全般(전반)을 다루고 있고 發表(발표)共同(공동) 오거나이징에 關心(관심)이 있으신 분이 있다면 이야기 걸어주세요.

https://floss.social/@COSCUP/116152356550445285

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I've been saying for a while that we need something like FediCon in East Asia. A dedicated conference is still a stretch, but I've been thinking about a smaller step:

@COSCUP 2026 (Taipei, Aug 8–9) is accepting proposals for community tracks. It might be worth trying to open a Social Web track there—something in the spirit of the Social Web devroom at FOSDEM.

Nothing is decided yet, but if you're working on , the , or anything in the social web space and might be interested in speaking (or co-organizing), I'd love to hear from you.

https://floss.social/@COSCUP/116152356550445285

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Fox Ritch :fjoxicon:🇩🇪's post

@fox @silverpill @raphael @julian @mariusor

Yes. I tooted about the need for Grassroots open standards and Grassroots standardization this morning..

social.coop/@smallcircles/1161

In a decentralized grassroots movement, somewhere there needs to an aggregation of the solution artifact. In this case a robust, comprehensible standard that can be readily implemented in libraries, frameworks and SDK's upon which then subsequently solution design can take place.

This is not centralization, this artifact can be federated. But there must be a place of convergence where consensus on protocol design comes together.

There might be a crowdsourced ActivityPub 2.0 specs + documentation site, plus a process around it to make it work.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

🤔

Noting a small likely unintentional side effect of the ability to edit posts on the fediverse..

It enables would-be influencers to use that as a growth-hacking tactic in their arsenal. Whereby editing a post some time after it was published, will serve to remind all people who interacted with it before (by receiving the 'edited' notification). And for those who only favorited another stimulus and opportunity to boost the post as well.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@laprice

A client sotware might add extra friction to discourage the anti-pattern, e.g. by requiring the formulation of a reason for the edit with a minimum amount of chars.

Also this reason might be federated. After all a 'federated edit' is something very different than an edit in your personal notepad in a local file. There are more abusive patterns that relate to editing. Thus enforce provisioning a good reason for edits.

(Update: Now I edited to add an important extra point to the post. And this is indiscernable from a growth hacker tactic. Plus if one isn't a growth hacker, and ones toot becomes popular - "goes viral", I hate that term - it is attractive and tempting to keep it all together in that post.)

This will make editing generally be less accessible, more unfriendly UX-wise, but there's something to say for having "Minimize post edits" be a best-practice on the social web.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

🤔

Noting a small likely unintentional side effect of the ability to edit posts on the fediverse..

It enables would-be influencers to use that as a growth-hacking tactic in their arsenal. Whereby editing a post some time after it was published, will serve to remind all people who interacted with it before (by receiving the 'edited' notification). And for those who only favorited another stimulus and opportunity to boost the post as well.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

In the , most software is built around a specific platform model. One for microblogging, one for video, one for photos... and new ones will keep coming.
With , your phone runs your own server. You control your data and can use your own domain as your identity.
Built on the protocol, not a platform model, Holos is not limited to a single use case. One account that adapts to your needs.
That's where we're heading, and we hope for your support.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

In the , most software is built around a specific platform model. One for microblogging, one for video, one for photos... and new ones will keep coming.
With , your phone runs your own server. You control your data and can use your own domain as your identity.
Built on the protocol, not a platform model, Holos is not limited to a single use case. One account that adapts to your needs.
That's where we're heading, and we hope for your support.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

In the , most software is built around a specific platform model. One for microblogging, one for video, one for photos... and new ones will keep coming.
With , your phone runs your own server. You control your data and can use your own domain as your identity.
Built on the protocol, not a platform model, Holos is not limited to a single use case. One account that adapts to your needs.
That's where we're heading, and we hope for your support.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

In the , most software is built around a specific platform model. One for microblogging, one for video, one for photos... and new ones will keep coming.
With , your phone runs your own server. You control your data and can use your own domain as your identity.
Built on the protocol, not a platform model, Holos is not limited to a single use case. One account that adapts to your needs.
That's where we're heading, and we hope for your support.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

In the , most software is built around a specific platform model. One for microblogging, one for video, one for photos... and new ones will keep coming.
With , your phone runs your own server. You control your data and can use your own domain as your identity.
Built on the protocol, not a platform model, Holos is not limited to a single use case. One account that adapts to your needs.
That's where we're heading, and we hope for your support.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

In the , most software is built around a specific platform model. One for microblogging, one for video, one for photos... and new ones will keep coming.
With , your phone runs your own server. You control your data and can use your own domain as your identity.
Built on the protocol, not a platform model, Holos is not limited to a single use case. One account that adapts to your needs.
That's where we're heading, and we hope for your support.

Super Owl's avatar
Super Owl

@gtsadmin@wiseowl.club · Reply to Super Owl's post

@owl Here's the blog post, explaining my [clears throat] "Super-Owl reverse proxy" for #gotosocial
"Gotosocial Reverse Proxy With Wireguard":
https://owleyes.blue/posts/gotosocial-reverse-proxy-with-wireguard/
#OpenSource #SelfHosting #nginx #wireguard #infosec #Mastodon #ActivityPub

Surf's avatar
Surf

@surf@flipboard.social

Less than a week till @fediforum's Growing the Social Web unworkshop! Get all the latest from @tchambers's Surf feed:

surf.social/feed/surf%2Fcustom

Surf's avatar
Surf

@surf@flipboard.social

Less than a week till @fediforum's Growing the Social Web unworkshop! Get all the latest from @tchambers's Surf feed:

surf.social/feed/surf%2Fcustom

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Today @kopper shared a post on the fediverse titled how to not regret c2s, and I found it genuinely interesting to read, even if I'm not sure its proposed architecture actually solves what it sets out to solve.

The author's frustration with naïve implementations is well-founded. Slapping an facade onto an existing Mastodon-like server and calling it C2S doesn't buy you much—you end up with the rigidity of a bespoke API without any of the interoperability C2S is supposed to offer. The “JSON-LD flavored Mastodon API” framing is apt.

The proposed solution is to split responsibility more aggressively: the C2S server should be nearly stateless and dumb, storing ActivityPub objects without interpreting them, while a separate “client” layer handles indexing, timelines, moderation, and exposes its own API to the frontend running on the user's device. It's a clean separation of concerns on paper.

But here's what bothers me. When you map this architecture onto familiar terms, it looks roughly like this:

  • C2S server ≈ a database (PostgreSQL, say)
  • “Client” ≈ an application server (Mastodon, Misskey)
  • “Frontend” ≈ the actual client app on your phone

That's not a new architecture. That's just the current architecture with the labels shifted. The interesting question is which interface gets standardized, and the author's answer is the one between the C2S server and the “client” layer—the bottom boundary.

The problem is that what people actually want from C2S is to connect any frontend to any server. The portability they're after lives at the top boundary, between the frontend and whatever is behind it. But the author explicitly argues against standardizing that layer: “we don't really need a standardized api,” they write, leaving each client free to expose whatever API it likes.

Which means frontends remain locked to specific clients, just as Mastodon apps are locked to the Mastodon API today. The interoperability promise of C2S—log in to any server with any app—isn't actually delivered. It's been pushed one layer down, out of reach of the end user.

There's real value in the post's thinking about data hosting vs. interpretation, and about the security implications of servers that understand too much. But as an answer to the question C2S is supposed to answer, I'm not convinced.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Fox Ritch :fjoxicon:🇩🇪's post

@fox @silverpill @raphael @julian @mariusor

Yes. I tooted about the need for Grassroots open standards and Grassroots standardization this morning..

social.coop/@smallcircles/1161

In a decentralized grassroots movement, somewhere there needs to an aggregation of the solution artifact. In this case a robust, comprehensible standard that can be readily implemented in libraries, frameworks and SDK's upon which then subsequently solution design can take place.

This is not centralization, this artifact can be federated. But there must be a place of convergence where consensus on protocol design comes together.

There might be a crowdsourced ActivityPub 2.0 specs + documentation site, plus a process around it to make it work.

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

What if... you had one Fedi account on a generic headless server that simply hosts and federates your data... and had C2S UIs for microblogging, long form writing, media editing and sharing, link aggregation, games, fitness tracking, and so on, that all used that same Fedi account. Technically, it's a similar concept as ATProto (but no relay and app view) and Solid Pods (but no RDF).

It seems possible... if we can improve the AP C2S API/protocol sufficiently.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Today @kopper shared a post on the fediverse titled how to not regret c2s, and I found it genuinely interesting to read, even if I'm not sure its proposed architecture actually solves what it sets out to solve.

The author's frustration with naïve implementations is well-founded. Slapping an facade onto an existing Mastodon-like server and calling it C2S doesn't buy you much—you end up with the rigidity of a bespoke API without any of the interoperability C2S is supposed to offer. The “JSON-LD flavored Mastodon API” framing is apt.

The proposed solution is to split responsibility more aggressively: the C2S server should be nearly stateless and dumb, storing ActivityPub objects without interpreting them, while a separate “client” layer handles indexing, timelines, moderation, and exposes its own API to the frontend running on the user's device. It's a clean separation of concerns on paper.

But here's what bothers me. When you map this architecture onto familiar terms, it looks roughly like this:

  • C2S server ≈ a database (PostgreSQL, say)
  • “Client” ≈ an application server (Mastodon, Misskey)
  • “Frontend” ≈ the actual client app on your phone

That's not a new architecture. That's just the current architecture with the labels shifted. The interesting question is which interface gets standardized, and the author's answer is the one between the C2S server and the “client” layer—the bottom boundary.

The problem is that what people actually want from C2S is to connect any frontend to any server. The portability they're after lives at the top boundary, between the frontend and whatever is behind it. But the author explicitly argues against standardizing that layer: “we don't really need a standardized api,” they write, leaving each client free to expose whatever API it likes.

Which means frontends remain locked to specific clients, just as Mastodon apps are locked to the Mastodon API today. The interoperability promise of C2S—log in to any server with any app—isn't actually delivered. It's been pushed one layer down, out of reach of the end user.

There's real value in the post's thinking about data hosting vs. interpretation, and about the security implications of servers that understand too much. But as an answer to the question C2S is supposed to answer, I'm not convinced.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@hongminhee @kopper

SX defines the concept of a Grassroots open standard, and a domain of Grassroots standardization.

These are direly needed to be able to healthily evolve to where it can be the future of social networking, and support a peopleverse.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Today @kopper shared a post on the fediverse titled how to not regret c2s, and I found it genuinely interesting to read, even if I'm not sure its proposed architecture actually solves what it sets out to solve.

The author's frustration with naïve implementations is well-founded. Slapping an facade onto an existing Mastodon-like server and calling it C2S doesn't buy you much—you end up with the rigidity of a bespoke API without any of the interoperability C2S is supposed to offer. The “JSON-LD flavored Mastodon API” framing is apt.

The proposed solution is to split responsibility more aggressively: the C2S server should be nearly stateless and dumb, storing ActivityPub objects without interpreting them, while a separate “client” layer handles indexing, timelines, moderation, and exposes its own API to the frontend running on the user's device. It's a clean separation of concerns on paper.

But here's what bothers me. When you map this architecture onto familiar terms, it looks roughly like this:

  • C2S server ≈ a database (PostgreSQL, say)
  • “Client” ≈ an application server (Mastodon, Misskey)
  • “Frontend” ≈ the actual client app on your phone

That's not a new architecture. That's just the current architecture with the labels shifted. The interesting question is which interface gets standardized, and the author's answer is the one between the C2S server and the “client” layer—the bottom boundary.

The problem is that what people actually want from C2S is to connect any frontend to any server. The portability they're after lives at the top boundary, between the frontend and whatever is behind it. But the author explicitly argues against standardizing that layer: “we don't really need a standardized api,” they write, leaving each client free to expose whatever API it likes.

Which means frontends remain locked to specific clients, just as Mastodon apps are locked to the Mastodon API today. The interoperability promise of C2S—log in to any server with any app—isn't actually delivered. It's been pushed one layer down, out of reach of the end user.

There's real value in the post's thinking about data hosting vs. interpretation, and about the security implications of servers that understand too much. But as an answer to the question C2S is supposed to answer, I'm not convinced.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Ben Pate 🤘🏻's post

@benpate @steve @mariusor

For Protosocial I was musing on a role for the Profile in modeling identity. Protosocial emphasizes the actor-based nature of and folllows the actor model in general.

Though these are just showerthoughts atm, a solution on the wire is represented with an Application actor, which can be introspected to find the services it offers, and these are accessible as service actors.

The Protosocial fediverse is an actor-based service-oriented distributed messaging architecture, combined with a linked data social and knowledge graph distributed data store.

A person should be able to have as many identities as they wish, some anonymous, some pseudonymous, some fully verified. These are all Person actors.

All actors have an ActorID, but they only identify the actor objects themself. The Profile would be a verifiable identity statement. A contextual visitor's card to pass along.

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

UPDATE: hub.vocalcat.com is open for public registration.

--

I’m building a new tool and looking for volunteers to test it! A linktree.

It’s designed for two types of people:

Normies / newcomers – Think of it like a free, privacy-respecting Linktree. No trackers, no ads. But here's the cool part: it's a Trojan horse for the fediverse. Your profile link is itself an ActivityPub actor. That means people can interact with it directly in the fediverse, and it encourages exploration of open platforms.

Fediverse users, If you have multiple accounts (, , Loops, a federated blog…), you know the struggle: sometimes you just want one persona to follow. This tool gives you that. It doesn’t post on its own (read-only), but it boosts all your other accounts and even has its own inbox. PLUS it can receive and show your badges issued by @badgefed !

Interested in testing? Right now it only supports mastodon/gotosocial authentication, so if you have a mastodon or gotosocial account register a new account.

--

UPDATE: I am doing load testing at this point, if many people sign-up expect some unavailability moments. Thanks for your patience, I want to discover the limits of the stack.

One webpage screenshot in white background and big letters saying Your links, Your Identity our Network
ALT text detailsOne webpage screenshot in white background and big letters saying Your links, Your Identity our Network
A screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
ALT text detailsA screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

UPDATE: hub.vocalcat.com is open for public registration.

--

I’m building a new tool and looking for volunteers to test it! A linktree.

It’s designed for two types of people:

Normies / newcomers – Think of it like a free, privacy-respecting Linktree. No trackers, no ads. But here's the cool part: it's a Trojan horse for the fediverse. Your profile link is itself an ActivityPub actor. That means people can interact with it directly in the fediverse, and it encourages exploration of open platforms.

Fediverse users, If you have multiple accounts (, , Loops, a federated blog…), you know the struggle: sometimes you just want one persona to follow. This tool gives you that. It doesn’t post on its own (read-only), but it boosts all your other accounts and even has its own inbox. PLUS it can receive and show your badges issued by @badgefed !

Interested in testing? Right now it only supports mastodon/gotosocial authentication, so if you have a mastodon or gotosocial account register a new account.

--

UPDATE: I am doing load testing at this point, if many people sign-up expect some unavailability moments. Thanks for your patience, I want to discover the limits of the stack.

One webpage screenshot in white background and big letters saying Your links, Your Identity our Network
ALT text detailsOne webpage screenshot in white background and big letters saying Your links, Your Identity our Network
A screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
ALT text detailsA screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
wakest likes your bugs ⁂'s avatar
wakest likes your bugs ⁂

@liaizon@social.wake.st

an interesting thread on Bluesky about why people are choosing to build on instead of
witchsky.app/profile/did:plc:r

silverpill's avatar
silverpill

@silverpill@mitra.social

Recently, there was a discussion about generic #ActivityPub servers. Several people claimed that they were working on one, but it turned out that their "generic" servers only support activities defined in the ActivityPub specification. Such a server shouldn't be called generic. It is not difficult to build, neither it is an interesting concept because competing protocols (e.g. Nostr) already offer much more.

I've been writing a #FEP that describes how to build a real generic server. It is not finished yet, but I feel like now is a good time to publish it:

FEP-fc48: Generic ActivityPub server

This kind of server:

- Can process any object type, and can process non-standard activities like EmojiReact.
- Compatible with FEP-ae97 clients.
- Does not require JSON-LD.

I attempted to implement it when I was researching security properties of FEP-ae97 API: https://codeberg.org/silverpill/fep-ae97-server. Back then I didn't know what to do with side effects, but now I think that we can simply force clients to specify them.

Special thanks to @mariusor and @trwnh for their input.

#C2S

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-27

Servers

- Bookwyrm v0.8.5
- Gush! v0.0.31
- Hollo v0.7.4
- flohmarkt v0.16.0
- Mastodon v4.5.7
- Wafrn v2026.02.02
- GoToSocial v0.21.0
- Loops v1.0.0-beta.10
- Ktistec v3.3.1
- Mitra v4.19.0
- Stegodon v1.8.0
- Hometown v1.2.0
- gathio v1.6.1
- Castopod v1.15.5
- NodeBB v4.9.0
- PieFed v1.6.7

Clients

- Pachli v3.4.0
- tooi v0.22.0
- Summit v1.78.1
- Photon v2.3.0
- Blorp v1.10.3
- Phanpy changelog

Tools and Plugins

- Poduptime v6.2.1
- Fediverse invitation

For developers

- Fedify v2.0

Protocol

- FEP-a427: Server Domain Migration
- FEP-fc48: Generic ActivityPub server

Articles

- Self-Hosting Pixelfed: Federated Instagram Without the Algorithm

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c7c6f-742a-7930-2413-73b1d9611c99

silverpill's avatar
silverpill

@silverpill@mitra.social

Recently, there was a discussion about generic #ActivityPub servers. Several people claimed that they were working on one, but it turned out that their "generic" servers only support activities defined in the ActivityPub specification. Such a server shouldn't be called generic. It is not difficult to build, neither it is an interesting concept because competing protocols (e.g. Nostr) already offer much more.

I've been writing a #FEP that describes how to build a real generic server. It is not finished yet, but I feel like now is a good time to publish it:

FEP-fc48: Generic ActivityPub server

This kind of server:

- Can process any object type, and can process non-standard activities like EmojiReact.
- Compatible with FEP-ae97 clients.
- Does not require JSON-LD.

I attempted to implement it when I was researching security properties of FEP-ae97 API: https://codeberg.org/silverpill/fep-ae97-server. Back then I didn't know what to do with side effects, but now I think that we can simply force clients to specify them.

Special thanks to @mariusor and @trwnh for their input.

#C2S

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

UPDATE: hub.vocalcat.com is open for public registration.

--

I’m building a new tool and looking for volunteers to test it! A linktree.

It’s designed for two types of people:

Normies / newcomers – Think of it like a free, privacy-respecting Linktree. No trackers, no ads. But here's the cool part: it's a Trojan horse for the fediverse. Your profile link is itself an ActivityPub actor. That means people can interact with it directly in the fediverse, and it encourages exploration of open platforms.

Fediverse users, If you have multiple accounts (, , Loops, a federated blog…), you know the struggle: sometimes you just want one persona to follow. This tool gives you that. It doesn’t post on its own (read-only), but it boosts all your other accounts and even has its own inbox. PLUS it can receive and show your badges issued by @badgefed !

Interested in testing? Right now it only supports mastodon/gotosocial authentication, so if you have a mastodon or gotosocial account register a new account.

--

UPDATE: I am doing load testing at this point, if many people sign-up expect some unavailability moments. Thanks for your patience, I want to discover the limits of the stack.

One webpage screenshot in white background and big letters saying Your links, Your Identity our Network
ALT text detailsOne webpage screenshot in white background and big letters saying Your links, Your Identity our Network
A screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
ALT text detailsA screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

UPDATE: hub.vocalcat.com is open for public registration.

--

I’m building a new tool and looking for volunteers to test it! A linktree.

It’s designed for two types of people:

Normies / newcomers – Think of it like a free, privacy-respecting Linktree. No trackers, no ads. But here's the cool part: it's a Trojan horse for the fediverse. Your profile link is itself an ActivityPub actor. That means people can interact with it directly in the fediverse, and it encourages exploration of open platforms.

Fediverse users, If you have multiple accounts (, , Loops, a federated blog…), you know the struggle: sometimes you just want one persona to follow. This tool gives you that. It doesn’t post on its own (read-only), but it boosts all your other accounts and even has its own inbox. PLUS it can receive and show your badges issued by @badgefed !

Interested in testing? Right now it only supports mastodon/gotosocial authentication, so if you have a mastodon or gotosocial account register a new account.

--

UPDATE: I am doing load testing at this point, if many people sign-up expect some unavailability moments. Thanks for your patience, I want to discover the limits of the stack.

One webpage screenshot in white background and big letters saying Your links, Your Identity our Network
ALT text detailsOne webpage screenshot in white background and big letters saying Your links, Your Identity our Network
A screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
ALT text detailsA screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

UPDATE: hub.vocalcat.com is open for public registration.

--

I’m building a new tool and looking for volunteers to test it! A linktree.

It’s designed for two types of people:

Normies / newcomers – Think of it like a free, privacy-respecting Linktree. No trackers, no ads. But here's the cool part: it's a Trojan horse for the fediverse. Your profile link is itself an ActivityPub actor. That means people can interact with it directly in the fediverse, and it encourages exploration of open platforms.

Fediverse users, If you have multiple accounts (, , Loops, a federated blog…), you know the struggle: sometimes you just want one persona to follow. This tool gives you that. It doesn’t post on its own (read-only), but it boosts all your other accounts and even has its own inbox. PLUS it can receive and show your badges issued by @badgefed !

Interested in testing? Right now it only supports mastodon/gotosocial authentication, so if you have a mastodon or gotosocial account register a new account.

--

UPDATE: I am doing load testing at this point, if many people sign-up expect some unavailability moments. Thanks for your patience, I want to discover the limits of the stack.

One webpage screenshot in white background and big letters saying Your links, Your Identity our Network
ALT text detailsOne webpage screenshot in white background and big letters saying Your links, Your Identity our Network
A screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
ALT text detailsA screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@silverpill @raphael @julian @mariusor

The killer app for the fediverse is not nomadic identity. That is either a protocol capability or may refer to an Identity Management app, a solution design.

Problem is, it is no use discussing here. No convergence takes place, other than spontaneous / random convergence. But it does not lead anywhere, not to a common consensus. Not to robust foundations to build on without continuous worries that things break. Microblog communications does not support this, and lacking that support manual processes are needed.

Even the only offers convergence to certain extent. The process is a band-aid, a best-we-have.

In analogy of the horserace, spontaneous convergence and ad-hoc alignment on FEP puzzle pieces by implementers equates to the horseback riders figuring out some basic rules to avoid serious accidents. But this FEP adoption at the same time warps the track, hems them in, alters reality and the future.

social.coop/@smallcircles/1161

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@silverpill @raphael @julian @mariusor

I sometimes picture fediverse as one of these old horseracing toys from the 50s, where the horses represent all the various perspectives and expectations people have of the fediverse. There is no horse to bet on, positions change all the time, horses change tracks randomly. And furthermore there no finish line, the race is an endless slog. The prize of a robust protocol forever out of reach, getting more elusive as time progresses.

Antique horseracing game from the fiftees, small horse figures on a plastic track, that can be slid forward.
ALT text detailsAntique horseracing game from the fiftees, small horse figures on a plastic track, that can be slid forward.
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to silverpill's post

@silverpill @raphael @julian @mariusor

Yes, I agree. Though I would rather see a generic server having much less functionality than a Mastodon API exposes, since much of that is app-specific, Microblogging domain already. The generic server should make Mastodon possible as a solution design modeled on top of its networking layer.

In such a way where we can finally consider the protocol layer to be robust, and are able to treat it as a black box, and are not confronted with all its implementation details when we are doing a solution design.

I think we are probably on the same page, but..

> If you want to go beyond Mastodon API capabilities, you need a truly generic server. Something akin to Nostr relay.

This I would reformulate as:

"If you want to go beyond an app-centric fediverse bound to a Microblogging domain, then you need a generic server conformant to the ActivityPub specification."

Which also indicates I think we need to aggregate puzzle pieces into an AP 2.0

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-27

Servers

- Bookwyrm v0.8.5
- Gush! v0.0.31
- Hollo v0.7.4
- flohmarkt v0.16.0
- Mastodon v4.5.7
- Wafrn v2026.02.02
- GoToSocial v0.21.0
- Loops v1.0.0-beta.10
- Ktistec v3.3.1
- Mitra v4.19.0
- Stegodon v1.8.0
- Hometown v1.2.0
- gathio v1.6.1
- Castopod v1.15.5
- NodeBB v4.9.0
- PieFed v1.6.7

Clients

- Pachli v3.4.0
- tooi v0.22.0
- Summit v1.78.1
- Photon v2.3.0
- Blorp v1.10.3
- Phanpy changelog

Tools and Plugins

- Poduptime v6.2.1
- Fediverse invitation

For developers

- Fedify v2.0

Protocol

- FEP-a427: Server Domain Migration
- FEP-fc48: Generic ActivityPub server

Articles

- Self-Hosting Pixelfed: Federated Instagram Without the Algorithm

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c7c6f-742a-7930-2413-73b1d9611c99

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to silverpill's post

@silverpill @raphael @julian @mariusor

In my book if a side effect is part of the protocol specification, then it constitutes a protocol capability. If not, then it is part of some app's / solution's business logic.

The definition of "ActivityPub extension" by itself is unclear. With overloaded use causing confusion. It may refer to:

- Protocol extension
- App / solution built on top of the protocol

To deal with protocol capabilities they must have water-tight specs, well-defined behavior and strict consistent use across the fediverse.

To deal with side effects that are part of solution designs for a particular application or business domain things go from simple to very complex in the amount of introspection and machine-readability that the Actor abstraction offers.

Simplest is finding the URL where the docs of the extension / solution design sit. Most complex is full introspection and handshaking. The latter is the Solid route.

social.coop/@smallcircles/1161

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

I recreated an old diagram in Excalidraw that I spread about a couple years ago, and made it a bit more informative. Explanation can be found in the

See also and for discussion: discuss.coding.social/t/diagra

Or join the Social experience design chatroom at: matrix.to/#/#socialcoding-foun

Also posted to at: socialhub.activitypub.rocks/t/

@ben

Diagram. Interoperability in practice. A chart with a horizontal axis that goes in 2 directions. On the left it moves towards chaotic grassroots growth, and on the right side towards open standards adoption. The Y-axis indicates level of complexity. The center indicates a low level of complexity.

On the left side of the axis we first find the ActivityPub open standard, with a relatively low complexity level. However the prevailing method to evolving the ecosystem is driven by post facto interoperability, where tech debt and protocol decay is introduced and accepted, which must be refactored and evolve alongside the open standard. Since this doesn’t happen, the fediverse grassroots environment is shifting more to the left into non-lineary increasing accidental complexity. Deviating more and more from the ActivityPub standard and the promise that it holds to offer the Future of Social networking.

On the right side, to contrast against fediverse, we find the Solid Project led by Sir Tim Berners-Lee, which is based on a whole range of W3C Linked Data related open standards and draft documents. There is no grassroots movement that drives progress, but a steering committee. Progress is restrained by open standards adoption and support. Higher levels of interoperability require more rigour and formal standardization, and this also leads to non-linear growth of, in this case, engineered complexity. Solution developers have to wait for many standards to mature, leading to inertia.
ALT text detailsDiagram. Interoperability in practice. A chart with a horizontal axis that goes in 2 directions. On the left it moves towards chaotic grassroots growth, and on the right side towards open standards adoption. The Y-axis indicates level of complexity. The center indicates a low level of complexity. On the left side of the axis we first find the ActivityPub open standard, with a relatively low complexity level. However the prevailing method to evolving the ecosystem is driven by post facto interoperability, where tech debt and protocol decay is introduced and accepted, which must be refactored and evolve alongside the open standard. Since this doesn’t happen, the fediverse grassroots environment is shifting more to the left into non-lineary increasing accidental complexity. Deviating more and more from the ActivityPub standard and the promise that it holds to offer the Future of Social networking. On the right side, to contrast against fediverse, we find the Solid Project led by Sir Tim Berners-Lee, which is based on a whole range of W3C Linked Data related open standards and draft documents. There is no grassroots movement that drives progress, but a steering committee. Progress is restrained by open standards adoption and support. Higher levels of interoperability require more rigour and formal standardization, and this also leads to non-linear growth of, in this case, engineered complexity. Solution developers have to wait for many standards to mature, leading to inertia.
Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-27

Servers

- Bookwyrm v0.8.5
- Gush! v0.0.31
- Hollo v0.7.4
- flohmarkt v0.16.0
- Mastodon v4.5.7
- Wafrn v2026.02.02
- GoToSocial v0.21.0
- Loops v1.0.0-beta.10
- Ktistec v3.3.1
- Mitra v4.19.0
- Stegodon v1.8.0
- Hometown v1.2.0
- gathio v1.6.1
- Castopod v1.15.5
- NodeBB v4.9.0
- PieFed v1.6.7

Clients

- Pachli v3.4.0
- tooi v0.22.0
- Summit v1.78.1
- Photon v2.3.0
- Blorp v1.10.3
- Phanpy changelog

Tools and Plugins

- Poduptime v6.2.1
- Fediverse invitation

For developers

- Fedify v2.0

Protocol

- FEP-a427: Server Domain Migration
- FEP-fc48: Generic ActivityPub server

Articles

- Self-Hosting Pixelfed: Federated Instagram Without the Algorithm

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c7c6f-742a-7930-2413-73b1d9611c99

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@silverpill @raphael @julian @mariusor

I sometimes picture fediverse as one of these old horseracing toys from the 50s, where the horses represent all the various perspectives and expectations people have of the fediverse. There is no horse to bet on, positions change all the time, horses change tracks randomly. And furthermore there no finish line, the race is an endless slog. The prize of a robust protocol forever out of reach, getting more elusive as time progresses.

Antique horseracing game from the fiftees, small horse figures on a plastic track, that can be slid forward.
ALT text detailsAntique horseracing game from the fiftees, small horse figures on a plastic track, that can be slid forward.
Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-27

Servers

- Bookwyrm v0.8.5
- Gush! v0.0.31
- Hollo v0.7.4
- flohmarkt v0.16.0
- Mastodon v4.5.7
- Wafrn v2026.02.02
- GoToSocial v0.21.0
- Loops v1.0.0-beta.10
- Ktistec v3.3.1
- Mitra v4.19.0
- Stegodon v1.8.0
- Hometown v1.2.0
- gathio v1.6.1
- Castopod v1.15.5
- NodeBB v4.9.0
- PieFed v1.6.7

Clients

- Pachli v3.4.0
- tooi v0.22.0
- Summit v1.78.1
- Photon v2.3.0
- Blorp v1.10.3
- Phanpy changelog

Tools and Plugins

- Poduptime v6.2.1
- Fediverse invitation

For developers

- Fedify v2.0

Protocol

- FEP-a427: Server Domain Migration
- FEP-fc48: Generic ActivityPub server

Articles

- Self-Hosting Pixelfed: Federated Instagram Without the Algorithm

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c7c6f-742a-7930-2413-73b1d9611c99

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-27

Servers

- Bookwyrm v0.8.5
- Gush! v0.0.31
- Hollo v0.7.4
- flohmarkt v0.16.0
- Mastodon v4.5.7
- Wafrn v2026.02.02
- GoToSocial v0.21.0
- Loops v1.0.0-beta.10
- Ktistec v3.3.1
- Mitra v4.19.0
- Stegodon v1.8.0
- Hometown v1.2.0
- gathio v1.6.1
- Castopod v1.15.5
- NodeBB v4.9.0
- PieFed v1.6.7

Clients

- Pachli v3.4.0
- tooi v0.22.0
- Summit v1.78.1
- Photon v2.3.0
- Blorp v1.10.3
- Phanpy changelog

Tools and Plugins

- Poduptime v6.2.1
- Fediverse invitation

For developers

- Fedify v2.0

Protocol

- FEP-a427: Server Domain Migration
- FEP-fc48: Generic ActivityPub server

Articles

- Self-Hosting Pixelfed: Federated Instagram Without the Algorithm

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c7c6f-742a-7930-2413-73b1d9611c99

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-27

Servers

- Bookwyrm v0.8.5
- Gush! v0.0.31
- Hollo v0.7.4
- flohmarkt v0.16.0
- Mastodon v4.5.7
- Wafrn v2026.02.02
- GoToSocial v0.21.0
- Loops v1.0.0-beta.10
- Ktistec v3.3.1
- Mitra v4.19.0
- Stegodon v1.8.0
- Hometown v1.2.0
- gathio v1.6.1
- Castopod v1.15.5
- NodeBB v4.9.0
- PieFed v1.6.7

Clients

- Pachli v3.4.0
- tooi v0.22.0
- Summit v1.78.1
- Photon v2.3.0
- Blorp v1.10.3
- Phanpy changelog

Tools and Plugins

- Poduptime v6.2.1
- Fediverse invitation

For developers

- Fedify v2.0

Protocol

- FEP-a427: Server Domain Migration
- FEP-fc48: Generic ActivityPub server

Articles

- Self-Hosting Pixelfed: Federated Instagram Without the Algorithm

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c7c6f-742a-7930-2413-73b1d9611c99

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@raphael @julian @mariusor

Another example of the need for careful terminology use is in the post that @silverpill quoted above:

> prevent actors on the same server from deleting each other posts

"post"? There is no post in , not as a verb and neither as a noun. While I am not worried that silverpill used the word in a wrong meaning here, the terminology easily leads to confusion where someone who interprets AS/AP to be equivalent to the fediverse we have today, pictures in their mind as Mastodon posts or toots in fedi slang, or elsewhere called statuses.

That is app terminology. AP only knows Actor, Activities, Objects, and perhaps Collections. Period. The rest is solution design.

Where they are transferred they can be said to be messages, and messaging happens.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Raphael Lullis's post

@raphael @silverpill @julian @mariusor

I agree. Aboveall we need to know where protocol ends and 'app' begins. Be generally more deliberate in terminology use, and no longer talk in overloaded terms that have different unclear meanings to different people in different settings (to avoid using 'contexts' one of such overloaded words)

I've noticed for instance people having a very different notion of what a 'generic server' is, in definitions that are almost diametrical opposites.

My definition of generic is 'not specific' i.e. a generic server is a pure protocol implementation (which is something to agree upon, what that exactly entails), having no knowledge of *any* app / solution built on top of it or 'passing through' its messaging architecture.

In the other meaning a generic server 'knows/does/has it all' i.e. it understands everything we comprise to be 'the fediverse' in a kind of hard-wired fashion based on the functionalities that (marginally) interoperate today.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-27

Servers

- Bookwyrm v0.8.5
- Gush! v0.0.31
- Hollo v0.7.4
- flohmarkt v0.16.0
- Mastodon v4.5.7
- Wafrn v2026.02.02
- GoToSocial v0.21.0
- Loops v1.0.0-beta.10
- Ktistec v3.3.1
- Mitra v4.19.0
- Stegodon v1.8.0
- Hometown v1.2.0
- gathio v1.6.1
- Castopod v1.15.5
- NodeBB v4.9.0
- PieFed v1.6.7

Clients

- Pachli v3.4.0
- tooi v0.22.0
- Summit v1.78.1
- Photon v2.3.0
- Blorp v1.10.3
- Phanpy changelog

Tools and Plugins

- Poduptime v6.2.1
- Fediverse invitation

For developers

- Fedify v2.0

Protocol

- FEP-a427: Server Domain Migration
- FEP-fc48: Generic ActivityPub server

Articles

- Self-Hosting Pixelfed: Federated Instagram Without the Algorithm

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c7c6f-742a-7930-2413-73b1d9611c99

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

Has anybody thought about modelling with a tool like alloytools.org/book.html
to find potential exploits? Thinking about the spec it’s missing any algorithms for authorization, but I already found a couple of edge-cases that make a server DoSssable or give an attacker the ability to spoof messages …

wakest likes your bugs ⁂'s avatar
wakest likes your bugs ⁂

@liaizon@social.wake.st

an interesting thread on Bluesky about why people are choosing to build on instead of
witchsky.app/profile/did:plc:r

wakest likes your bugs ⁂'s avatar
wakest likes your bugs ⁂

@liaizon@social.wake.st

an interesting thread on Bluesky about why people are choosing to build on instead of
witchsky.app/profile/did:plc:r

Beady Belle Fanchannel's avatar
Beady Belle Fanchannel

@Profpatsch@mastodon.xyz

Has anybody thought about modelling with a tool like alloytools.org/book.html
to find potential exploits? Thinking about the spec it’s missing any algorithms for authorization, but I already found a couple of edge-cases that make a server DoSssable or give an attacker the ability to spoof messages …

silverpill's avatar
silverpill

@silverpill@mitra.social

Recently, there was a discussion about generic #ActivityPub servers. Several people claimed that they were working on one, but it turned out that their "generic" servers only support activities defined in the ActivityPub specification. Such a server shouldn't be called generic. It is not difficult to build, neither it is an interesting concept because competing protocols (e.g. Nostr) already offer much more.

I've been writing a #FEP that describes how to build a real generic server. It is not finished yet, but I feel like now is a good time to publish it:

FEP-fc48: Generic ActivityPub server

This kind of server:

- Can process any object type, and can process non-standard activities like EmojiReact.
- Compatible with FEP-ae97 clients.
- Does not require JSON-LD.

I attempted to implement it when I was researching security properties of FEP-ae97 API: https://codeberg.org/silverpill/fep-ae97-server. Back then I didn't know what to do with side effects, but now I think that we can simply force clients to specify them.

Special thanks to @mariusor and @trwnh for their input.

#C2S

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

There's now a proper rendered web interface for FEPs at https://fediverse.codeberg.page/fep/fep/*/, which is much nicer to read than the raw Markdown source on Codeberg. But the canonical permalink, https://w3id.org/fep/*, still redirects to the Markdown file rather than the rendered page.

Would it make sense to update the w3id.org redirect to point to the rendered version instead? It seems like the better experience for anyone following a FEP link, and arguably what a “permanent” link should resolve to—something human-readable.

I'm not sure who manages the w3id.org/fep/ redirect configuration. (It lives in the perma-id/w3id.org GitHub repo, so it would just be a PR, but I'd want to get community consensus first rather than just send one in unilaterally.)

silverpill's avatar
silverpill

@silverpill@mitra.social

Recently, there was a discussion about generic #ActivityPub servers. Several people claimed that they were working on one, but it turned out that their "generic" servers only support activities defined in the ActivityPub specification. Such a server shouldn't be called generic. It is not difficult to build, neither it is an interesting concept because competing protocols (e.g. Nostr) already offer much more.

I've been writing a #FEP that describes how to build a real generic server. It is not finished yet, but I feel like now is a good time to publish it:

FEP-fc48: Generic ActivityPub server

This kind of server:

- Can process any object type, and can process non-standard activities like EmojiReact.
- Compatible with FEP-ae97 clients.
- Does not require JSON-LD.

I attempted to implement it when I was researching security properties of FEP-ae97 API: https://codeberg.org/silverpill/fep-ae97-server. Back then I didn't know what to do with side effects, but now I think that we can simply force clients to specify them.

Special thanks to @mariusor and @trwnh for their input.

#C2S

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

UPDATE: hub.vocalcat.com is open for public registration.

--

I’m building a new tool and looking for volunteers to test it! A linktree.

It’s designed for two types of people:

Normies / newcomers – Think of it like a free, privacy-respecting Linktree. No trackers, no ads. But here's the cool part: it's a Trojan horse for the fediverse. Your profile link is itself an ActivityPub actor. That means people can interact with it directly in the fediverse, and it encourages exploration of open platforms.

Fediverse users, If you have multiple accounts (, , Loops, a federated blog…), you know the struggle: sometimes you just want one persona to follow. This tool gives you that. It doesn’t post on its own (read-only), but it boosts all your other accounts and even has its own inbox. PLUS it can receive and show your badges issued by @badgefed !

Interested in testing? Right now it only supports mastodon/gotosocial authentication, so if you have a mastodon or gotosocial account register a new account.

--

UPDATE: I am doing load testing at this point, if many people sign-up expect some unavailability moments. Thanks for your patience, I want to discover the limits of the stack.

One webpage screenshot in white background and big letters saying Your links, Your Identity our Network
ALT text detailsOne webpage screenshot in white background and big letters saying Your links, Your Identity our Network
A screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
ALT text detailsA screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
silverpill's avatar
silverpill

@silverpill@mitra.social

Recently, there was a discussion about generic #ActivityPub servers. Several people claimed that they were working on one, but it turned out that their "generic" servers only support activities defined in the ActivityPub specification. Such a server shouldn't be called generic. It is not difficult to build, neither it is an interesting concept because competing protocols (e.g. Nostr) already offer much more.

I've been writing a #FEP that describes how to build a real generic server. It is not finished yet, but I feel like now is a good time to publish it:

FEP-fc48: Generic ActivityPub server

This kind of server:

- Can process any object type, and can process non-standard activities like EmojiReact.
- Compatible with FEP-ae97 clients.
- Does not require JSON-LD.

I attempted to implement it when I was researching security properties of FEP-ae97 API: https://codeberg.org/silverpill/fep-ae97-server. Back then I didn't know what to do with side effects, but now I think that we can simply force clients to specify them.

Special thanks to @mariusor and @trwnh for their input.

#C2S

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

UPDATE: hub.vocalcat.com is open for public registration.

--

I’m building a new tool and looking for volunteers to test it! A linktree.

It’s designed for two types of people:

Normies / newcomers – Think of it like a free, privacy-respecting Linktree. No trackers, no ads. But here's the cool part: it's a Trojan horse for the fediverse. Your profile link is itself an ActivityPub actor. That means people can interact with it directly in the fediverse, and it encourages exploration of open platforms.

Fediverse users, If you have multiple accounts (, , Loops, a federated blog…), you know the struggle: sometimes you just want one persona to follow. This tool gives you that. It doesn’t post on its own (read-only), but it boosts all your other accounts and even has its own inbox. PLUS it can receive and show your badges issued by @badgefed !

Interested in testing? Right now it only supports mastodon/gotosocial authentication, so if you have a mastodon or gotosocial account register a new account.

--

UPDATE: I am doing load testing at this point, if many people sign-up expect some unavailability moments. Thanks for your patience, I want to discover the limits of the stack.

One webpage screenshot in white background and big letters saying Your links, Your Identity our Network
ALT text detailsOne webpage screenshot in white background and big letters saying Your links, Your Identity our Network
A screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
ALT text detailsA screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
silverpill's avatar
silverpill

@silverpill@mitra.social

Recently, there was a discussion about generic #ActivityPub servers. Several people claimed that they were working on one, but it turned out that their "generic" servers only support activities defined in the ActivityPub specification. Such a server shouldn't be called generic. It is not difficult to build, neither it is an interesting concept because competing protocols (e.g. Nostr) already offer much more.

I've been writing a #FEP that describes how to build a real generic server. It is not finished yet, but I feel like now is a good time to publish it:

FEP-fc48: Generic ActivityPub server

This kind of server:

- Can process any object type, and can process non-standard activities like EmojiReact.
- Compatible with FEP-ae97 clients.
- Does not require JSON-LD.

I attempted to implement it when I was researching security properties of FEP-ae97 API: https://codeberg.org/silverpill/fep-ae97-server. Back then I didn't know what to do with side effects, but now I think that we can simply force clients to specify them.

Special thanks to @mariusor and @trwnh for their input.

#C2S

Super Owl's avatar
Super Owl

@gtsadmin@wiseowl.club

Dear fellow or potential fellow gotosocial instance admins,
I've come up with a novel way to set up a #gotosocial server behind a reverse proxy, which avoids the use of making new firewalling rules - both on a VPS, and creating port forwarding on one's home router. This method is ideal for minimizing the cost of running one's own #ActivityPub/#Mastodon server, in a way that leverages inexpensive fast storage on the backend (say, on a #RaspberryPi 5, 2GB of RAM, with an NVMe). As many valiant and praiseworthy Mastodon server admins might attest to, renting cloud VPS' can cost a lot, especially when storing many tens or hundreds of GB of user data.

My method avoids the need of forwarding ports 443 and 80 into one's home LAN, using DNAT (on the VPS) and port forwarding (on one's home router). In a nutshell, it's a novel use of #Wireguard, in conjunction with #nginx on the frontend, and gotosocial on the backend. This can save the cost of renting a dedicated VPS, to get the exclusive use of ports 443 and 80, in conjunction with static IPv4 and IPv6 addresses. My method optimizes on reliability and cheapness, but it's not the most secure - decryption and re-encryption happens on the VPS, before the data travels down the Wireguard tunnel. This exposes the data to any underlying hypervisor at one's hosting company. So full disclosure there.

I've run my method by the helpful gotosocial furries in their #Matrix Help chatroom (and I'm grateful for their help to debug subtle warts the method had), and got their blessing, at least to the technical soundness of the method.

I have a testing instance of gotosocial 0.21.0 set up with this new method: https://g.toque.im

I'm the user @owl on that instance, should you wish to befriend me there.

I'll make a longer blog post on this in the days to come, and post it in a reply to this post. (This is a cross-post of the original:)
https://autistics.life/@d1/116142628225937092

#DevOps #Linux #infosec #SelfHosting #DataSovereignty #OpenSource

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

Super Owl's avatar
Super Owl

@gtsadmin@wiseowl.club

@dps910 a stricter explanation would be to say #ActivityPub, not #Mastodon. You're right. It's like saying SkiDoo, when what I really meant was a snowmobile (and its brand is actually Yamaha, not SkiDoo)
#gotosocial

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Backlinks to quote posts.

codeberg.org/fediverse/fediver

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Started laying out a rough plan for implementing FEP-ef61: Portable Objects in —server-independent identities backed by , multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.

https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

Anyone asked where the dev community’s communication went to, can let a broad beaming smile come to their face, svivel their eyes skywards, then make a broad gesture with their arms, and exclaim solemnly “To the fediverse, my friend. To the fediverse”. And the dotted clouds high above in the steel blue sky will smile back at them, wave and gesture, and sing in a non-melodious cacophony “Here we are, come join us”.

And so we all do. It is a sight to behold. 🥹

Or with a tad less sarcasm, you might also say: Even though it is a medium that is not up to the task of holding a grassroots open-standards based ecosystem together, has become the preferred channel for communication in the app-centric . Majority of dev happens in the federated cloud and is driven by app owners.

Though luckily there is also a minority of ecosystem atmosphere custodians who help study the weather patterns of the future .

Clouds in the sky, with a radiant sun.
ALT text detailsClouds in the sky, with a radiant sun.
Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

UPDATE: hub.vocalcat.com is open for public registration.

--

I’m building a new tool and looking for volunteers to test it! A linktree.

It’s designed for two types of people:

Normies / newcomers – Think of it like a free, privacy-respecting Linktree. No trackers, no ads. But here's the cool part: it's a Trojan horse for the fediverse. Your profile link is itself an ActivityPub actor. That means people can interact with it directly in the fediverse, and it encourages exploration of open platforms.

Fediverse users, If you have multiple accounts (, , Loops, a federated blog…), you know the struggle: sometimes you just want one persona to follow. This tool gives you that. It doesn’t post on its own (read-only), but it boosts all your other accounts and even has its own inbox. PLUS it can receive and show your badges issued by @badgefed !

Interested in testing? Right now it only supports mastodon/gotosocial authentication, so if you have a mastodon or gotosocial account register a new account.

--

UPDATE: I am doing load testing at this point, if many people sign-up expect some unavailability moments. Thanks for your patience, I want to discover the limits of the stack.

One webpage screenshot in white background and big letters saying Your links, Your Identity our Network
ALT text detailsOne webpage screenshot in white background and big letters saying Your links, Your Identity our Network
A screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
ALT text detailsA screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

What if... you had one Fedi account on a generic headless server that simply hosts and federates your data... and had C2S UIs for microblogging, long form writing, media editing and sharing, link aggregation, games, fitness tracking, and so on, that all used that same Fedi account. Technically, it's a similar concept as ATProto (but no relay and app view) and Solid Pods (but no RDF).

It seems possible... if we can improve the AP C2S API/protocol sufficiently.

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

What if... you had one Fedi account on a generic headless server that simply hosts and federates your data... and had C2S UIs for microblogging, long form writing, media editing and sharing, link aggregation, games, fitness tracking, and so on, that all used that same Fedi account. Technically, it's a similar concept as ATProto (but no relay and app view) and Solid Pods (but no RDF).

It seems possible... if we can improve the AP C2S API/protocol sufficiently.

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

What if... you had one Fedi account on a generic headless server that simply hosts and federates your data... and had C2S UIs for microblogging, long form writing, media editing and sharing, link aggregation, games, fitness tracking, and so on, that all used that same Fedi account. Technically, it's a similar concept as ATProto (but no relay and app view) and Solid Pods (but no RDF).

It seems possible... if we can improve the AP C2S API/protocol sufficiently.

Rusty Shackleford's avatar
Rusty Shackleford

@rusty__shackleford@mastodon.social

RE: mastodon.social/@glyph/1161404

give @glyph cash

ignore tags

Strypey's avatar
Strypey

@strypey@mastodon.nzoss.nz

The intro to HDA (Hypermedia-Driven Applications) I've been raving about today seems relevant to the ongoing discussions about C2S APIs for the fediverse, especially the proliferation of the monolithic server+web-app antipattern. I've started a SH topic on it;

socialhub.activitypub.rocks/t/

But SH seems like a ghost town ATM. Tried to post on ActivityPub.space but their interface hates my mobile browser (Fennec from F-Droid) 🤷‍♂️

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

UPDATE: hub.vocalcat.com is open for public registration.

--

I’m building a new tool and looking for volunteers to test it! A linktree.

It’s designed for two types of people:

Normies / newcomers – Think of it like a free, privacy-respecting Linktree. No trackers, no ads. But here's the cool part: it's a Trojan horse for the fediverse. Your profile link is itself an ActivityPub actor. That means people can interact with it directly in the fediverse, and it encourages exploration of open platforms.

Fediverse users, If you have multiple accounts (, , Loops, a federated blog…), you know the struggle: sometimes you just want one persona to follow. This tool gives you that. It doesn’t post on its own (read-only), but it boosts all your other accounts and even has its own inbox. PLUS it can receive and show your badges issued by @badgefed !

Interested in testing? Right now it only supports mastodon/gotosocial authentication, so if you have a mastodon or gotosocial account register a new account.

--

UPDATE: I am doing load testing at this point, if many people sign-up expect some unavailability moments. Thanks for your patience, I want to discover the limits of the stack.

One webpage screenshot in white background and big letters saying Your links, Your Identity our Network
ALT text detailsOne webpage screenshot in white background and big letters saying Your links, Your Identity our Network
A screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
ALT text detailsA screenshot of links in rows, showing a profile with Pixelfed, Blog, Mastodon, LinkedIn links among others.
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

Ric Harvey 🇪🇺🌍💚's avatar
Ric Harvey 🇪🇺🌍💚

@Ric@mastodon.squarecows.com

So on the official page it says there are no bridges for is this the case or is it there’s no official ones. Would love to hear from anyone with experience.

Todd Sundsted's avatar
Todd Sundsted

@toddsundsted@epiktistes.com

The latest release of Ktistec addresses the shortcomings of the previous release that became apparent after using quote posts in production for a few days. So far, there have been no major bugs, but there was room for improvement.

Here's the full changelog.

Added

  • Federation documentation (FEDERATION.md).
  • Visibility (private or direct) icon in object summary.
  • Object social activity details include dislikes.
  • "quotes-me" theming class for objects.
  • Notification for quote posts.
  • MCP integration for quote posts.

Changed

  • Renamed NodeInfo siteName to more standard nodeName.
  • Increased hard-coded limits for actor attachments and pinned collections.

Fixed

  • Displaying quoted posts in draft view.
  • Visual indication of nested quotes in object view.

I added a FEDERATION.md document to the project. This is documentation required by FEP-67ff on "information necessary for achieving interoperability with a federated service". The document describes, at a high level, what federation protocols and standards Ktistec currently supports.

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

In *theory* you should be able to follow this test user:

@你好@i18n.viii.fi

But I can't find any Fediverse software which actually supports non-ASCII usernames.

If you are able to see the user, its description, and its avatar - please send me a screenshot 🙂

Todd Sundsted's avatar
Todd Sundsted

@toddsundsted@epiktistes.com

The latest release of Ktistec addresses the shortcomings of the previous release that became apparent after using quote posts in production for a few days. So far, there have been no major bugs, but there was room for improvement.

Here's the full changelog.

Added

  • Federation documentation (FEDERATION.md).
  • Visibility (private or direct) icon in object summary.
  • Object social activity details include dislikes.
  • "quotes-me" theming class for objects.
  • Notification for quote posts.
  • MCP integration for quote posts.

Changed

  • Renamed NodeInfo siteName to more standard nodeName.
  • Increased hard-coded limits for actor attachments and pinned collections.

Fixed

  • Displaying quoted posts in draft view.
  • Visual indication of nested quotes in object view.

I added a FEDERATION.md document to the project. This is documentation required by FEP-67ff on "information necessary for achieving interoperability with a federated service". The document describes, at a high level, what federation protocols and standards Ktistec currently supports.

Aslak Raanes's avatar
Aslak Raanes

@aslakr@mastodon.social

This technical report (tr58) on non-ASCII characters in urls and email addresses might be relevant for implementations

unicode.org/reports/tr58/

Ric Harvey 🇪🇺🌍💚's avatar
Ric Harvey 🇪🇺🌍💚

@Ric@mastodon.squarecows.com

So on the official page it says there are no bridges for is this the case or is it there’s no official ones. Would love to hear from anyone with experience.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Taking notes on the observed general communication preferences within the developer community...

1. Microblog, microblog, microblog
2. Seek one-to-ones, mentions-only
3. Don't care about spread of the msg
4. Don't boost, don't use hashtags
5. Tooted today, gone tomorrow

Convenient? Pragmatic? Desirable? idk.

:natenomblack: thorsten's avatar
:natenomblack: thorsten

@tbachner@ruhr.social · Reply to Matthias Pfefferle's post

@pfefferle Das Problem war eine Einstellung in Plesk WP Toolkit. Die Option Sicherheitsmaßnahmen »Autorenscans blockieren« musste zurückgesetzt werden.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

🙏 Thank you for your attention to this matter.

w3.org/community/SocialCG

socialhub.activitypub.rocks

fediverse.codeberg.page/fep

coding.social

Image of a lightbulb with - from top to bottom - the following labels pointing to its various parts:

Fediverse: The bulb itself
Ecosystem: The glowing spiral
Foundation: The socket screw
Social coding: The anode of the bulb
ALT text detailsImage of a lightbulb with - from top to bottom - the following labels pointing to its various parts: Fediverse: The bulb itself Ecosystem: The glowing spiral Foundation: The socket screw Social coding: The anode of the bulb
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

There's now a proper rendered web interface for FEPs at https://fediverse.codeberg.page/fep/fep/*/, which is much nicer to read than the raw Markdown source on Codeberg. But the canonical permalink, https://w3id.org/fep/*, still redirects to the Markdown file rather than the rendered page.

Would it make sense to update the w3id.org redirect to point to the rendered version instead? It seems like the better experience for anyone following a FEP link, and arguably what a “permanent” link should resolve to—something human-readable.

I'm not sure who manages the w3id.org/fep/ redirect configuration. (It lives in the perma-id/w3id.org GitHub repo, so it would just be a PR, but I'd want to get community consensus first rather than just send one in unilaterally.)

:natenomblack: thorsten's avatar
:natenomblack: thorsten

@tbachner@ruhr.social

Ich habe auf werkhof-diegaertnerei.de Activitypub installiert. Es sind mehrere Relays eingerichtet.

Profil @info@werkhof-diegaertnerei.de und Posts sind im Fediverse nicht sichtbar.

Die Seite läuft auf einem eigenem VServer mit PHP 8.5. Muss ich da noch irgendwelche Ports öffnen? Wer kann helfen?

Bei einer anderen Domain auf einem Ionos Shared Webspace funktioniert alles ganz fein mit der gleichen Konfiguration

@pfefferle

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Taking notes on the observed general communication preferences within the developer community...

1. Microblog, microblog, microblog
2. Seek one-to-ones, mentions-only
3. Don't care about spread of the msg
4. Don't boost, don't use hashtags
5. Tooted today, gone tomorrow

Convenient? Pragmatic? Desirable? idk.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

There's now a proper rendered web interface for FEPs at https://fediverse.codeberg.page/fep/fep/*/, which is much nicer to read than the raw Markdown source on Codeberg. But the canonical permalink, https://w3id.org/fep/*, still redirects to the Markdown file rather than the rendered page.

Would it make sense to update the w3id.org redirect to point to the rendered version instead? It seems like the better experience for anyone following a FEP link, and arguably what a “permanent” link should resolve to—something human-readable.

I'm not sure who manages the w3id.org/fep/ redirect configuration. (It lives in the perma-id/w3id.org GitHub repo, so it would just be a PR, but I'd want to get community consensus first rather than just send one in unilaterally.)

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to damon's post

@damon

Thank you. Yes, indeed. As it happens I was just in chat with Sébastien yesterday. They'll give a presentation at the Practitioners Meetings on the 5th of March.

is positioned to bring "app development" to the intersection of the and ecosystems, and that is very valuable. And also an focused initiative.

I have revamped the delightful lists to de-emphasize app domains and apps that have already established themselves, to highlight the innovative projects that can bring fedi to higher levels. @activitypods is on the developer list.. delightful.coding.social/delig

They are well positioned to offer the 'Solution developer' stakeholders an attractive set of tools. And the opportunity is to marriage the best of 2 worlds. Which is at the same time the big challenge, coping with the worst of 2 worlds. The other day I tooted about this here: social.coop/@smallcircles/1161

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

I recreated an old diagram in Excalidraw that I spread about a couple years ago, and made it a bit more informative. Explanation can be found in the

See also and for discussion: discuss.coding.social/t/diagra

Or join the Social experience design chatroom at: matrix.to/#/#socialcoding-foun

Also posted to at: socialhub.activitypub.rocks/t/

@ben

Diagram. Interoperability in practice. A chart with a horizontal axis that goes in 2 directions. On the left it moves towards chaotic grassroots growth, and on the right side towards open standards adoption. The Y-axis indicates level of complexity. The center indicates a low level of complexity.

On the left side of the axis we first find the ActivityPub open standard, with a relatively low complexity level. However the prevailing method to evolving the ecosystem is driven by post facto interoperability, where tech debt and protocol decay is introduced and accepted, which must be refactored and evolve alongside the open standard. Since this doesn’t happen, the fediverse grassroots environment is shifting more to the left into non-lineary increasing accidental complexity. Deviating more and more from the ActivityPub standard and the promise that it holds to offer the Future of Social networking.

On the right side, to contrast against fediverse, we find the Solid Project led by Sir Tim Berners-Lee, which is based on a whole range of W3C Linked Data related open standards and draft documents. There is no grassroots movement that drives progress, but a steering committee. Progress is restrained by open standards adoption and support. Higher levels of interoperability require more rigour and formal standardization, and this also leads to non-linear growth of, in this case, engineered complexity. Solution developers have to wait for many standards to mature, leading to inertia.
ALT text detailsDiagram. Interoperability in practice. A chart with a horizontal axis that goes in 2 directions. On the left it moves towards chaotic grassroots growth, and on the right side towards open standards adoption. The Y-axis indicates level of complexity. The center indicates a low level of complexity. On the left side of the axis we first find the ActivityPub open standard, with a relatively low complexity level. However the prevailing method to evolving the ecosystem is driven by post facto interoperability, where tech debt and protocol decay is introduced and accepted, which must be refactored and evolve alongside the open standard. Since this doesn’t happen, the fediverse grassroots environment is shifting more to the left into non-lineary increasing accidental complexity. Deviating more and more from the ActivityPub standard and the promise that it holds to offer the Future of Social networking. On the right side, to contrast against fediverse, we find the Solid Project led by Sir Tim Berners-Lee, which is based on a whole range of W3C Linked Data related open standards and draft documents. There is no grassroots movement that drives progress, but a steering committee. Progress is restrained by open standards adoption and support. Higher levels of interoperability require more rigour and formal standardization, and this also leads to non-linear growth of, in this case, engineered complexity. Solution developers have to wait for many standards to mature, leading to inertia.
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

There's now a proper rendered web interface for FEPs at https://fediverse.codeberg.page/fep/fep/*/, which is much nicer to read than the raw Markdown source on Codeberg. But the canonical permalink, https://w3id.org/fep/*, still redirects to the Markdown file rather than the rendered page.

Would it make sense to update the w3id.org redirect to point to the rendered version instead? It seems like the better experience for anyone following a FEP link, and arguably what a “permanent” link should resolve to—something human-readable.

I'm not sure who manages the w3id.org/fep/ redirect configuration. (It lives in the perma-id/w3id.org GitHub repo, so it would just be a PR, but I'd want to get community consensus first rather than just send one in unilaterally.)

Jeff's avatar
Jeff

@box464@mastodon.social · Reply to Jeff's post

Learning some of the secret backend sauce of NodeBB. It uses a relay - FediBuzz - to pull content from specific hashtags into its federated forums.

I knew that when I tagged it ended up showing in activitypub.space, now I know how!

A blurry slide explaining the success of the activitpub forum on NodeBB.
ALT text detailsA blurry slide explaining the success of the activitpub forum on NodeBB.
Surf's avatar
Surf

@surf@flipboard.social

Less than a week till @fediforum's Growing the Social Web unworkshop! Get all the latest from @tchambers's Surf feed:

surf.social/feed/surf%2Fcustom

Surf's avatar
Surf

@surf@flipboard.social

Less than a week till @fediforum's Growing the Social Web unworkshop! Get all the latest from @tchambers's Surf feed:

surf.social/feed/surf%2Fcustom

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

What if... you had one Fedi account on a generic headless server that simply hosts and federates your data... and had C2S UIs for microblogging, long form writing, media editing and sharing, link aggregation, games, fitness tracking, and so on, that all used that same Fedi account. Technically, it's a similar concept as ATProto (but no relay and app view) and Solid Pods (but no RDF).

It seems possible... if we can improve the AP C2S API/protocol sufficiently.

Hippo 🍉's avatar
Hippo 🍉

@badrihippo@fosstodon.org · Reply to testman's post

@testman oh hey, interesting story behind this!

What I shared was a link to the actual post on Liliputing, but when I pasted in the URL it suddenly disappeared leaving behind what I thought was a link preview.

But now I see it's actually not a link preview but a quote post! So, the Liliputing *website* itself hooked up directly to , is that how it works @liliputing? 😮

Hippo 🍉's avatar
Hippo 🍉

@badrihippo@fosstodon.org · Reply to testman's post

@testman oh hey, interesting story behind this!

What I shared was a link to the actual post on Liliputing, but when I pasted in the URL it suddenly disappeared leaving behind what I thought was a link preview.

But now I see it's actually not a link preview but a quote post! So, the Liliputing *website* itself hooked up directly to , is that how it works @liliputing? 😮

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

We Distribute's avatar
We Distribute

@hello@social.wedistribute.org

Huge progress has been made on implementing End-To-End Encryption in #ActivityPub, thanks to efforts by The Social Web Foundation, Bonfire, and Emissary.

https://wedistribute.org/2026/02/fediverse-e2ee-coming/
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

We Distribute's avatar
We Distribute

@hello@social.wedistribute.org

Huge progress has been made on implementing End-To-End Encryption in #ActivityPub, thanks to efforts by The Social Web Foundation, Bonfire, and Emissary.

https://wedistribute.org/2026/02/fediverse-e2ee-coming/
PierreNick :apple_old_logo: 💾's avatar
PierreNick :apple_old_logo: 💾

@pierrenick@hachyderm.io

Hear me out: -backed faxing 📠

info's avatar
info

@info@social.fedimtl.ca

Maintenant sur scène, celui qui a publié le tout premier message sur le #WebSocial en mai 2008 et que l’on surnomme « le père du #Fédivers » : Evan Prodromou @evan Co-auteur du protocole #ActivityPub à @swf
Il présente la structure et la dynamique du web social, incluant les avantages et inconvénients de cette architecture, les produits et protocoles, ainsi que les personnes et organisations impliquées dans son développement.

#FediMTL #SouverainetéNumérique

info's avatar
info

@info@social.fedimtl.ca

Now on stage, the man who published the very first post on the #SocialWeb in May 2008 and is often called the father of the #Fediverse: Evan Prodromou @evan Co-author of the #ActivityPub protocol at @swf
He presents the structure and dynamics of the social web, including the benefits and disadvantages of this architecture, the products and protocols, people and organizations involved in its development.

#FediMTL #DigitalSovereignty

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

social.coop/@smallcircles/1161

To get back to 'shared ownership' and @ben article that triggered my blog post.

The is certainly not all cheerleaders, but the question is whether critical notes can be properly heard and addressed in any meaningful way. After all who are the ones who should hear them and act on them? It is "the herd", the crowd, the commons that happens to receive toots via their social graph, and to the extent these manage to penetrate bubbles and echo chambers. To make a strong argument, to reach people, the only strategy is social media influence marketing of sorts. You have to dare to rock the boat enough to be heard. And that's a very bad way to grow a healthy ecosystem I think.

It relates to the oft-heared criticism that on the app-centric fediverse, it is the app devs who are de-facto in charge and decide what goes and what goes not.

The social dynamics are tricky but fascinating. I hope to be able to spend more time at coding.social

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

What if... you had one Fedi account on a generic headless server that simply hosts and federates your data... and had C2S UIs for microblogging, long form writing, media editing and sharing, link aggregation, games, fitness tracking, and so on, that all used that same Fedi account. Technically, it's a similar concept as ATProto (but no relay and app view) and Solid Pods (but no RDF).

It seems possible... if we can improve the AP C2S API/protocol sufficiently.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Steve Bate's post

@steve seems possible to me too, and is also the premise of Protosocial extension.

info's avatar
info

@info@social.fedimtl.ca

Moving on with our next speaker Julian Lam @julian who shows how forums help overcome infinite scrolling news feeds.
He's the co-founder of @nodebb, an open-source community forum platform with built-in #ActivityPub support, connecting traditional forums to the #SocialWeb.

#FediMTL #Fediverse #DigitalSovereignty

info's avatar
info

@info@social.fedimtl.ca

Live with Christine Lemmer-Webber @cwebber Co-founder of @spritely and Co-author of the #ActivityPub protocol.
A reflection on key questions: How do we build a social internet in a time of social conflict? How far are we from a #SocialWeb we want, what is the #Fediverse doing well today, and how do we get to where we should go?

#FediMTL #DigitalSovereignty

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

What if... you had one Fedi account on a generic headless server that simply hosts and federates your data... and had C2S UIs for microblogging, long form writing, media editing and sharing, link aggregation, games, fitness tracking, and so on, that all used that same Fedi account. Technically, it's a similar concept as ATProto (but no relay and app view) and Solid Pods (but no RDF).

It seems possible... if we can improve the AP C2S API/protocol sufficiently.

info's avatar
info

@info@social.fedimtl.ca

Live with Christine Lemmer-Webber @cwebber Co-founder of @spritely and Co-author of the #ActivityPub protocol.
A reflection on key questions: How do we build a social internet in a time of social conflict? How far are we from a #SocialWeb we want, what is the #Fediverse doing well today, and how do we get to where we should go?

#FediMTL #DigitalSovereignty

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

What if... you had one Fedi account on a generic headless server that simply hosts and federates your data... and had C2S UIs for microblogging, long form writing, media editing and sharing, link aggregation, games, fitness tracking, and so on, that all used that same Fedi account. Technically, it's a similar concept as ATProto (but no relay and app view) and Solid Pods (but no RDF).

It seems possible... if we can improve the AP C2S API/protocol sufficiently.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

Samuel's avatar
Samuel

@samuel@social.meenzen.net · Reply to Herr Jemineh 🌻's post

@herrjemineh @activitypub.blog naja, jeder neue Post muss an alle Server deiner follower geschickt werden. Die Server der Follower schicken dann eventuell direkt noch ein paar Anfragen zurück, um zusätzliche Informationen wie dein Profil zu laden.

Was bedeutet das? Je mehr follower dein Blog hat, desto höher sind die Anforderungen an deinen Server.

Da kommt der günstige Webhost wohl an seine Grenzen.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to hrast's post

@hrast

Social coding commons at coding.social considers the online to offer a person integral social experiences. As they navigate the their needs are satisfied by interoperable solutions, provided by apps and services that are delivered to the network. Social experience design drives both the evolution of the technology base, as well as evolution of the ecosystem responsible for cocreating it. This results in a social-first approach focused on service delivery.

Current app-centric follows a tech-first maturity model where app needs are leading. Individual app's requirements and features are source of truth, and secondary concern is 'pushing that on the wire'. Apps evolve as siloes independently of each other, and deal with interop issues later (and all the time, a continuous process as there is no real standard way).

So this merging will be very hard. The API offers opportunity to improve ecosystem development methods.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

, a platform, is introducing to attract creators and make the platform more approachable for newcomers.

🎉 These updates include a user profile, an enhanced compose experience, and new admin tools for server operators.

💆 The changes aim to and make the onboarding process more understandable.

👉 techcrunch.com/2026/02/18/mast

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

is back, from a clean slate.
A search engine that uses standard federation. It follows you like any account, respects indexable flags, , , locked accounts. Deletions, edits, blocks are processed instantly through ActivityPub.
You have full control. Block it, mention it with "unfollow", or disable indexing in your settings.
Source code under AGPL-3.0 on .

Details: discover.holos.social/how-it-w

Account: @HolosDiscover

Hollo :hollo:'s avatar
Hollo :hollo:

@hollo@hollo.social

Introducing . Hollo is an -enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.

It's headless, meaning you can use existing client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use in the content of your posts and you can quote another post.

Oh, and Hollo is built using and .

https://github.com/dahlia/hollo

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to hrast's post

@hrast

Social coding commons at coding.social considers the online to offer a person integral social experiences. As they navigate the their needs are satisfied by interoperable solutions, provided by apps and services that are delivered to the network. Social experience design drives both the evolution of the technology base, as well as evolution of the ecosystem responsible for cocreating it. This results in a social-first approach focused on service delivery.

Current app-centric follows a tech-first maturity model where app needs are leading. Individual app's requirements and features are source of truth, and secondary concern is 'pushing that on the wire'. Apps evolve as siloes independently of each other, and deal with interop issues later (and all the time, a continuous process as there is no real standard way).

So this merging will be very hard. The API offers opportunity to improve ecosystem development methods.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

A couple days ago, I got a DM from a user. I happily replied and sent a follow request—but the Accept never came back, even though they hadn't enabled manuallyApprovesFollowers. My DM reply probably never arrived either. Classic interop bug.

I checked out the Bonfire source and dug in. Turns out Bonfire hasn't implemented RFC 9421 yet, so it was silently discarding any activity signed with it. That alone would be workable, except for one more issue: Bonfire was responding 200 OK even when signature verification failed, instead of 401 Unauthorized.

This matters because Fedify implements a double-knocking mechanism—if a request signed with RFC 9421 fails, it retries with the older draft cavage signature. But since Bonfire returned 200 OK on the failed first knock, had no reason to send a second one.

I filed two issues on the Bonfire repo—one requesting RFC 9421 support, and one about returning 401 on invalid signatures. For the latter, I also sent a PR, which got merged pretty quickly: bonfire-networks/activity_pub#9.

That said, individual Bonfire instances won't pick up the fix until they actually deploy it. So in the meantime, I patched Hollo and Hackers' Pub to use draft-cavage-http-signatures-12 as the firstKnock, so Bonfire instances can at least understand the first request.

One last thing: Fedify caches whether a given server supports RFC 9421, and the Bonfire servers I'd already talked to were cached as “supports RFC 9421”—because they'd been returning 200 OK. I had to manually clear that cache on both hollo.social and hackers.pub before everything finally worked.

After all that, the mutual follow went through and my DM reply landed. Worth it.

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

, a platform, is introducing to attract creators and make the platform more approachable for newcomers.

🎉 These updates include a user profile, an enhanced compose experience, and new admin tools for server operators.

💆 The changes aim to and make the onboarding process more understandable.

👉 techcrunch.com/2026/02/18/mast

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

is back, from a clean slate.
A search engine that uses standard federation. It follows you like any account, respects indexable flags, , , locked accounts. Deletions, edits, blocks are processed instantly through ActivityPub.
You have full control. Block it, mention it with "unfollow", or disable indexing in your settings.
Source code under AGPL-3.0 on .

Details: discover.holos.social/how-it-w

Account: @HolosDiscover

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

is back, from a clean slate.
A search engine that uses standard federation. It follows you like any account, respects indexable flags, , , locked accounts. Deletions, edits, blocks are processed instantly through ActivityPub.
You have full control. Block it, mention it with "unfollow", or disable indexing in your settings.
Source code under AGPL-3.0 on .

Details: discover.holos.social/how-it-w

Account: @HolosDiscover

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

What is the process of publishing “notes” in the W3C SocialCG or one of its Task Forces (if it’s a different answer)?

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

What is the process of publishing “notes” in the W3C SocialCG or one of its Task Forces (if it’s a different answer)?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@xoron @khleedril

Other than that, some musings..

Your project looks very nice. Kudos! However, the past couple years I've probably seen a quadrillion instant messenger projects pass by. The screenshot on the website is "yet another familiar IM chat UI".

But if I just read your tagline of "Decentralized encrypted messaging" and I close my eyes a bit, I can picture 'universal messaging' and see something very powerful.

In conceptual architecture this exists in theory, but the diverges from that. In and protocol realms you hear people say "you can build any social networking use case with the protocol", but then all the documentation and discussions relate narrowly to IM and some of the hardwired abstractions assume IM (like Room in matrix).

With universal messaging I might be empowered with eventmodeling.org and eventcatalog.dev like solution design, using SDK's on top of a robust p2p protocol component. To model IM and more.

Stefano Marinelli's avatar
Stefano Marinelli

@stefano@bsd.cafe

has its own account - powered by

Follow @mastoblaster to receive all the updates, insights, etc.

revstanton's avatar
revstanton

@revstanton@mastodon.social

I have recently created and launched a new platform called Inkwell. It's designed to integrate with ActivityPub, using open-source code available on my GitHub. There is a lot of work to do, but I'm excited, as I loved online journaling as a kid. Now, having a space I can create as my own (with community feedback) is a dream come true. Here's hoping to others join us on Inkwell and become Pen Pals!

David Peach 🍑's avatar
David Peach 🍑

@peach@phpc.social

Hey folks. 👋
Is there any "ai" things being included with wordpress core now (or in future).

I want to maybe switch back from classicpress simply because the plugin is incredible.

But I want zero ai in my website.

/ @pfefferle any ideas? :)

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social · Reply to Christine Lemmer-Webber's post

@cwebber @eyeinthesky @smallcircles @evan Apart from the fact that I would prefer turtle, I am very happy that AP ‘prescribes’ json-ld. This opens the door to many of my ideas. It makes possible what would be very complicated without . It's about time that the AP developers got to grips with it! rdf-pub.org/#rdf

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social · Reply to Christine Lemmer-Webber's post

@cwebber @eyeinthesky @smallcircles @evan Apart from the fact that I would prefer turtle, I am very happy that AP ‘prescribes’ json-ld. This opens the door to many of my ideas. It makes possible what would be very complicated without . It's about time that the AP developers got to grips with it! rdf-pub.org/#rdf

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@ben

What we need is the ability to support on the .

coding.social/blog/reimagine-s

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

social.coop/@smallcircles/1161

To get back to 'shared ownership' and @ben article that triggered my blog post.

The is certainly not all cheerleaders, but the question is whether critical notes can be properly heard and addressed in any meaningful way. After all who are the ones who should hear them and act on them? It is "the herd", the crowd, the commons that happens to receive toots via their social graph, and to the extent these manage to penetrate bubbles and echo chambers. To make a strong argument, to reach people, the only strategy is social media influence marketing of sorts. You have to dare to rock the boat enough to be heard. And that's a very bad way to grow a healthy ecosystem I think.

It relates to the oft-heared criticism that on the app-centric fediverse, it is the app devs who are de-facto in charge and decide what goes and what goes not.

The social dynamics are tricky but fascinating. I hope to be able to spend more time at coding.social

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 👁's post

@eyeinthesky

Here we come to my new interest area.. I spent a metric ton of time advocating for and and that was initially all on a very optimistic note on how our ecosystem would mature and grow over time, fostering a healthy future for itself.

That however didn't go as planned. You might say that the entirety of the fediverse is still primarily tech-driven. Tech-first approaches that do not differ too much of the much reviled and rejected 'techbro approach'.

Sure, there are plenty discussions on whether an app feature is 'ethical' or not, with discussions on e.g. opt-in vs. opt-out. But that is again purely app-centric.

Where is the dev ecosystem headed, where should they focus, what externalities exist? Where do we want future as a whole to be? What's the vision?

And then we come to the social side of things, both in the small, but also in-the-large. Technosphere aligned and subservient to Sociosphere. That is focus of coding.social

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@eyeinthesky @cwebber @evan @deadsuperhero

There are a couple of really great documents on protocol design and maintenance. You often see me mentioning protocol decay, which is only a paragraph in the splendid Maintaining Robust Protocols.

The next section for instance is on detrimental ecosystem effects if you are either too stricly enforcing standards or are too laissez faire about them.

rfc-editor.org/rfc/rfc9413.html

Stefano Marinelli's avatar
Stefano Marinelli

@stefano@bsd.cafe

has its own account - powered by

Follow @mastoblaster to receive all the updates, insights, etc.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

I recreated an old diagram in Excalidraw that I spread about a couple years ago, and made it a bit more informative. Explanation can be found in the

See also and for discussion: discuss.coding.social/t/diagra

Or join the Social experience design chatroom at: matrix.to/#/#socialcoding-foun

Also posted to at: socialhub.activitypub.rocks/t/

@ben

Diagram. Interoperability in practice. A chart with a horizontal axis that goes in 2 directions. On the left it moves towards chaotic grassroots growth, and on the right side towards open standards adoption. The Y-axis indicates level of complexity. The center indicates a low level of complexity.

On the left side of the axis we first find the ActivityPub open standard, with a relatively low complexity level. However the prevailing method to evolving the ecosystem is driven by post facto interoperability, where tech debt and protocol decay is introduced and accepted, which must be refactored and evolve alongside the open standard. Since this doesn’t happen, the fediverse grassroots environment is shifting more to the left into non-lineary increasing accidental complexity. Deviating more and more from the ActivityPub standard and the promise that it holds to offer the Future of Social networking.

On the right side, to contrast against fediverse, we find the Solid Project led by Sir Tim Berners-Lee, which is based on a whole range of W3C Linked Data related open standards and draft documents. There is no grassroots movement that drives progress, but a steering committee. Progress is restrained by open standards adoption and support. Higher levels of interoperability require more rigour and formal standardization, and this also leads to non-linear growth of, in this case, engineered complexity. Solution developers have to wait for many standards to mature, leading to inertia.
ALT text detailsDiagram. Interoperability in practice. A chart with a horizontal axis that goes in 2 directions. On the left it moves towards chaotic grassroots growth, and on the right side towards open standards adoption. The Y-axis indicates level of complexity. The center indicates a low level of complexity. On the left side of the axis we first find the ActivityPub open standard, with a relatively low complexity level. However the prevailing method to evolving the ecosystem is driven by post facto interoperability, where tech debt and protocol decay is introduced and accepted, which must be refactored and evolve alongside the open standard. Since this doesn’t happen, the fediverse grassroots environment is shifting more to the left into non-lineary increasing accidental complexity. Deviating more and more from the ActivityPub standard and the promise that it holds to offer the Future of Social networking. On the right side, to contrast against fediverse, we find the Solid Project led by Sir Tim Berners-Lee, which is based on a whole range of W3C Linked Data related open standards and draft documents. There is no grassroots movement that drives progress, but a steering committee. Progress is restrained by open standards adoption and support. Higher levels of interoperability require more rigour and formal standardization, and this also leads to non-linear growth of, in this case, engineered complexity. Solution developers have to wait for many standards to mature, leading to inertia.
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

To name just one example, where I think there exists a typical use case where can shine wrt is personal Loops for friends and family. Friend of a friend personal social networking.

People make lotsa short vids with their mobile, when going on holiday and do all the things that make life worth living. And currently they share it in 's apps. Send that vid via . Or place it on or .

But it would be perfect short-form content in the family's online corner of the web. Put some more integration with other apps and services in the mix, and they have a full-service alternative to Big Tech stuffz at their disposal.

This is a different use case than how Loops is currently positioned most of all. It emphasizes the Creator. Creators have a need to publish, to reach audiences, to monetize and be able to live from their work.

The personal social networking case is for me personally the more attractive one.

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

is a network where users can interact across different platforms and servers.

🙌 It offers advantages like increased against censorship and enhanced user .

🎭 While it could simplify and audience growth for , it still requires to tailor to each platform.

👉 mashable.com/article/what-is-t

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@eyeinthesky

I think a problem is more that instead of "ActivityPub has JSON-LD" you might also say that AP delegates to.. or even 'handwaves' to linked data.

is linked data --> ✅ Extensibility mechanism DONE"

Which is either..

- By far not the case, if you consider the promise and power of ActivityPub

- May perhaps be true, if you have a very particular notion on what the fediverse is and isn't.

That last bit remained unspoken, so what AP vs. fediverse is, is really in the eye of the beholder. There exists no shared (technology) vision. discuss.coding.social/t/major-

With the extensibility mechanism unclear, there is no clear separation either to what is protocol and what is solution space, and there's continuous confusion around this.

I replied to @evan yesterday, as his remark would entail that all post-facto interoperability introduced on-the-fly by app impls would have to be honored now in the standards. What standards process does that give?

social.coop/@smallcircles/1161

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

is a network where users can interact across different platforms and servers.

🙌 It offers advantages like increased against censorship and enhanced user .

🎭 While it could simplify and audience growth for , it still requires to tailor to each platform.

👉 mashable.com/article/what-is-t

👁's avatar
👁

@eyeinthesky@mastodon.social

Developer perspective on tradeoffs… architecture is more centralized. has JSON-LD. ⚖️ So much pain and confusion, so little benefit and the Fedi Father refuses to consider JSON-LD alternatives because replacing the “feature” that almost no one actually uses with something useful will apparently break the Fediverse.

“This is why we can’t have nice things.” 😬#fedidevs

👁's avatar
👁

@eyeinthesky@mastodon.social

Developer perspective on tradeoffs… architecture is more centralized. has JSON-LD. ⚖️ So much pain and confusion, so little benefit and the Fedi Father refuses to consider JSON-LD alternatives because replacing the “feature” that almost no one actually uses with something useful will apparently break the Fediverse.

“This is why we can’t have nice things.” 😬#fedidevs

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to @reiver ⊼ (Charles) :batman:'s post

@reiver @thisismissem @mfru

I made a diagram yesterday that contrasts and that is I think interesting to consider.

In the past I've been very active on the Solid forum, and tried to get a collab going with community. A number of points that existed then, are still issues today I think.

Like, though anyone could participate in the standards process via chat, the Solid team and Inrupt were not really interested in their community, hardly giving attention while people were building interesting stuff there.

Also at the time basically all available code was Javascript, making Solid uninteresting or hard to access for other language devs.

But I think biggest issue was that Solid didn't know what it was. It was positioned as 'personal data vault' on the landing page then (but not using this term), but was 'secretly' TBL's desire to reboot the . The new web would be all 'Solid apps'. But the adoption strategy for that didn't exist.

django's avatar
django

@django@social.coop

ActivityPub client developer experience is something like this.

Building a coherent feed with stateful objects requires comparing an Activity from the inbox, with what’s in your outbox.

Managing state with c2s

A woman riding a unicycle on a tightrope while juggling.
The pins are labelled Like, Announce, Follow, Following.

The ends of the tightrope are labelled Inbox and Outbox
ALT text detailsManaging state with c2s A woman riding a unicycle on a tightrope while juggling. The pins are labelled Like, Announce, Follow, Following. The ends of the tightrope are labelled Inbox and Outbox
Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

django's avatar
django

@django@social.coop

ActivityPub client developer experience is something like this.

Building a coherent feed with stateful objects requires comparing an Activity from the inbox, with what’s in your outbox.

Managing state with c2s

A woman riding a unicycle on a tightrope while juggling.
The pins are labelled Like, Announce, Follow, Following.

The ends of the tightrope are labelled Inbox and Outbox
ALT text detailsManaging state with c2s A woman riding a unicycle on a tightrope while juggling. The pins are labelled Like, Announce, Follow, Following. The ends of the tightrope are labelled Inbox and Outbox
Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0をリリースしました!

Fedify史上最大のリリースです。主な変更点をご紹介します:

  • モジュラーアーキテクチャ — これまでのモノリシックな@fedify/fedifyパッケージを、@fedify/vocab@fedify/vocab-runtime@fedify/vocab-tools@fedify/webfingerなど、独立したパッケージに分割しました。バンドルサイズの削減、インポートの整理に加え、カスタム語彙型によるActivityPubの拡張も可能になりました。
  • リアルタイムデバッグダッシュボード — 新しい@fedify/debuggerパッケージにより、/__debug__/パスにライブダッシュボードを表示できます。連合トラフィックのトレース、アクティビティの詳細、署名検証、ログまで一目で確認できます。既存のFederationオブジェクトをラップするだけで使えます。
  • ActivityPubリレーサポート@fedify/relayパッケージとfedify relayCLIコマンドで、リレーサーバーをすぐに立ち上げることができます。Mastodon方式とLitePub方式の両方に対応しています(FEP-ae0c)。
  • 順序保証メッセージ配信 — 新しいorderingKeyオプションにより、「ゾンビ投稿」問題を解決しました。DeleteCreateより先に到着してしまう問題がなくなります。同じキーを共有するアクティビティはFIFO順序が保証されます。
  • 永続的な配信失敗の処理setOutboxPermanentFailureHandler()で、リモートのインボックスが404や410を返した際に対応できるようになりました。到達不能なフォロワーの整理などが可能です。

その他にも、ミドルウェアレベルでのコンテンツネゴシエーション、@fedify/lint@fedify/create、CLI設定ファイル、ネイティブNode.js/Bun CLIサポート、多数のバグ修正などが含まれています。

今回のリリースには、韓国のOSSCA(オープンソースコントリビューションアカデミー)参加者の皆さんからの多大な貢献が含まれています。ご協力いただいた全ての方に感謝いたします!

破壊的変更を含むメジャーリリースです。アップグレード前にマイグレーションガイドを必ずご確認ください。

リリースノート全文: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0をリリースしました!

Fedify史上最大のリリースです。主な変更点をご紹介します:

  • モジュラーアーキテクチャ — これまでのモノリシックな@fedify/fedifyパッケージを、@fedify/vocab@fedify/vocab-runtime@fedify/vocab-tools@fedify/webfingerなど、独立したパッケージに分割しました。バンドルサイズの削減、インポートの整理に加え、カスタム語彙型によるActivityPubの拡張も可能になりました。
  • リアルタイムデバッグダッシュボード — 新しい@fedify/debuggerパッケージにより、/__debug__/パスにライブダッシュボードを表示できます。連合トラフィックのトレース、アクティビティの詳細、署名検証、ログまで一目で確認できます。既存のFederationオブジェクトをラップするだけで使えます。
  • ActivityPubリレーサポート@fedify/relayパッケージとfedify relayCLIコマンドで、リレーサーバーをすぐに立ち上げることができます。Mastodon方式とLitePub方式の両方に対応しています(FEP-ae0c)。
  • 順序保証メッセージ配信 — 新しいorderingKeyオプションにより、「ゾンビ投稿」問題を解決しました。DeleteCreateより先に到着してしまう問題がなくなります。同じキーを共有するアクティビティはFIFO順序が保証されます。
  • 永続的な配信失敗の処理setOutboxPermanentFailureHandler()で、リモートのインボックスが404や410を返した際に対応できるようになりました。到達不能なフォロワーの整理などが可能です。

その他にも、ミドルウェアレベルでのコンテンツネゴシエーション、@fedify/lint@fedify/create、CLI設定ファイル、ネイティブNode.js/Bun CLIサポート、多数のバグ修正などが含まれています。

今回のリリースには、韓国のOSSCA(オープンソースコントリビューションアカデミー)参加者の皆さんからの多大な貢献が含まれています。ご協力いただいた全ての方に感謝いたします!

破壊的変更を含むメジャーリリースです。アップグレード前にマイグレーションガイドを必ずご確認ください。

リリースノート全文: https://github.com/fedify-dev/fedify/discussions/580

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

RE: mastodon.social/@reiver/112133

"A guide to implement ActivityPub in a static site (or any website)" by @mapache

maho.dev/2024/02/a-guide-to-im

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

1/

It doesn't take much effort to make your website join the Fediverse and the open social-web IN A VERY BASIC WAY,.

And by "VERY BASIC WAY" I mean — being able to look up your website using a Fediverse ID and have a profile show up.

I did it for my (new) personal website last night.

(Screenshot of the profile Mastodon shows for my (new) personal website attached.)

NOTE: DO NOT FOLLOW IT YET. FOLLOWING DOESN'T WON'T WORK YET.

...

All I had to do was —

🧵

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

RE: mastodon.social/@reiver/112133

"A guide to implement ActivityPub in a static site (or any website)" by @mapache

maho.dev/2024/02/a-guide-to-im

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

1/

It doesn't take much effort to make your website join the Fediverse and the open social-web IN A VERY BASIC WAY,.

And by "VERY BASIC WAY" I mean — being able to look up your website using a Fediverse ID and have a profile show up.

I did it for my (new) personal website last night.

(Screenshot of the profile Mastodon shows for my (new) personal website attached.)

NOTE: DO NOT FOLLOW IT YET. FOLLOWING DOESN'T WON'T WORK YET.

...

All I had to do was —

🧵

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

RE: mastodon.social/@reiver/112133

"A guide to implement ActivityPub in a static site (or any website)" by @mapache

maho.dev/2024/02/a-guide-to-im

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

1/

It doesn't take much effort to make your website join the Fediverse and the open social-web IN A VERY BASIC WAY,.

And by "VERY BASIC WAY" I mean — being able to look up your website using a Fediverse ID and have a profile show up.

I did it for my (new) personal website last night.

(Screenshot of the profile Mastodon shows for my (new) personal website attached.)

NOTE: DO NOT FOLLOW IT YET. FOLLOWING DOESN'T WON'T WORK YET.

...

All I had to do was —

🧵

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

Thumbs Up's avatar
Thumbs Up

@thumbsup@mastodon.online

Steal this idea: an app that combines YouTube and @peertube into a single YouTube-like interface that treats content from both as equals. Where duplicates exist, PeerTube gets priority by default. Throw in some options for patronizing creators on PeerTube, and it could motivate them to migrate to and stay on decentralized platforms.

Even better if self-hosted with Invidious on the backend.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

I suspect that there is an error in the Turtle specification, in the section shown in the screen-shot.

(It relates to JSON-LD, which ActivityPub / ActivityStreams is built on.)

I suspect that "PN_CHARS_BASE" is an error.

Because other parts of other specifications seem to not make sense if it is.

I suspect that maybe it should have been "PN_PREFIX" instead.

2.6 RDF Blank Nodes

 RDF blank nodes in Turtle are expressed as _: followed by a blank node label which is a series of name characters. The characters in the label are built upon PN_CHARS_BASE, liberalized as follows: 

• The characters _ and digits may appear anywhere in a blank node label.
• The character . may appear anywhere except the first or last character.
• The characters -, U+00B7, U+0300 to U+036F and U+203F to U+2040 are permitted anywhere except the first character.
ALT text details2.6 RDF Blank Nodes RDF blank nodes in Turtle are expressed as _: followed by a blank node label which is a series of name characters. The characters in the label are built upon PN_CHARS_BASE, liberalized as follows: • The characters _ and digits may appear anywhere in a blank node label. • The character . may appear anywhere except the first or last character. • The characters -, U+00B7, U+0300 to U+036F and U+203F to U+2040 are permitted anywhere except the first character.
2.6 RDF Blank Nodes

 RDF blank nodes in Turtle are expressed as _: followed by a blank node label which is a series of name characters. The characters in the label are built upon PN_CHARS_BASE, liberalized as follows: 

• The characters _ and digits may appear anywhere in a blank node label.
• The character . may appear anywhere except the first or last character.
• The characters -, U+00B7, U+0300 to U+036F and U+203F to U+2040 are permitted anywhere except the first character.
ALT text details2.6 RDF Blank Nodes RDF blank nodes in Turtle are expressed as _: followed by a blank node label which is a series of name characters. The characters in the label are built upon PN_CHARS_BASE, liberalized as follows: • The characters _ and digits may appear anywhere in a blank node label. • The character . may appear anywhere except the first or last character. • The characters -, U+00B7, U+0300 to U+036F and U+203F to U+2040 are permitted anywhere except the first character.
Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

max frühschütz  – нет войне's avatar
max frühschütz – нет войне

@mfru@mastodon.social

are people on here that have opinions about (the pod technology not the javascript framework / library)

why is it good / not good?

is it usable?

is it in use?

it doesn't seem to have the same popularity as i.e. / the , even though the concept of solid pods seems to synergize quite well with the idea of a decentralized web, as far as i can tell

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

max frühschütz  – нет войне's avatar
max frühschütz – нет войне

@mfru@mastodon.social

are people on here that have opinions about (the pod technology not the javascript framework / library)

why is it good / not good?

is it usable?

is it in use?

it doesn't seem to have the same popularity as i.e. / the , even though the concept of solid pods seems to synergize quite well with the idea of a decentralized web, as far as i can tell

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

I think the #ActivityPub client-to-server API is extremely important and underrated. I’m glad to see the SWF and W3C group prioritizing it, because I think it has the potential to fix something that’s kind of broken on the #Fediverse: too many accounts, on too many platforms that really ought to be clients.

Here’s the rub, though: you need the big players in the space to support it. Mastodon needs to support it. Pixelfed and PeerTube need to support it.

So, how do you get the big existing projects to all implement it? How do you justify it?

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

Hi and developers!

I'm currently working on interoperability testing for and , and I need a account to test federation with their implementation.

Since there aren't many open public Bonfire instances available, I was wondering if any Bonfire instance admins out there would be willing to grant me a test account? It would be a huge help for improving interop! Let me know if you can help. Thanks!

Ricardo's avatar
Ricardo

@rmdes@indieweb.social

You are now two clicks away from being able to interact with my implementation from your own instance.

Yes I totally got inspired from @phanpy or @Mastodon ability to facilitate interactions between different servers

screenshot of my Fediverse integration for syndicated post from one's own AP server to the Fediverse or ATmosphere
ALT text detailsscreenshot of my Fediverse integration for syndicated post from one's own AP server to the Fediverse or ATmosphere
Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

This is from the JSON-LD spec.

ActivityPub / ActivityStream are based on JSON-LD.

I think it was a very bad idea for JSON-LD to define "number" this way!

It makes it so numbers with fractional values are inexact & lossy.

This include values that are common for money.

For example, neither 0.10 and 0.20 can be represented exactly. So, 0.10 + 0.20 does NOT equal 0.30!

It should have used FIXED-point numbers rather than FLOATING-point.

number

In the JSON serialization, a number is similar to that used in most programming languages, except that the octal and hexadecimal formats are not used and that leading zeros are not allowed. In the internal representation, a number is equivalent to either a long or double, depending on if the number has a non-zero fractional part (see [WEBIDL]).
ALT text detailsnumber In the JSON serialization, a number is similar to that used in most programming languages, except that the octal and hexadecimal formats are not used and that leading zeros are not allowed. In the internal representation, a number is equivalent to either a long or double, depending on if the number has a non-zero fractional part (see [WEBIDL]).
Thumbs Up's avatar
Thumbs Up

@thumbsup@mastodon.online

Steal this idea: an app that combines YouTube and @peertube into a single YouTube-like interface that treats content from both as equals. Where duplicates exist, PeerTube gets priority by default. Throw in some options for patronizing creators on PeerTube, and it could motivate them to migrate to and stay on decentralized platforms.

Even better if self-hosted with Invidious on the backend.

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Stefano Marinelli's avatar
Stefano Marinelli

@stefano@bsd.cafe

has its own account - powered by

Follow @mastoblaster to receive all the updates, insights, etc.

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post

There is a larger discussion about fixed-point numbers versus floating-point numbers.

And that, ALL programming-languages should have fixed-point numbers built into them.

And that, programmers should be warned against using floating-point numbers in all but a set of very specialized situations — where inexact math is OK.

For most programmers in most situations inexact math is NOT OK. And, they should NOT use floating-point numbers.

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post

JSON vs IETF JSON

This is likely (directly or indirectly) the fault of a single paragraph in IETF RFC-7159 / RFC-8259 (shown in the attached screen-shot).

(And note that, there is a difference between JSON and IETF JSON. JSON did not have this. IETF JSON does.)

That paragraph (in the IETF RFC) was NOT a requirement. But, others made it a requirement — including JSON-LD.

RE: mastodon.social/@reiver/115956

This specification allows implementations to set limits on the range and precision of numbers accepted.  Since software that implements IEEE 754 binary64 (double precision) numbers [IEEE754] is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision.  A JSON number such as 1E400 or 3.141592653589793238462643383279 may indicate potential interoperability problems, since it suggests that the software that created it expects receiving software to have greater capabilities for numeric magnitude and precision than is widely available.
ALT text detailsThis specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754 binary64 (double precision) numbers [IEEE754] is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision. A JSON number such as 1E400 or 3.141592653589793238462643383279 may indicate potential interoperability problems, since it suggests that the software that created it expects receiving software to have greater capabilities for numeric magnitude and precision than is widely available.
@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

This is from the JSON-LD spec.

ActivityPub / ActivityStream are based on JSON-LD.

I think it was a very bad idea for JSON-LD to define "number" this way!

It makes it so numbers with fractional values are inexact & lossy.

This include values that are common for money.

For example, neither 0.10 and 0.20 can be represented exactly. So, 0.10 + 0.20 does NOT equal 0.30!

It should have used FIXED-point numbers rather than FLOATING-point.

number

In the JSON serialization, a number is similar to that used in most programming languages, except that the octal and hexadecimal formats are not used and that leading zeros are not allowed. In the internal representation, a number is equivalent to either a long or double, depending on if the number has a non-zero fractional part (see [WEBIDL]).
ALT text detailsnumber In the JSON serialization, a number is similar to that used in most programming languages, except that the octal and hexadecimal formats are not used and that leading zeros are not allowed. In the internal representation, a number is equivalent to either a long or double, depending on if the number has a non-zero fractional part (see [WEBIDL]).
Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Ricardo's avatar
Ricardo

@rmdes@indieweb.social

You are now two clicks away from being able to interact with my implementation from your own instance.

Yes I totally got inspired from @phanpy or @Mastodon ability to facilitate interactions between different servers

screenshot of my Fediverse integration for syndicated post from one's own AP server to the Fediverse or ATmosphere
ALT text detailsscreenshot of my Fediverse integration for syndicated post from one's own AP server to the Fediverse or ATmosphere
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Evan Prodromou's post

@evan @kopper @gugurumbe

I do note that you argue for backwards "Fediverse-compatibility" here, and I wonder how that equates with backwards compatibiity.

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@toddsundsted

Btw. and standardization processes (such as the process) are a topic of Social coding commons and Social experience design, and we have a multi-author blog at coding.social ..

If you wish you might publish these results there as a report to spread about.

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Todd Sundsted's post

@toddsundsted very nice work! This is valuable information.

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify is an server framework in & . It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

The key features it provides currently are:

If you're curious, take a look at the website! There's comprehensive docs, a demo, a tutorial, example code, and more:

https://fedify.dev/

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@david_megginson @ben

Btw, just found the v2 release announcement of @fedify and that is a prime example on how, on the grassroots environment end of the spectrum we can maneuvre into better territory.

Kudos to the developers. Handing people tools they need to focus on solutions, and build without getting thrown into deep on-the-wire impl detail reeds to worry about.

That is the positive side of the equation. There's not only a big uptick in interest for the i.e. client-to-server, which offers new opportunity to correct course. But also are there more projects focused on robust tool and library support for the 'Solution developer' stakeholder.

In the revamp of the delightful commons initiative, made possible with support of @nlnet I emphasized all these projects, while I de-emphasized the apps that are already doing good for themself, but contribute to further divergence from open standards.

delightful.coding.social

hollo.social/@fedify/019c8521-

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@david_megginson @ben

Btw, just found the v2 release announcement of @fedify and that is a prime example on how, on the grassroots environment end of the spectrum we can maneuvre into better territory.

Kudos to the developers. Handing people tools they need to focus on solutions, and build without getting thrown into deep on-the-wire impl detail reeds to worry about.

That is the positive side of the equation. There's not only a big uptick in interest for the i.e. client-to-server, which offers new opportunity to correct course. But also are there more projects focused on robust tool and library support for the 'Solution developer' stakeholder.

In the revamp of the delightful commons initiative, made possible with support of @nlnet I emphasized all these projects, while I de-emphasized the apps that are already doing good for themself, but contribute to further divergence from open standards.

delightful.coding.social

hollo.social/@fedify/019c8521-

Baessando ☭🇧🇷🇵🇸🇺🇳's avatar
Baessando ☭🇧🇷🇵🇸🇺🇳

@pBaesse@bolha.one

"Fedify 2.0.0 está aqui!

Esta é a maior atualização da história do Fedify. Destaques:

**Arquitetura modular** – O pacote monolítico `@fedify/fedify` foi dividido em pacotes independentes e focados: `@fedify/vocab`, `@fedify/vocab-runtime`, `@fedify/vocab-tools`, `@fedify/webfinger` e outros. Pacotes menores, imports mais limpos e a possibilidade de estender o ActivityPub com tipos de vocabulário personalizados.

**Painel de depuração em tempo real** – O novo pacote `@fedify/debugger` oferece um dashboard ao vivo em `/__debug__/` que mostra todo o tráfego de federação: traces, detalhes das atividades, verificação de assinaturas e logs correlacionados. Basta envolver seu objeto `Federation` e pronto.

**Suporte a relay do ActivityPub** – Suporte nativo a relays via `@fedify/relay` e o comando CLI `fedify relay`. Compatível com os protocolos Mastodon-style e LitePub-style (FEP-ae0c).

**Entrega ordenada de mensagens** – A nova opção `orderingKey` resolve o problema do "post zumbi", quando um `Delete` chega antes do seu `Create`. Atividades com a mesma chave são entregues garantidamente na ordem FIFO.

**Tratamento de falhas permanentes** – `setOutboxPermanentFailureHandler()` permite reagir quando uma inbox remota retorna 404 ou 410, possibilitando limpar seguidores inacessíveis em vez de tentar reenviar indefinidamente.

Outras novidades incluem negociação de conteúdo no nível do middleware, `@fedify/lint` para regras compartilhadas de linting, `@fedify/create` para scaffolding rápido de projetos, arquivos de configuração para a CLI, suporte nativo à CLI em Node.js/Bun e diversos fixes de bugs.

Esta versão conta com contribuições significativas de participantes do OSSCA da Coreia. Agradecemos imensamente a todos envolvidos!

Trata-se de uma release major com breaking changes. Consulte o guia de migração antes de atualizar.

Notas completas da release: github.com/fedify-dev/fedify/d

"

@fediverse @tecnologia @academicos @internet (pode seguir para acompanhar os assuntos ou marcar para amplificar a postagem até no tb)

@fedify hollo.social/@fedify/019c8521-

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@david_megginson @ben

Btw, just found the v2 release announcement of @fedify and that is a prime example on how, on the grassroots environment end of the spectrum we can maneuvre into better territory.

Kudos to the developers. Handing people tools they need to focus on solutions, and build without getting thrown into deep on-the-wire impl detail reeds to worry about.

That is the positive side of the equation. There's not only a big uptick in interest for the i.e. client-to-server, which offers new opportunity to correct course. But also are there more projects focused on robust tool and library support for the 'Solution developer' stakeholder.

In the revamp of the delightful commons initiative, made possible with support of @nlnet I emphasized all these projects, while I de-emphasized the apps that are already doing good for themself, but contribute to further divergence from open standards.

delightful.coding.social

hollo.social/@fedify/019c8521-

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0をリリースしました!

Fedify史上最大のリリースです。主な変更点をご紹介します:

  • モジュラーアーキテクチャ — これまでのモノリシックな@fedify/fedifyパッケージを、@fedify/vocab@fedify/vocab-runtime@fedify/vocab-tools@fedify/webfingerなど、独立したパッケージに分割しました。バンドルサイズの削減、インポートの整理に加え、カスタム語彙型によるActivityPubの拡張も可能になりました。
  • リアルタイムデバッグダッシュボード — 新しい@fedify/debuggerパッケージにより、/__debug__/パスにライブダッシュボードを表示できます。連合トラフィックのトレース、アクティビティの詳細、署名検証、ログまで一目で確認できます。既存のFederationオブジェクトをラップするだけで使えます。
  • ActivityPubリレーサポート@fedify/relayパッケージとfedify relayCLIコマンドで、リレーサーバーをすぐに立ち上げることができます。Mastodon方式とLitePub方式の両方に対応しています(FEP-ae0c)。
  • 順序保証メッセージ配信 — 新しいorderingKeyオプションにより、「ゾンビ投稿」問題を解決しました。DeleteCreateより先に到着してしまう問題がなくなります。同じキーを共有するアクティビティはFIFO順序が保証されます。
  • 永続的な配信失敗の処理setOutboxPermanentFailureHandler()で、リモートのインボックスが404や410を返した際に対応できるようになりました。到達不能なフォロワーの整理などが可能です。

その他にも、ミドルウェアレベルでのコンテンツネゴシエーション、@fedify/lint@fedify/create、CLI設定ファイル、ネイティブNode.js/Bun CLIサポート、多数のバグ修正などが含まれています。

今回のリリースには、韓国のOSSCA(オープンソースコントリビューションアカデミー)参加者の皆さんからの多大な貢献が含まれています。ご協力いただいた全ての方に感謝いたします!

破壊的変更を含むメジャーリリースです。アップグレード前にマイグレーションガイドを必ずご確認ください。

リリースノート全文: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@david_megginson @ben

Btw, just found the v2 release announcement of @fedify and that is a prime example on how, on the grassroots environment end of the spectrum we can maneuvre into better territory.

Kudos to the developers. Handing people tools they need to focus on solutions, and build without getting thrown into deep on-the-wire impl detail reeds to worry about.

That is the positive side of the equation. There's not only a big uptick in interest for the i.e. client-to-server, which offers new opportunity to correct course. But also are there more projects focused on robust tool and library support for the 'Solution developer' stakeholder.

In the revamp of the delightful commons initiative, made possible with support of @nlnet I emphasized all these projects, while I de-emphasized the apps that are already doing good for themself, but contribute to further divergence from open standards.

delightful.coding.social

hollo.social/@fedify/019c8521-

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0をリリースしました!

Fedify史上最大のリリースです。主な変更点をご紹介します:

  • モジュラーアーキテクチャ — これまでのモノリシックな@fedify/fedifyパッケージを、@fedify/vocab@fedify/vocab-runtime@fedify/vocab-tools@fedify/webfingerなど、独立したパッケージに分割しました。バンドルサイズの削減、インポートの整理に加え、カスタム語彙型によるActivityPubの拡張も可能になりました。
  • リアルタイムデバッグダッシュボード — 新しい@fedify/debuggerパッケージにより、/__debug__/パスにライブダッシュボードを表示できます。連合トラフィックのトレース、アクティビティの詳細、署名検証、ログまで一目で確認できます。既存のFederationオブジェクトをラップするだけで使えます。
  • ActivityPubリレーサポート@fedify/relayパッケージとfedify relayCLIコマンドで、リレーサーバーをすぐに立ち上げることができます。Mastodon方式とLitePub方式の両方に対応しています(FEP-ae0c)。
  • 順序保証メッセージ配信 — 新しいorderingKeyオプションにより、「ゾンビ投稿」問題を解決しました。DeleteCreateより先に到着してしまう問題がなくなります。同じキーを共有するアクティビティはFIFO順序が保証されます。
  • 永続的な配信失敗の処理setOutboxPermanentFailureHandler()で、リモートのインボックスが404や410を返した際に対応できるようになりました。到達不能なフォロワーの整理などが可能です。

その他にも、ミドルウェアレベルでのコンテンツネゴシエーション、@fedify/lint@fedify/create、CLI設定ファイル、ネイティブNode.js/Bun CLIサポート、多数のバグ修正などが含まれています。

今回のリリースには、韓国のOSSCA(オープンソースコントリビューションアカデミー)参加者の皆さんからの多大な貢献が含まれています。ご協力いただいた全ての方に感謝いたします!

破壊的変更を含むメジャーリリースです。アップグレード前にマイグレーションガイドを必ずご確認ください。

リリースノート全文: https://github.com/fedify-dev/fedify/discussions/580

Baessando ☭🇧🇷🇵🇸🇺🇳's avatar
Baessando ☭🇧🇷🇵🇸🇺🇳

@pBaesse@bolha.one

"Fedify 2.0.0 está aqui!

Esta é a maior atualização da história do Fedify. Destaques:

**Arquitetura modular** – O pacote monolítico `@fedify/fedify` foi dividido em pacotes independentes e focados: `@fedify/vocab`, `@fedify/vocab-runtime`, `@fedify/vocab-tools`, `@fedify/webfinger` e outros. Pacotes menores, imports mais limpos e a possibilidade de estender o ActivityPub com tipos de vocabulário personalizados.

**Painel de depuração em tempo real** – O novo pacote `@fedify/debugger` oferece um dashboard ao vivo em `/__debug__/` que mostra todo o tráfego de federação: traces, detalhes das atividades, verificação de assinaturas e logs correlacionados. Basta envolver seu objeto `Federation` e pronto.

**Suporte a relay do ActivityPub** – Suporte nativo a relays via `@fedify/relay` e o comando CLI `fedify relay`. Compatível com os protocolos Mastodon-style e LitePub-style (FEP-ae0c).

**Entrega ordenada de mensagens** – A nova opção `orderingKey` resolve o problema do "post zumbi", quando um `Delete` chega antes do seu `Create`. Atividades com a mesma chave são entregues garantidamente na ordem FIFO.

**Tratamento de falhas permanentes** – `setOutboxPermanentFailureHandler()` permite reagir quando uma inbox remota retorna 404 ou 410, possibilitando limpar seguidores inacessíveis em vez de tentar reenviar indefinidamente.

Outras novidades incluem negociação de conteúdo no nível do middleware, `@fedify/lint` para regras compartilhadas de linting, `@fedify/create` para scaffolding rápido de projetos, arquivos de configuração para a CLI, suporte nativo à CLI em Node.js/Bun e diversos fixes de bugs.

Esta versão conta com contribuições significativas de participantes do OSSCA da Coreia. Agradecemos imensamente a todos envolvidos!

Trata-se de uma release major com breaking changes. Consulte o guia de migração antes de atualizar.

Notas completas da release: github.com/fedify-dev/fedify/d

"

@fediverse @tecnologia @academicos @internet (pode seguir para acompanhar os assuntos ou marcar para amplificar a postagem até no tb)

@fedify hollo.social/@fedify/019c8521-

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Baessando ☭🇧🇷🇵🇸🇺🇳's avatar
Baessando ☭🇧🇷🇵🇸🇺🇳

@pBaesse@bolha.one

"Fedify 2.0.0 está aqui!

Esta é a maior atualização da história do Fedify. Destaques:

**Arquitetura modular** – O pacote monolítico `@fedify/fedify` foi dividido em pacotes independentes e focados: `@fedify/vocab`, `@fedify/vocab-runtime`, `@fedify/vocab-tools`, `@fedify/webfinger` e outros. Pacotes menores, imports mais limpos e a possibilidade de estender o ActivityPub com tipos de vocabulário personalizados.

**Painel de depuração em tempo real** – O novo pacote `@fedify/debugger` oferece um dashboard ao vivo em `/__debug__/` que mostra todo o tráfego de federação: traces, detalhes das atividades, verificação de assinaturas e logs correlacionados. Basta envolver seu objeto `Federation` e pronto.

**Suporte a relay do ActivityPub** – Suporte nativo a relays via `@fedify/relay` e o comando CLI `fedify relay`. Compatível com os protocolos Mastodon-style e LitePub-style (FEP-ae0c).

**Entrega ordenada de mensagens** – A nova opção `orderingKey` resolve o problema do "post zumbi", quando um `Delete` chega antes do seu `Create`. Atividades com a mesma chave são entregues garantidamente na ordem FIFO.

**Tratamento de falhas permanentes** – `setOutboxPermanentFailureHandler()` permite reagir quando uma inbox remota retorna 404 ou 410, possibilitando limpar seguidores inacessíveis em vez de tentar reenviar indefinidamente.

Outras novidades incluem negociação de conteúdo no nível do middleware, `@fedify/lint` para regras compartilhadas de linting, `@fedify/create` para scaffolding rápido de projetos, arquivos de configuração para a CLI, suporte nativo à CLI em Node.js/Bun e diversos fixes de bugs.

Esta versão conta com contribuições significativas de participantes do OSSCA da Coreia. Agradecemos imensamente a todos envolvidos!

Trata-se de uma release major com breaking changes. Consulte o guia de migração antes de atualizar.

Notas completas da release: github.com/fedify-dev/fedify/d

"

@fediverse @tecnologia @academicos @internet (pode seguir para acompanhar os assuntos ou marcar para amplificar a postagem até no tb)

@fedify hollo.social/@fedify/019c8521-

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0をリリースしました!

Fedify史上最大のリリースです。主な変更点をご紹介します:

  • モジュラーアーキテクチャ — これまでのモノリシックな@fedify/fedifyパッケージを、@fedify/vocab@fedify/vocab-runtime@fedify/vocab-tools@fedify/webfingerなど、独立したパッケージに分割しました。バンドルサイズの削減、インポートの整理に加え、カスタム語彙型によるActivityPubの拡張も可能になりました。
  • リアルタイムデバッグダッシュボード — 新しい@fedify/debuggerパッケージにより、/__debug__/パスにライブダッシュボードを表示できます。連合トラフィックのトレース、アクティビティの詳細、署名検証、ログまで一目で確認できます。既存のFederationオブジェクトをラップするだけで使えます。
  • ActivityPubリレーサポート@fedify/relayパッケージとfedify relayCLIコマンドで、リレーサーバーをすぐに立ち上げることができます。Mastodon方式とLitePub方式の両方に対応しています(FEP-ae0c)。
  • 順序保証メッセージ配信 — 新しいorderingKeyオプションにより、「ゾンビ投稿」問題を解決しました。DeleteCreateより先に到着してしまう問題がなくなります。同じキーを共有するアクティビティはFIFO順序が保証されます。
  • 永続的な配信失敗の処理setOutboxPermanentFailureHandler()で、リモートのインボックスが404や410を返した際に対応できるようになりました。到達不能なフォロワーの整理などが可能です。

その他にも、ミドルウェアレベルでのコンテンツネゴシエーション、@fedify/lint@fedify/create、CLI設定ファイル、ネイティブNode.js/Bun CLIサポート、多数のバグ修正などが含まれています。

今回のリリースには、韓国のOSSCA(オープンソースコントリビューションアカデミー)参加者の皆さんからの多大な貢献が含まれています。ご協力いただいた全ての方に感謝いたします!

破壊的変更を含むメジャーリリースです。アップグレード前にマイグレーションガイドを必ずご確認ください。

リリースノート全文: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@david_megginson @ben

Though with regards to progress, there's a difference in both approaches.

At the side you have inertia by the slow standardization process. But should they figure things out in a good way, eventually the ecosystem catches up and the inertia can quickly decrease.

While at side, since AS/AP remains stagnant, the ever increasing protocol decay and tech debt non-linearly increases inertia and progress. And on top of that, you are never done once you implemented the 'ad-hoc specs' of the installed base, and you have to account for continuous whack-a-mole development and maintenance burdens to fix breakages.

The AS/AP based fediverse devolves into effectively no interoperability, and a situation that is more comporative to NPM dependency hell.

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0をリリースしました!

Fedify史上最大のリリースです。主な変更点をご紹介します:

  • モジュラーアーキテクチャ — これまでのモノリシックな@fedify/fedifyパッケージを、@fedify/vocab@fedify/vocab-runtime@fedify/vocab-tools@fedify/webfingerなど、独立したパッケージに分割しました。バンドルサイズの削減、インポートの整理に加え、カスタム語彙型によるActivityPubの拡張も可能になりました。
  • リアルタイムデバッグダッシュボード — 新しい@fedify/debuggerパッケージにより、/__debug__/パスにライブダッシュボードを表示できます。連合トラフィックのトレース、アクティビティの詳細、署名検証、ログまで一目で確認できます。既存のFederationオブジェクトをラップするだけで使えます。
  • ActivityPubリレーサポート@fedify/relayパッケージとfedify relayCLIコマンドで、リレーサーバーをすぐに立ち上げることができます。Mastodon方式とLitePub方式の両方に対応しています(FEP-ae0c)。
  • 順序保証メッセージ配信 — 新しいorderingKeyオプションにより、「ゾンビ投稿」問題を解決しました。DeleteCreateより先に到着してしまう問題がなくなります。同じキーを共有するアクティビティはFIFO順序が保証されます。
  • 永続的な配信失敗の処理setOutboxPermanentFailureHandler()で、リモートのインボックスが404や410を返した際に対応できるようになりました。到達不能なフォロワーの整理などが可能です。

その他にも、ミドルウェアレベルでのコンテンツネゴシエーション、@fedify/lint@fedify/create、CLI設定ファイル、ネイティブNode.js/Bun CLIサポート、多数のバグ修正などが含まれています。

今回のリリースには、韓国のOSSCA(オープンソースコントリビューションアカデミー)参加者の皆さんからの多大な貢献が含まれています。ご協力いただいた全ての方に感謝いたします!

破壊的変更を含むメジャーリリースです。アップグレード前にマイグレーションガイドを必ずご確認ください。

リリースノート全文: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0をリリースしました!

Fedify史上最大のリリースです。主な変更点をご紹介します:

  • モジュラーアーキテクチャ — これまでのモノリシックな@fedify/fedifyパッケージを、@fedify/vocab@fedify/vocab-runtime@fedify/vocab-tools@fedify/webfingerなど、独立したパッケージに分割しました。バンドルサイズの削減、インポートの整理に加え、カスタム語彙型によるActivityPubの拡張も可能になりました。
  • リアルタイムデバッグダッシュボード — 新しい@fedify/debuggerパッケージにより、/__debug__/パスにライブダッシュボードを表示できます。連合トラフィックのトレース、アクティビティの詳細、署名検証、ログまで一目で確認できます。既存のFederationオブジェクトをラップするだけで使えます。
  • ActivityPubリレーサポート@fedify/relayパッケージとfedify relayCLIコマンドで、リレーサーバーをすぐに立ち上げることができます。Mastodon方式とLitePub方式の両方に対応しています(FEP-ae0c)。
  • 順序保証メッセージ配信 — 新しいorderingKeyオプションにより、「ゾンビ投稿」問題を解決しました。DeleteCreateより先に到着してしまう問題がなくなります。同じキーを共有するアクティビティはFIFO順序が保証されます。
  • 永続的な配信失敗の処理setOutboxPermanentFailureHandler()で、リモートのインボックスが404や410を返した際に対応できるようになりました。到達不能なフォロワーの整理などが可能です。

その他にも、ミドルウェアレベルでのコンテンツネゴシエーション、@fedify/lint@fedify/create、CLI設定ファイル、ネイティブNode.js/Bun CLIサポート、多数のバグ修正などが含まれています。

今回のリリースには、韓国のOSSCA(オープンソースコントリビューションアカデミー)参加者の皆さんからの多大な貢献が含まれています。ご協力いただいた全ての方に感謝いたします!

破壊的変更を含むメジャーリリースです。アップグレード前にマイグレーションガイドを必ずご確認ください。

リリースノート全文: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0をリリースしました!

Fedify史上最大のリリースです。主な変更点をご紹介します:

  • モジュラーアーキテクチャ — これまでのモノリシックな@fedify/fedifyパッケージを、@fedify/vocab@fedify/vocab-runtime@fedify/vocab-tools@fedify/webfingerなど、独立したパッケージに分割しました。バンドルサイズの削減、インポートの整理に加え、カスタム語彙型によるActivityPubの拡張も可能になりました。
  • リアルタイムデバッグダッシュボード — 新しい@fedify/debuggerパッケージにより、/__debug__/パスにライブダッシュボードを表示できます。連合トラフィックのトレース、アクティビティの詳細、署名検証、ログまで一目で確認できます。既存のFederationオブジェクトをラップするだけで使えます。
  • ActivityPubリレーサポート@fedify/relayパッケージとfedify relayCLIコマンドで、リレーサーバーをすぐに立ち上げることができます。Mastodon方式とLitePub方式の両方に対応しています(FEP-ae0c)。
  • 順序保証メッセージ配信 — 新しいorderingKeyオプションにより、「ゾンビ投稿」問題を解決しました。DeleteCreateより先に到着してしまう問題がなくなります。同じキーを共有するアクティビティはFIFO順序が保証されます。
  • 永続的な配信失敗の処理setOutboxPermanentFailureHandler()で、リモートのインボックスが404や410を返した際に対応できるようになりました。到達不能なフォロワーの整理などが可能です。

その他にも、ミドルウェアレベルでのコンテンツネゴシエーション、@fedify/lint@fedify/create、CLI設定ファイル、ネイティブNode.js/Bun CLIサポート、多数のバグ修正などが含まれています。

今回のリリースには、韓国のOSSCA(オープンソースコントリビューションアカデミー)参加者の皆さんからの多大な貢献が含まれています。ご協力いただいた全ての方に感謝いたします!

破壊的変更を含むメジャーリリースです。アップグレード前にマイグレーションガイドを必ずご確認ください。

リリースノート全文: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: ActivityPub server framework's post

Fedify 2.0.0을 릴리스했습니다!

Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:

  • 모듈형 아키텍처 — 기존의 단일 @fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.
  • 실시간 디버그 대시보드 — 새로운 @fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.
  • ActivityPub 릴레이 지원@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).
  • 순서 보장 메시지 전달 — 새로운 orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. DeleteCreate보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.
  • 영구 전달 실패 처리setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.

이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.

이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!

브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.

전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify 2.0.0 is here!

This is the biggest release in Fedify's history. Here are the highlights:

  • Modular architecture — The monolithic @fedify/fedify package has been broken up into focused, independent packages: @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types.
  • Real-time debug dashboard — The new @fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.
  • ActivityPub relay support — First-class relay support via @fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).
  • Ordered message delivery — The new orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.
  • Permanent failure handlingsetOutboxPermanentFailureHandler() lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.

Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.

This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!

This is a major release with breaking changes—please check the migration guide before upgrading.

Full release notes: https://github.com/fedify-dev/fedify/discussions/580

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

It is good that there are calls to be/remain wary.

kevinak.se/blog/be-wary-of-blu

news.ycombinator.com/item?id=4

Detecting issues early, and future problems can be anticipated and prepared for. And it allows people to make informed technology decisions and weigh the pros and cons, the risks.

There are currently all kinds of typical tech ideology and protocol wars being waged, yet the answer to "Should I use this technology?" always starts with "It depends.."

I am in the camp for many of the reasons mentioned in the article. At the same time I am a multi-protocol proponent. Use whatever works best to satisfy needs and forms a solution.

The article also rightfully states that you are not safe from re-centralization risks and corporate capture with any protocol. Esp. not based on the protocol alone.

Did we ever honestly investigate risks to our ? What if we get big uptake, adoption, billions of fedizens? What shape will that take. Will it bring us "true social"?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

I recreated an old diagram in Excalidraw that I spread about a couple years ago, and made it a bit more informative. Explanation can be found in the

See also and for discussion: discuss.coding.social/t/diagra

Or join the Social experience design chatroom at: matrix.to/#/#socialcoding-foun

Also posted to at: socialhub.activitypub.rocks/t/

@ben

Diagram. Interoperability in practice. A chart with a horizontal axis that goes in 2 directions. On the left it moves towards chaotic grassroots growth, and on the right side towards open standards adoption. The Y-axis indicates level of complexity. The center indicates a low level of complexity.

On the left side of the axis we first find the ActivityPub open standard, with a relatively low complexity level. However the prevailing method to evolving the ecosystem is driven by post facto interoperability, where tech debt and protocol decay is introduced and accepted, which must be refactored and evolve alongside the open standard. Since this doesn’t happen, the fediverse grassroots environment is shifting more to the left into non-lineary increasing accidental complexity. Deviating more and more from the ActivityPub standard and the promise that it holds to offer the Future of Social networking.

On the right side, to contrast against fediverse, we find the Solid Project led by Sir Tim Berners-Lee, which is based on a whole range of W3C Linked Data related open standards and draft documents. There is no grassroots movement that drives progress, but a steering committee. Progress is restrained by open standards adoption and support. Higher levels of interoperability require more rigour and formal standardization, and this also leads to non-linear growth of, in this case, engineered complexity. Solution developers have to wait for many standards to mature, leading to inertia.
ALT text detailsDiagram. Interoperability in practice. A chart with a horizontal axis that goes in 2 directions. On the left it moves towards chaotic grassroots growth, and on the right side towards open standards adoption. The Y-axis indicates level of complexity. The center indicates a low level of complexity. On the left side of the axis we first find the ActivityPub open standard, with a relatively low complexity level. However the prevailing method to evolving the ecosystem is driven by post facto interoperability, where tech debt and protocol decay is introduced and accepted, which must be refactored and evolve alongside the open standard. Since this doesn’t happen, the fediverse grassroots environment is shifting more to the left into non-lineary increasing accidental complexity. Deviating more and more from the ActivityPub standard and the promise that it holds to offer the Future of Social networking. On the right side, to contrast against fediverse, we find the Solid Project led by Sir Tim Berners-Lee, which is based on a whole range of W3C Linked Data related open standards and draft documents. There is no grassroots movement that drives progress, but a steering committee. Progress is restrained by open standards adoption and support. Higher levels of interoperability require more rigour and formal standardization, and this also leads to non-linear growth of, in this case, engineered complexity. Solution developers have to wait for many standards to mature, leading to inertia.
Simon Elvery's avatar
Simon Elvery

@simon@bne.social

I imagine this depends on the platform to some degree, but I have an question: Is the home timeline chronological on post publish or when your instance becomes aware of the post?

For context, @posts sometimes publishes a post with a publish time well in the past, for instance right now the most recent post delivered to followers (delivered just now) has a publish time which was 18 hours ago. Does this show up in your feed now, or never get seen because the feed files it away chronologically with all the other 18 hour ago posts?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:blobhyperthink:

The current fediverse is an evolutionary dead-end for 2 reasons:

1. It has painted itself in a small niche of decentralizing typical social media use cases, by means of post-facto interop and the introduction of protocol decay.

2. Lacking a proper grassroots standardization process, and with the primary mechanism for fediverse extension being only post-facto interoperability, there is no way out.

Congratulations to the early adopters, who managed to "cross the chasm" with their own app platforms. It took true grit to become deep experts, and plug holes needed for your app, but you have made it. Post-facto interop works in your favor now. You are unrestrained to productively add more features in your app, and put them on the fedi wire for others to deal with.

To avoid fedi to become less and less attractive to newcomers, we must now consider:

“Why do we want to grow the open social web, and for whom?” -- @ben

coding.social/blog/shared-owne

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

This is how currently handles DMs over . Holos is a project we develop alongside .

holos.social/e2ee

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

This is how currently handles DMs over . Holos is a project we develop alongside .

holos.social/e2ee

Simon Elvery's avatar
Simon Elvery

@simon@bne.social

I imagine this depends on the platform to some degree, but I have an question: Is the home timeline chronological on post publish or when your instance becomes aware of the post?

For context, @posts sometimes publishes a post with a publish time well in the past, for instance right now the most recent post delivered to followers (delivered just now) has a publish time which was 18 hours ago. Does this show up in your feed now, or never get seen because the feed files it away chronologically with all the other 18 hour ago posts?

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

This is how currently handles DMs over . Holos is a project we develop alongside .

holos.social/e2ee

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

It is good that there are calls to be/remain wary.

kevinak.se/blog/be-wary-of-blu

news.ycombinator.com/item?id=4

Detecting issues early, and future problems can be anticipated and prepared for. And it allows people to make informed technology decisions and weigh the pros and cons, the risks.

There are currently all kinds of typical tech ideology and protocol wars being waged, yet the answer to "Should I use this technology?" always starts with "It depends.."

I am in the camp for many of the reasons mentioned in the article. At the same time I am a multi-protocol proponent. Use whatever works best to satisfy needs and forms a solution.

The article also rightfully states that you are not safe from re-centralization risks and corporate capture with any protocol. Esp. not based on the protocol alone.

Did we ever honestly investigate risks to our ? What if we get big uptake, adoption, billions of fedizens? What shape will that take. Will it bring us "true social"?

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

This is how currently handles DMs over . Holos is a project we develop alongside .

holos.social/e2ee

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

This is how currently handles DMs over . Holos is a project we develop alongside .

holos.social/e2ee

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

To chain things together a bit on this fleety medium of ours, create a hyperweb 😜 I'll quote this toot to follow-up to

social.coop/@smallcircles/1161

I remember about 2018 or so, when I joined my first meetup. It was when the CG was still strongly tied to community.

There were mundane items on the agenda, interesting to any dev, and also the call to action was "whether you are technical or not at all, join the meetup, we are open and inclusive to all fedizens". Very friendly, good vibes.

However during the session the talk was not only CS expert level, but dealing with subject matter nowhere near the spec. It was 'wire reality' slang, and to learn it the guidance was either nowhere, or everywhere, dispersed. And this is still as it is today. To expertised AP developers their domain language sounds all natural, but it likely seems Martian to a dev newcomer.

Stark contrast to the W3C specs that leave folks with refreshing "Let's implement this" vibe.

@ben

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Emelia's post

@thisismissem

@reiver it is a good question. It is also a question that is formulated from the perspective on how we currently see the AS/AP fediverse.

> I've seen an ongoing debate between "Note" versus "Article" in / .
> When is something a "Note"‽
> When is something an "Article"‽

The question makes sense from the notion of what the current is. It makes less sense from the context of AS/AP as described in the protocol specs.

Background to my post is this observation: social.coop/@smallcircles/1161

Then the answer to when is something a Note or an Article is: Always. Note is Note in ActivityStreams and Article is Article.

The question that you would be asking, if only we had a fediverse that followed the original promise of the open standards, is:

> "When is something a Note or an Article in a Microblogging domain?"

For instance.. types you have in any domain depend on your model preferences. Could be anything that serves needs of a solution.

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

I've seen an ongoing debate between "Note" versus "Article" in ActivityPub / ActivityStreams.

When is something a "Note"‽
When is something an "Article"‽

Personally — I would probably have made the distinction this way.

An "Article" has a title.
A "Note" doesn't have a title.

(In ActivityPub / ActivityStreams, a 'title' seems to tend to get represented in the "name" field.)

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Emelia's post

@thisismissem

@reiver it is a good question. It is also a question that is formulated from the perspective on how we currently see the AS/AP fediverse.

> I've seen an ongoing debate between "Note" versus "Article" in / .
> When is something a "Note"‽
> When is something an "Article"‽

The question makes sense from the notion of what the current is. It makes less sense from the context of AS/AP as described in the protocol specs.

Background to my post is this observation: social.coop/@smallcircles/1161

Then the answer to when is something a Note or an Article is: Always. Note is Note in ActivityStreams and Article is Article.

The question that you would be asking, if only we had a fediverse that followed the original promise of the open standards, is:

> "When is something a Note or an Article in a Microblogging domain?"

For instance.. types you have in any domain depend on your model preferences. Could be anything that serves needs of a solution.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:blobhyperthink:

The current fediverse is an evolutionary dead-end for 2 reasons:

1. It has painted itself in a small niche of decentralizing typical social media use cases, by means of post-facto interop and the introduction of protocol decay.

2. Lacking a proper grassroots standardization process, and with the primary mechanism for fediverse extension being only post-facto interoperability, there is no way out.

Congratulations to the early adopters, who managed to "cross the chasm" with their own app platforms. It took true grit to become deep experts, and plug holes needed for your app, but you have made it. Post-facto interop works in your favor now. You are unrestrained to productively add more features in your app, and put them on the fedi wire for others to deal with.

To avoid fedi to become less and less attractive to newcomers, we must now consider:

“Why do we want to grow the open social web, and for whom?” -- @ben

coding.social/blog/shared-owne

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

@silverpill
What's going on with
codeberg.org/fediverse/fep/src
are there any activities ?

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

With we checked multiple criteria before indexing: "indexable" enabled, account not locked, no or in bio, not in opted-out list, only public posts. Every deletion, edit or block was processed instantly via .
Google uses that same "indexable" flag but ignores everything else, keeps deleted content cached for weeks.
We shut it down after pushback. Was that the right call? Don't hesitate to share, this concerns the whole Fediverse.

OptionVoters
It should have stayed up8 (89%)
Right call to shut it down0 (0%)
No opinion1 (11%)
@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

I've seen an ongoing debate between "Note" versus "Article" in ActivityPub / ActivityStreams.

When is something a "Note"‽
When is something an "Article"‽

Personally — I would probably have made the distinction this way.

An "Article" has a title.
A "Note" doesn't have a title.

(In ActivityPub / ActivityStreams, a 'title' seems to tend to get represented in the "name" field.)

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post

In the old blogging software I created back in the 1990s, I had a handful of posts types

There was a type of rich-text oriented post that had a title. (Article)

And, there way another type of rich-text oriented post that did not have a title. (Note)

(There were also other types of posts, but they aren't relevant here)

These 2 types of posts were rendered / displayed differently

I.e., my 1990s software already had this distinction

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

I've seen an ongoing debate between "Note" versus "Article" in ActivityPub / ActivityStreams.

When is something a "Note"‽
When is something an "Article"‽

Personally — I would probably have made the distinction this way.

An "Article" has a title.
A "Note" doesn't have a title.

(In ActivityPub / ActivityStreams, a 'title' seems to tend to get represented in the "name" field.)

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

@silverpill
What's going on with
codeberg.org/fediverse/fep/src
are there any activities ?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Evan Prodromou's post

@evan @cwebber @steve

Thank you, that is nice to hear. I am however not an expert, am but a humble generalist and a person who'd love to be in that Solution developer stakeholder role. Who however does not see the fediverse trend in a direction where I'd adopt the technology for what I have in mind. Drifting away from "the promise" that I read in the specs in 2017, and which at the time made me decide to lend a helping hand here and there as facilitator and tech advocate.

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

I opened a issue in the swicg ActivityPub API repo about a gap i keep running into: how does a C2S client access server-local metadata about foreign objects?

Thread collections, read status, notifications — your server knows things about remote objects that the client needs, but AP has no vocabulary for it.

github.com/swicg/activitypub-a

@evanprodromou

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

Have I already mentioned that the “Show thread” request is slowly driving me crazy?

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

Have I already mentioned that the “Show thread” request is slowly driving me crazy?

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

I opened a issue in the swicg ActivityPub API repo about a gap i keep running into: how does a C2S client access server-local metadata about foreign objects?

Thread collections, read status, notifications — your server knows things about remote objects that the client needs, but AP has no vocabulary for it.

github.com/swicg/activitypub-a

@evanprodromou

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Christine Lemmer-Webber's post

@evan

> it's ok if you haven't heard of a REST API.

Well, you be you. I consider this a 'typical Evan remark' by now, dripping with sarcasm. It is a weird fit for someone who want to lead the efforts, I'd say.

Ah well. What I am talking about is architecture and design, and all the things that allow people to easily form a clear mental picture on how things fit together, wrap their head around the fediverse.

A HTTP interface is a very low-level thing, and clearly but one of the many moving parts that play a role in based solution development.

Never defining this well, and having the documentation be scattered all across the fediverse in 1,001 random locations doesn't help. Meanwhile the dev talk that is going on for years remains very inefficient due to endless Babylonian speech confusion.

social.coop/@smallcircles/1161

@cwebber @steve

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:blobhyperthink:

The current fediverse is an evolutionary dead-end for 2 reasons:

1. It has painted itself in a small niche of decentralizing typical social media use cases, by means of post-facto interop and the introduction of protocol decay.

2. Lacking a proper grassroots standardization process, and with the primary mechanism for fediverse extension being only post-facto interoperability, there is no way out.

Congratulations to the early adopters, who managed to "cross the chasm" with their own app platforms. It took true grit to become deep experts, and plug holes needed for your app, but you have made it. Post-facto interop works in your favor now. You are unrestrained to productively add more features in your app, and put them on the fedi wire for others to deal with.

To avoid fedi to become less and less attractive to newcomers, we must now consider:

“Why do we want to grow the open social web, and for whom?” -- @ben

coding.social/blog/shared-owne

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

:blobhyperthink:

The current fediverse is an evolutionary dead-end for 2 reasons:

1. It has painted itself in a small niche of decentralizing typical social media use cases, by means of post-facto interop and the introduction of protocol decay.

2. Lacking a proper grassroots standardization process, and with the primary mechanism for fediverse extension being only post-facto interoperability, there is no way out.

Congratulations to the early adopters, who managed to "cross the chasm" with their own app platforms. It took true grit to become deep experts, and plug holes needed for your app, but you have made it. Post-facto interop works in your favor now. You are unrestrained to productively add more features in your app, and put them on the fedi wire for others to deal with.

To avoid fedi to become less and less attractive to newcomers, we must now consider:

“Why do we want to grow the open social web, and for whom?” -- @ben

coding.social/blog/shared-owne

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@evan @steve

Another issue: Unclear protocol layers.

> I am not a fan of the idea that is a message-passing system; it's a read-write API.

I'm not sure what a "read-write API" is, really. It 's a fuzzy term, whereas message based systems have well-defined architecture patterns and a body of IT knowledge and practice to apply them in robust communication systems. A 'Message API' has a generic, consistent interface.

The overarching goal of AS/AP should be empowerment of the Solution developer so they can directly focus on building use cases for their application or business domain. They should not have to think about any of the intrinsics of the protocol, like particular GETs and POSTs used to model protocol capabilities in the HTTP transport layer.

Solution design then involves:

0. Model the domain
1. Data modeling, msg formats + validation
2. Define actor msg exchange patterns
3. Document design
--
4. Improve these steps. Add native protocol + tool support over time.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@steve @evan

Note that there is an accompanying issue in the API repository, where I transferred my reply to in the following comment:

github.com/swicg/activitypub-a

I also added a very nice demonstration that is interesting for the folks, as it is using in the event-sourced set up.

github.com/ismasan/sourced_todo

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@julian @evan

Btw, some time ago in a matrix discussion I sketched how I'd like to conceptually 'see' the social network. Not Mastodon-compliant per se (though it might be via a Profile or Bridge) but back to "promised land". Where the protocol is expressed in familiar architecture patterns and borrows concepts from message queuing, actor model, event-driven architecture, etc.

Then as a "Solution designer" I am a stakeholder that wants to be completely shielded from all that jazz. That should all be encapsulated by the protocol libraries and SDK's that are offered in language variants across the ecosystem. et al is a black box. I can directly start modeling what should be exchanged on the bus, and I can apply domain driven design here. And if I have a semantic web part of my app I'd use linked data modeling best-practices.

I would have power tools like and methods like .

eventcatalog.dev/features/visu

eventmodeling.org/

Diagram showing the concept of an actor communicating to a remote actor, where there is a schema-based closed-world communication bus, and an open-world semantic web interface.
ALT text detailsDiagram showing the concept of an actor communicating to a remote actor, where there is a schema-based closed-world communication bus, and an open-world semantic web interface.
Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify is an server framework in & . It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

The key features it provides currently are:

If you're curious, take a look at the website! There's comprehensive docs, a demo, a tutorial, example code, and more:

https://fedify.dev/

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify is an server framework in & . It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

The key features it provides currently are:

If you're curious, take a look at the website! There's comprehensive docs, a demo, a tutorial, example code, and more:

https://fedify.dev/

Anne's avatar
Anne

@annewalk@tootsweet.social

Are there any other writers here using a Wordpress blog federated via ActivityPub that want to follow each other like an old school web ring? I’d like to follow you. Would be nice to read your stuff and see how others are using Wordpress (and get some advice regarding the quirks of the setup) You can find mine at @blog

mauvehed 🐿️ (KØMVH)'s avatar
mauvehed 🐿️ (KØMVH)

@mauvehed@defcon.social

Is there any good activitypub/fediverse blogging software out there? Most of what I find is ultra minimalistic. Was looking for something a bit more.

👁's avatar
👁

@eyeinthesky@mastodon.social

What’s up with delivery addressing being in both activities and objects? If my app publishes a nonpublic Create with different direct delivery targets than the created Object, what is supposed to happen? I know the spec recommends against it (suggests duplicating the addresses in both), but why was this considered a feature to allow? I think there should have been a non-AS2 envelope for addressing rather than embedding it (twice) into the content. You know, like email.

Anne's avatar
Anne

@annewalk@tootsweet.social

Are there any other writers here using a Wordpress blog federated via ActivityPub that want to follow each other like an old school web ring? I’d like to follow you. Would be nice to read your stuff and see how others are using Wordpress (and get some advice regarding the quirks of the setup) You can find mine at @blog

Ricardo Ferrer Rivero🇪🇺's avatar
Ricardo Ferrer Rivero🇪🇺

@ricferrer@mastodon.social

It’s really surprising to me that the hasn’t agreed on a standardized way to open cross-instance objects and instead relies on links that open in the browser.

I found this proposal and what’s thinking… codeberg.org/fediverse/fep/src Which one would be your favorite?

(If anyone has updates on the progress, feel free to point me in the right direction)

OptionVoters
web+ap:1 (100%)
ap:0 (0%)
activitypub:0 (0%)
fedi:0 (0%)
👁's avatar
👁

@eyeinthesky@mastodon.social

I’m confused (you probably already knew that). Is activitypub.space going to replace SocialHub? Is it cool (or even recommended) to create FEPs that use activitypub.space for discussion?

👁's avatar
👁

@eyeinthesky@mastodon.social

What’s up with delivery addressing being in both activities and objects? If my app publishes a nonpublic Create with different direct delivery targets than the created Object, what is supposed to happen? I know the spec recommends against it (suggests duplicating the addresses in both), but why was this considered a feature to allow? I think there should have been a non-AS2 envelope for addressing rather than embedding it (twice) into the content. You know, like email.

mauvehed 🐿️ (KØMVH)'s avatar
mauvehed 🐿️ (KØMVH)

@mauvehed@defcon.social

Is there any good activitypub/fediverse blogging software out there? Most of what I find is ultra minimalistic. Was looking for something a bit more.

dansup's avatar
dansup

@dansup@mastodon.social

having full end-to-end control of two of the biggest fediverse platforms is a rare thing.

it means real progress: comment controls, unified messenger, ephemeral stories.

it also helps legitimize smaller projects doing incredible work — emissary, gotosocial and beyond.

we're living the fairytale 🫶

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

@Mastodon is changing course when it comes to how people join the platform. In late 2022, the team decided to send sign-ups directly to their server in order to make onboarding more straightforward. But that didn't align with the promise of decentralization. Here, Community Director @haubles explains the new approach to server recommendation, along with some other ways Mastodon is helping build community.

flip.it/1bWN26

Anne's avatar
Anne

@annewalk@tootsweet.social

Are there any other writers here using a Wordpress blog federated via ActivityPub that want to follow each other like an old school web ring? I’d like to follow you. Would be nice to read your stuff and see how others are using Wordpress (and get some advice regarding the quirks of the setup) You can find mine at @blog

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

@Mastodon is changing course when it comes to how people join the platform. In late 2022, the team decided to send sign-ups directly to their server in order to make onboarding more straightforward. But that didn't align with the promise of decentralization. Here, Community Director @haubles explains the new approach to server recommendation, along with some other ways Mastodon is helping build community.

flip.it/1bWN26

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

@Mastodon is changing course when it comes to how people join the platform. In late 2022, the team decided to send sign-ups directly to their server in order to make onboarding more straightforward. But that didn't align with the promise of decentralization. Here, Community Director @haubles explains the new approach to server recommendation, along with some other ways Mastodon is helping build community.

flip.it/1bWN26

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-20

Servers

- snac v2.90
- Castopod v1.15.0
- Ktistec v3.3.0
- tootik v0.21.1
- Badgefed v0.1.1
- Gush! v0.0.30
- Wanderer v0.18.5
- PieFed v1.6.6
- Our technical direction (Mastodon)

Clients

- Sengi v1.8.0
- tooi v0.21.2
- Summit v1.77.0
- Aria v1.4.3
- Pixelix v4.3.2

Tools and Plugins

- feed2fedi v3.5.0
- PeerTube Browser: A video discovery project for the federated PeerTube network

Protocol

- FEP-34c1: Collection Filtering using TREE Hypermedia Vocabulary

Articles

- Where Does Community Live?
- Why MAEPs? What should they look like?
- how to not regret c2s
- Reimagining Fediverse Advocacy
- FR#154 – Search and Community

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c5906-05c0-87bf-8302-8226a8513c00

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-20

Servers

- snac v2.90
- Castopod v1.15.0
- Ktistec v3.3.0
- tootik v0.21.1
- Badgefed v0.1.1
- Gush! v0.0.30
- Wanderer v0.18.5
- PieFed v1.6.6
- Our technical direction (Mastodon)

Clients

- Sengi v1.8.0
- tooi v0.21.2
- Summit v1.77.0
- Aria v1.4.3
- Pixelix v4.3.2

Tools and Plugins

- feed2fedi v3.5.0
- PeerTube Browser: A video discovery project for the federated PeerTube network

Protocol

- FEP-34c1: Collection Filtering using TREE Hypermedia Vocabulary

Articles

- Where Does Community Live?
- Why MAEPs? What should they look like?
- how to not regret c2s
- Reimagining Fediverse Advocacy
- FR#154 – Search and Community

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c5906-05c0-87bf-8302-8226a8513c00

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-20

Servers

- snac v2.90
- Castopod v1.15.0
- Ktistec v3.3.0
- tootik v0.21.1
- Badgefed v0.1.1
- Gush! v0.0.30
- Wanderer v0.18.5
- PieFed v1.6.6
- Our technical direction (Mastodon)

Clients

- Sengi v1.8.0
- tooi v0.21.2
- Summit v1.77.0
- Aria v1.4.3
- Pixelix v4.3.2

Tools and Plugins

- feed2fedi v3.5.0
- PeerTube Browser: A video discovery project for the federated PeerTube network

Protocol

- FEP-34c1: Collection Filtering using TREE Hypermedia Vocabulary

Articles

- Where Does Community Live?
- Why MAEPs? What should they look like?
- how to not regret c2s
- Reimagining Fediverse Advocacy
- FR#154 – Search and Community

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c5906-05c0-87bf-8302-8226a8513c00

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-20

Servers

- snac v2.90
- Castopod v1.15.0
- Ktistec v3.3.0
- tootik v0.21.1
- Badgefed v0.1.1
- Gush! v0.0.30
- Wanderer v0.18.5
- PieFed v1.6.6
- Our technical direction (Mastodon)

Clients

- Sengi v1.8.0
- tooi v0.21.2
- Summit v1.77.0
- Aria v1.4.3
- Pixelix v4.3.2

Tools and Plugins

- feed2fedi v3.5.0
- PeerTube Browser: A video discovery project for the federated PeerTube network

Protocol

- FEP-34c1: Collection Filtering using TREE Hypermedia Vocabulary

Articles

- Where Does Community Live?
- Why MAEPs? What should they look like?
- how to not regret c2s
- Reimagining Fediverse Advocacy
- FR#154 – Search and Community

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c5906-05c0-87bf-8302-8226a8513c00

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-20

Servers

- snac v2.90
- Castopod v1.15.0
- Ktistec v3.3.0
- tootik v0.21.1
- Badgefed v0.1.1
- Gush! v0.0.30
- Wanderer v0.18.5
- PieFed v1.6.6
- Our technical direction (Mastodon)

Clients

- Sengi v1.8.0
- tooi v0.21.2
- Summit v1.77.0
- Aria v1.4.3
- Pixelix v4.3.2

Tools and Plugins

- feed2fedi v3.5.0
- PeerTube Browser: A video discovery project for the federated PeerTube network

Protocol

- FEP-34c1: Collection Filtering using TREE Hypermedia Vocabulary

Articles

- Where Does Community Live?
- Why MAEPs? What should they look like?
- how to not regret c2s
- Reimagining Fediverse Advocacy
- FR#154 – Search and Community

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c5906-05c0-87bf-8302-8226a8513c00

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

@Mastodon is changing course when it comes to how people join the platform. In late 2022, the team decided to send sign-ups directly to their server in order to make onboarding more straightforward. But that didn't align with the promise of decentralization. Here, Community Director @haubles explains the new approach to server recommendation, along with some other ways Mastodon is helping build community.

flip.it/1bWN26

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@deadsuperhero

It does not need to be that way. I am quite happy after all (after being initially frustrated) by how has disrupted things, and opened the eyes of devs in the ecosystem that we must act or lose out (stay niche, which may be fine too) to the Atmoshpere and how it enables devs to focus on service and product delivery instead of low-level wire plumbing and continuous breakages.

ATProto also shows the way that we can now follow on the to catch up again: cocreate a similar robust basis for people to build on. had the advantage of a greenfield start and dedicated team unburdened by past decisions. And they build this whole Lexicon system and ways to introspect functionality.

We can do that too, solve the conundrum, and create an extensibility mechanism that allows devs to focus on service modeling. The more introspection this mechanism allows for, the less design-by-consensus is required, easing expansion to new domains.

dansup's avatar
dansup

@dansup@mastodon.social

having full end-to-end control of two of the biggest fediverse platforms is a rare thing.

it means real progress: comment controls, unified messenger, ephemeral stories.

it also helps legitimize smaller projects doing incredible work — emissary, gotosocial and beyond.

we're living the fairytale 🫶

lps's avatar
lps

@lps@mograph.social · Reply to dansup's post

@dansup @supapp @HolosSocial is also working on encrypted messages on will they be compatible?

lps's avatar
lps

@lps@mograph.social · Reply to dansup's post

@dansup @supapp @HolosSocial is also working on encrypted messages on will they be compatible?

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

marius's avatar
marius

@mariusor@metalhead.club

I've started my exploration of using @timbray's Quamina project for saving some compute time in the filters module of

Currently the GoAP storage backends iterate over resources (usually stored as raw JSON bytes), unmarshal them into GoActivityPub object structs, and *only* then apply the custom filtering logic on those objects. Since the majority of the objects generally fail the filtering logic, all that JSON decoding is wasted compute time and makes things slower.

Ideally quamina will allow me to check the raw JSON payloads directly against the filters, streamlining the execution and speeding things up. :goose_hacker:

marius's avatar
marius

@mariusor@metalhead.club

I've started my exploration of using @timbray's Quamina project for saving some compute time in the filters module of

Currently the GoAP storage backends iterate over resources (usually stored as raw JSON bytes), unmarshal them into GoActivityPub object structs, and *only* then apply the custom filtering logic on those objects. Since the majority of the objects generally fail the filtering logic, all that JSON decoding is wasted compute time and makes things slower.

Ideally quamina will allow me to check the raw JSON payloads directly against the filters, streamlining the execution and speeding things up. :goose_hacker:

Daniel Lyons's avatar
Daniel Lyons

@dandylyons@iosdev.space

Funny and strange. Andrew Nesbitt has posted a far too elaborate alternate history of

nesbitt.io/2026/02/20/activity

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@steve @evan

If we have those patterns we can speak together in a higher-order domain language that is closer to actual solution design, and that will make ecosystem participants happy (as happy or happier than our friends in the atmosphere).

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to infinite love ⴳ's post

@trwnh @evan @julian

Yes, for the ideation on Protosocial as an compliant extension (going back to the roots with blank slate W3C specs) I imagined mapping the AS primitives to consistent protocol capabilities and thereby define a set of normative architecture patterns, like "this is how we do CRUD, this is Publish/Subscribe, this is an Event stream and this a Collection", etc.

Then Protosocial library and SDK implementers would need to deal with at a low-level plumbing impl detail, while solution developers would have a higher-level API to invoke these patterns. And other than that would not need to touch which is now entirely reserved to making AP work on the wire.

A combination of linked data practices and schema-based design would be used for both open-world and closed-world extension modeling. But here too the solution developer should be shield from the nitty gritty internal mechanics.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Steve Bate's post

@steve @evan

I agree with what you say.

On the use of "stream(s)" I did a search in both specs, and it is only very sparsely used in the meaning of a stream rather than an Activity Streams document or object.

One time mentioned as "Activity Streams consumer" in core and another mention in the Security considerations section.

> Publishers or Consumers implementing Activity Streams as a stream of public data ..

And twice in where it says both inbox and outbox where it mentions "the outbox stream", "the inbox stream", and one other mention in definition of "Social API" where it is said to provide a "social stream of the user's actor".

So I would not consider this formal language terminology right now. That said, it would be good to further formalize the concept of a Stream, as it is a higher-order concept that'll help lift discussions out of nitty gritty impl detail territory.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

, a *great start* providing the key ingredients.

, where things are cooked into a mush, by pragmatic though unsustainable fast-food preparation.

Recipe:

- Mash everything into
- Overload the semantic frying pan
- Sprinkle in combinatorial complexities
- Cook until too hot

Then simply keep stirring with increasing whack-a-mole maintenance burdens until project phased out.

Or become the post-facto leader and dominate the restaurant chain.

Recipe improvement tips:

- Add spice to the mix where you can!
- Participate in collective cooking.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Evan Prodromou's post

@evan @julian

builds on top of in the sense that it adopted a number of its 'social primitives' defined in its vocabulary, and Collection being among those. These particular uses become 'protocol space', but other than that AS from the perspective of AP solution development is purely a set of social primitives, granular building blocks that one *may* use in a solution. AS is a utility library of sorts then. Or is that a wrong perception?

A 'feed' is something that lives in solution space, and I would only choose Collection to model it, if it offers a perfect fit in functionality. And aboveall.. does not assign some new app-specific use along the way.

I tooted today that I feel the biggest folly of the fedi is that everyone tries to cram their domain into the AS namespace. The AS primitives should not be Swiss army knives and have only singular well-defined meaning and purpose, yet they have become that along the way.

social.coop/@smallcircles/1160

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@thisismissem @eyeinthesky

The biggest folly imho is this idea of "let's cram every domain into somehow". Flatten everything and project it onto this small set of social primitives that AS defines.

It is once more a choice of pragmatism: "Hey, I've seen it working with Mastodon, so I copied that. And extension mechanism is a handwaved horror show".

So understandable perhaps that we did it. But now we must overcome this trend which has taken stubborn root and drags the ecosystem down.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

💫 "As fediverse developer I am schooled in the arcane arts of wire incantations"

versus ..

🚀 "As fediverse developer I grab an ActivityPub library or SDK and build that new solution"

Where do you want to go today?

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to infinite love ⴳ's post

@trwnh @evan @julian

Yes, for the ideation on Protosocial as an compliant extension (going back to the roots with blank slate W3C specs) I imagined mapping the AS primitives to consistent protocol capabilities and thereby define a set of normative architecture patterns, like "this is how we do CRUD, this is Publish/Subscribe, this is an Event stream and this a Collection", etc.

Then Protosocial library and SDK implementers would need to deal with at a low-level plumbing impl detail, while solution developers would have a higher-level API to invoke these patterns. And other than that would not need to touch which is now entirely reserved to making AP work on the wire.

A combination of linked data practices and schema-based design would be used for both open-world and closed-world extension modeling. But here too the solution developer should be shield from the nitty gritty internal mechanics.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@julian @evan

Btw, some time ago in a matrix discussion I sketched how I'd like to conceptually 'see' the social network. Not Mastodon-compliant per se (though it might be via a Profile or Bridge) but back to "promised land". Where the protocol is expressed in familiar architecture patterns and borrows concepts from message queuing, actor model, event-driven architecture, etc.

Then as a "Solution designer" I am a stakeholder that wants to be completely shielded from all that jazz. That should all be encapsulated by the protocol libraries and SDK's that are offered in language variants across the ecosystem. et al is a black box. I can directly start modeling what should be exchanged on the bus, and I can apply domain driven design here. And if I have a semantic web part of my app I'd use linked data modeling best-practices.

I would have power tools like and methods like .

eventcatalog.dev/features/visu

eventmodeling.org/

Diagram showing the concept of an actor communicating to a remote actor, where there is a schema-based closed-world communication bus, and an open-world semantic web interface.
ALT text detailsDiagram showing the concept of an actor communicating to a remote actor, where there is a schema-based closed-world communication bus, and an open-world semantic web interface.
DeeAnn Little's avatar
DeeAnn Little

@chillicampari@layer8.space · Reply to DeeAnn Little's post

Move Slowly and Build Bridges: Mastodon, the Fediverse, and the Struggle for Democratic Social Media by @rwg

ActivityPub: Programming for the Social Web by @evan

Governable Spaces: Democratic Design for Online Life by @ntnsndr

Is that a good start already or is there something I am missing?

DeeAnn Little's avatar
DeeAnn Little

@chillicampari@layer8.space

I could use help composing an essential Fediverse (as a topic) book reading list. I'm planning on talking to people with a variety of technical backgrounds (range and expertise) so variety is good. I haven't read any of this yet but I would read it first and either (verbally) summarise points or point people to them for more info.

So far I have on my list:

(continued)

DeeAnn Little's avatar
DeeAnn Little

@chillicampari@layer8.space · Reply to DeeAnn Little's post

Move Slowly and Build Bridges: Mastodon, the Fediverse, and the Struggle for Democratic Social Media by @rwg

ActivityPub: Programming for the Social Web by @evan

Governable Spaces: Democratic Design for Online Life by @ntnsndr

Is that a good start already or is there something I am missing?

DeeAnn Little's avatar
DeeAnn Little

@chillicampari@layer8.space

I could use help composing an essential Fediverse (as a topic) book reading list. I'm planning on talking to people with a variety of technical backgrounds (range and expertise) so variety is good. I haven't read any of this yet but I would read it first and either (verbally) summarise points or point people to them for more info.

So far I have on my list:

(continued)

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Evan Prodromou's post

@evan @julian

builds on top of in the sense that it adopted a number of its 'social primitives' defined in its vocabulary, and Collection being among those. These particular uses become 'protocol space', but other than that AS from the perspective of AP solution development is purely a set of social primitives, granular building blocks that one *may* use in a solution. AS is a utility library of sorts then. Or is that a wrong perception?

A 'feed' is something that lives in solution space, and I would only choose Collection to model it, if it offers a perfect fit in functionality. And aboveall.. does not assign some new app-specific use along the way.

I tooted today that I feel the biggest folly of the fedi is that everyone tries to cram their domain into the AS namespace. The AS primitives should not be Swiss army knives and have only singular well-defined meaning and purpose, yet they have become that along the way.

social.coop/@smallcircles/1160

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@thisismissem @eyeinthesky

The biggest folly imho is this idea of "let's cram every domain into somehow". Flatten everything and project it onto this small set of social primitives that AS defines.

It is once more a choice of pragmatism: "Hey, I've seen it working with Mastodon, so I copied that. And extension mechanism is a handwaved horror show".

So understandable perhaps that we did it. But now we must overcome this trend which has taken stubborn root and drags the ecosystem down.

silverpill's avatar
silverpill

@silverpill@mitra.social

It might be not possible to create a generic #ActivityPub server, but nevertheless this is an interesting thought experiment that helps simplify the protocol and figure out the best way to extend it.

I've been thinking about generic servers for quite some time (because this complements my work on nomadic clients), here are my notes:

https://codeberg.org/silverpill/feps/src/branch/main/fc48/fep-fc48.md

@eyeinthesky

RE: https://mastodon.social/users/eyeinthesky/statuses/116095929503245071

👁's avatar
👁

@eyeinthesky@mastodon.social

Why did create special behaviors such as Like, Announce and Block (and the Undo variants) instead of using Add to or Remove from the associated Collection objects? I have a similar question for outbox and inbox POST, which is an implicit Add to those collections. :thaenkin: When adding support for extended collections, is an new collection-specific Activity preferred over Add/Remove? FWIW, I see Mastodon uses Add/Remove for pinned and featured posts.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Emelia 👸🏻's post

@thisismissem @deadsuperhero

I was looking at which is a very sizable extension (constituting the "Code forge" app domain in app-centric view, but arguably "Software development" top-level business domain in a service-oriented fedi).

The way that things are modeled here adheres more to the actor model where there's a Factory actor, which in turn creates resource actors that expose various sub-domains. For instance for the management of Issues and PR's there's a TicketTracker actor to obtain via a Factory actor on a forge instance. Though I'm not sure whether I'd modeled that in similar fashion, it is a fascinating direction where we focus much more on good protocol extension design.

All in all AS/AP offers a very granular foundation that allows for very interesting architectures, if only we dare explore them and do not dogmatically stick to some engrained notion how "social media" ought to be. I see as but a small subset of .

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

lps's avatar
lps

@lps@mograph.social

I was just reminded of the awesomeness of the self-hosted platform that is connect to the by

This allows us to follow, comment etc etc from or similar apps:)

And discovery is easy:).

index.castopod.org/#&language=

And to get you started, for the techies out there, may I suggest

@overlappodcast

the latest episode is amazing!

"Guerrilla Infrastructure in the Age of the Electrostate"

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

@julian regarding the as:context property is non-functional, so an array of contexts is allowed. do you accept that or do you throw an http 500 ;-) and do you know if others can hanlde an context array ?

Evan Prodromou's avatar
Evan Prodromou

@evan@photos.cosocial.ca

I half-ran an #ActivityPub API task force call between leaving the house and getting into my seat on the airplane. Absolutely mysterious.
Me outside my front door
ALT text detailsMe outside my front door
Me on an airplane
ALT text detailsMe on an airplane
Evan Prodromou's avatar
Evan Prodromou

@evan@photos.cosocial.ca

I half-ran an #ActivityPub API task force call between leaving the house and getting into my seat on the airplane. Absolutely mysterious.
Me outside my front door
ALT text detailsMe outside my front door
Me on an airplane
ALT text detailsMe on an airplane
silverpill's avatar
silverpill

@silverpill@mitra.social

It might be not possible to create a generic #ActivityPub server, but nevertheless this is an interesting thought experiment that helps simplify the protocol and figure out the best way to extend it.

I've been thinking about generic servers for quite some time (because this complements my work on nomadic clients), here are my notes:

https://codeberg.org/silverpill/feps/src/branch/main/fc48/fep-fc48.md

@eyeinthesky

RE: https://mastodon.social/users/eyeinthesky/statuses/116095929503245071

👁's avatar
👁

@eyeinthesky@mastodon.social

Why did create special behaviors such as Like, Announce and Block (and the Undo variants) instead of using Add to or Remove from the associated Collection objects? I have a similar question for outbox and inbox POST, which is an implicit Add to those collections. :thaenkin: When adding support for extended collections, is an new collection-specific Activity preferred over Add/Remove? FWIW, I see Mastodon uses Add/Remove for pinned and featured posts.

lps's avatar
lps

@lps@mograph.social

I was just reminded of the awesomeness of the self-hosted platform that is connect to the by

This allows us to follow, comment etc etc from or similar apps:)

And discovery is easy:).

index.castopod.org/#&language=

And to get you started, for the techies out there, may I suggest

@overlappodcast

the latest episode is amazing!

"Guerrilla Infrastructure in the Age of the Electrostate"

naturzukunft's avatar
naturzukunft

@naturzukunft2026@mastodon.social

@julian regarding the as:context property is non-functional, so an array of contexts is allowed. do you accept that or do you throw an http 500 ;-) and do you know if others can hanlde an context array ?

silverpill's avatar
silverpill

@silverpill@mitra.social

It might be not possible to create a generic #ActivityPub server, but nevertheless this is an interesting thought experiment that helps simplify the protocol and figure out the best way to extend it.

I've been thinking about generic servers for quite some time (because this complements my work on nomadic clients), here are my notes:

https://codeberg.org/silverpill/feps/src/branch/main/fc48/fep-fc48.md

@eyeinthesky

RE: https://mastodon.social/users/eyeinthesky/statuses/116095929503245071

👁's avatar
👁

@eyeinthesky@mastodon.social

Why did create special behaviors such as Like, Announce and Block (and the Undo variants) instead of using Add to or Remove from the associated Collection objects? I have a similar question for outbox and inbox POST, which is an implicit Add to those collections. :thaenkin: When adding support for extended collections, is an new collection-specific Activity preferred over Add/Remove? FWIW, I see Mastodon uses Add/Remove for pinned and featured posts.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

@ben wrote a good article "Growing the open social web" for FediForum.

It poses this *essential* question: Why do we want to grow the open social web and for whom?

While the question is crucial when considering the future of social networking and the role of online technologies in society, it is not a question that is being addressed in any significant way. Our social web and fediverse "just happens", emerging from this chaotic cauldron of mostly technical discussions about which features to put in apps, how to connect one app to the next, and which social web technology or app is better than others.

Ben makes an appeal for creating good protocols, where the real value is, but only if we can share ownership of them. I 100% agree with the points in the article.

But how do we get there? What is this ownership? How do we achieve it, and subsequently retain it? I wrote down some some thoughts in a blog post.

coding.social/blog/shared-owne

Jeff's avatar
Jeff

@box464@mastodon.social

Heh, heh. Tonight I stumbled upon a hidden little feature in Fedify's CLI.

If you run `fedify nodeinfo mastodon.social -b` you get a cute little ascii art representation of the instance's logo.

Happy to see a bit of fun mixed into these fedi tools!

@fedify

A terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
ALT text detailsA terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
Jeff's avatar
Jeff

@box464@mastodon.social

Heh, heh. Tonight I stumbled upon a hidden little feature in Fedify's CLI.

If you run `fedify nodeinfo mastodon.social -b` you get a cute little ascii art representation of the instance's logo.

Happy to see a bit of fun mixed into these fedi tools!

@fedify

A terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
ALT text detailsA terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to django's post

@django @evan @liaizon

Hey, this is great. It is so nice to see the uptick of interest in the part of . Very uplifting and gives me hope for the future of .

I really liked your presentation, and thank you for mentioning my humble list. They are just notes atm, but I will try to keep them up-to-date. I just made a bunch of updates..

codeberg.org/fediverse/delight

Would love to hear more on what are the particular plans and goals for your project in the near future?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@jupiter_rowland @silverpill

Saying "outdated version of the spec" is inaccurate. Mastodon isn't a version of the spec, but a app domain-specific implementation on top of an incomplete spec and then subsequently many adopting Mastodon-specific stuff out of convenience. After all they tackled these problems already, so very pragmatic to copy that. But that pragmatism comes at high cost, and here we are today still complaining about it.

The AS/AP ecosystem should be able to stand on its own feet.

What we have achieved with the is great, but it is still a bandaid. The best we can do in an ecosystem of fiercely independent people intent to go their own way and who shun the design-by-consensus parts (which can be very frustrating indeed) that interoperability requires. It is a way to deal with protocol decay and tech debt after-the-fact, when it has already been created and adopted, part of installed bases and hard to turn towards commonly adopted best-practices.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Jupiter Rowland's post

@jupiter_rowland @silverpill

> The main hindrance in Fediverse development is Mastodon. It's a painfully incomplete implementation of a hopelessly outdated version of the ActivityPub spec.

I have a different take on this. As long as we have an app-centric development model that drives fediverse evolution we'll have these problems. I agree that all the Mastodon quirks that have crept on-the-wire is severely holding back the fedi, but I'd rather lay blame by the ecoystem as a whole who continues to follow a post-facto interoperability leader.

Mastodon is an app. If you take on their namespace extensions you take on a dependency, put them in charge. But they are an app, a product, a single project. And they do product development for their user base first and foremost. There's nothing to criticize on that, and also adopting an open standard doesn't come with obligation to maintain/evolve it. Though it would be smart to do so.

The ecosystem should set its own course.

marius's avatar
marius

@mariusor@metalhead.club

I am becoming more and more frustrated with how Mastodon behaves towards the ecosystem.

After I finish with the current plans I have for GoActivityPub I have to push into making good enough to be used as a daily driver fediverse profile and switch to that.

I'm not entirely sure the inbox model of social consumption is good enough for others, but I think for me it'll have to be enough.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to django's post

@django @evan @liaizon

Hey, this is great. It is so nice to see the uptick of interest in the part of . Very uplifting and gives me hope for the future of .

I really liked your presentation, and thank you for mentioning my humble list. They are just notes atm, but I will try to keep them up-to-date. I just made a bunch of updates..

codeberg.org/fediverse/delight

Would love to hear more on what are the particular plans and goals for your project in the near future?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to kopper :colon_three:'s post

@kopper @nelson

This is marvelous. I wasn't aware of your project, but now I am and added it to the tracking list.

I've also lined up for inclusion on the delightful curated lists at delightful.coding.social

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Bring it on!

Social API is getting a lot of attention and traction on the implementation side! 🎉

Join the fun, in this area where there's a fine future for the social networking.

Some new updates to the list of client-to-server parts of the AP open standard:

codeberg.org/fediverse/delight

Added the projects of @kopper and a new C2S article by @django

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Bring it on!

Social API is getting a lot of attention and traction on the implementation side! 🎉

Join the fun, in this area where there's a fine future for the social networking.

Some new updates to the list of client-to-server parts of the AP open standard:

codeberg.org/fediverse/delight

Added the projects of @kopper and a new C2S article by @django

kopper :colon_three:'s avatar
kopper :colon_three:

@kopper@not-brain.d.on-t.work

"how to not regret c2s"
w.on-t.work/activitypub/c2s

my opinions about how activitypub c2s ought to be implemented, probably with way too much snark for anyone to take it seriously. wrote pretty much all of it at like 1 am so expect the writing to not be great. will prolly regret it tomorrow but eh. whatever

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to ocdtrekkie's post

@ocdtrekkie @mapache @badgefed

I was not aware of that Should be added to the delightful lists? An intent to implement (e.g. in an open issue) is sufficient for inclusion.

delightful.coding.social

Nicol Wistreich's avatar
Nicol Wistreich

@nicol@social.coop

And so comes over the next 24hs, the final issue of 's 25th year of issues and updates @blog.
)…

It's been an interesting experiment of using WordPress Plugin to publish a group blog - alongside an email newsletter. It's been more work than I expected. The only things that got more than a few likes and boosts were about Fediverse people.

More recently, changes to either the plugin or Mastodon's rendering has lost the paragraph breaks which makes it not as good for publishing/reading long-form as other APub tools (social.coop/@nicol/11609169297). The roadmap for the plugin (activitypub.blog/2026/02/11/ro) seems more about reading than growing to be a Fediverse publishing powerhouse, tho improving discoverability is promising - most of the authors suffer from the "no posts here!" problem when you visit the author urls.

Anyway, links should trickle out - finishing with an interview I'm really excited to share, having sat on it for five years…

Nicol Wistreich's avatar
Nicol Wistreich

@nicol@social.coop

Something seems to have changed with the rendering of text from the plugin onto the Fediverse.

You used to be able to have paragraphs, bold, italic and even bullets, and they'd render if you did it in the right way.

I noticed that no longer seems possible - even line returns are removed. Did a quick test - copying the text of this post: social.coop/@RememberingStephe exactly and instead of looking like image 1, it looks like image 2…

Screengrab of the linked Post as originally posted in March 2025 – it is split into paragraphs with an image and link at the bottom.
ALT text detailsScreengrab of the linked Post as originally posted in March 2025 – it is split into paragraphs with an image and link at the bottom.
This second screengrab is the same post published today (Feb 18 2026) but squashed into a single paragraph, cut off and with no line breaks.
ALT text detailsThis second screengrab is the same post published today (Feb 18 2026) but squashed into a single paragraph, cut off and with no line breaks.
Nicol Wistreich's avatar
Nicol Wistreich

@nicol@social.coop

And so comes over the next 24hs, the final issue of 's 25th year of issues and updates @blog.
)…

It's been an interesting experiment of using WordPress Plugin to publish a group blog - alongside an email newsletter. It's been more work than I expected. The only things that got more than a few likes and boosts were about Fediverse people.

More recently, changes to either the plugin or Mastodon's rendering has lost the paragraph breaks which makes it not as good for publishing/reading long-form as other APub tools (social.coop/@nicol/11609169297). The roadmap for the plugin (activitypub.blog/2026/02/11/ro) seems more about reading than growing to be a Fediverse publishing powerhouse, tho improving discoverability is promising - most of the authors suffer from the "no posts here!" problem when you visit the author urls.

Anyway, links should trickle out - finishing with an interview I'm really excited to share, having sat on it for five years…

Nicol Wistreich's avatar
Nicol Wistreich

@nicol@social.coop

Something seems to have changed with the rendering of text from the plugin onto the Fediverse.

You used to be able to have paragraphs, bold, italic and even bullets, and they'd render if you did it in the right way.

I noticed that no longer seems possible - even line returns are removed. Did a quick test - copying the text of this post: social.coop/@RememberingStephe exactly and instead of looking like image 1, it looks like image 2…

Screengrab of the linked Post as originally posted in March 2025 – it is split into paragraphs with an image and link at the bottom.
ALT text detailsScreengrab of the linked Post as originally posted in March 2025 – it is split into paragraphs with an image and link at the bottom.
This second screengrab is the same post published today (Feb 18 2026) but squashed into a single paragraph, cut off and with no line breaks.
ALT text detailsThis second screengrab is the same post published today (Feb 18 2026) but squashed into a single paragraph, cut off and with no line breaks.
marius's avatar
marius

@mariusor@metalhead.club

I am becoming more and more frustrated with how Mastodon behaves towards the ecosystem.

After I finish with the current plans I have for GoActivityPub I have to push into making good enough to be used as a daily driver fediverse profile and switch to that.

I'm not entirely sure the inbox model of social consumption is good enough for others, but I think for me it'll have to be enough.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@virtualpierogi @sri @jsalvador @ben

Unfortunately there's a new threat, and it was addressed in the keynote speech by @michiel of @nlnet .. and that is the mad dash to incorporate into everything and vibe-code stuff together in a heartbeat.

I think this is particular bad for the fediverse still lacking its robust foundations. The 's will have no problem figuring out how to mix'n mash the existing protocol decay and tech debt into new applications that are rushed into production. Finally non-protocol-experts are enable on the ecosystem and can onboard themselves without involving themselves in endless plumbing of the most low-level technical implemention details of devs.

But the ecosystem will rot and decay as a result of it. Furthermore if a slew of AI-generated fedi apps are launched in quick succession and some of them find good uptake (until they break in unexpected ways), it will serve to attract unwanted corporate attention I'm afraid.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@virtualpierogi @sri @jsalvador @ben @nlnet

It needs concerted effort, as argued in my blog post, to set all of this up. Things can start small and pragmatic, and then gradually evolve and mature, but we should take care it evolves in the proper direction.

There are trade-offs to consider every step of the way. If there'd more capabilities to introspect the functionality that an actor offers, it would diminish the need for an upfront design-by-consensus process, but it would increase the complexity of the specifications.

I drew this in a diagram a couple years ago, and transferred it to our social coding forum at: discuss.coding.social/t/wiki-g

Here you see the fediverse devolve into non-interoperable app-by-app whack-a-mole development, keeping track of all the moving-target projects one took a dependency on. Versus the that tries to hammer out full-blown specs upfront, which became a huge package to deal with, with high complexity to implement.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to VirtualPierogi's post

@virtualpierogi @sri @jsalvador @ben @nlnet

When it comes to there is no way around having consensus on what you interoperate on, and there must be alignment on some kind of Video related domain model that is robust and consistent.

If there were a robust extension mechanism as well as good development practices and processes for the creation of extension into new business and application domains, then this mechanism can still facilitate app-specific extension on top of such a Video domain specification. It is very common for protocol design to have all kinds of extension points, look e.g. at or .

And more specialized domain extensions can also facilitate further extension in their design. Look e.g. at AP extension, which allows custom forge-specific metadata collections to be sent with a federated Issue or PR.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Emelia 👸🏻's post

@thisismissem @eyeinthesky

I think we underrated the power of the actor model and the extent we can incorporate it on the fediverse. Somehow we got eternally stuck in talking about HTTP plumbing and core protocol capabilities that we never fleshed out thoroughly in order to be able to just focus on the higher-level concerns of app and service modeling.

Actor systems based on loosely-coupled event-driven architecture, delegation, supervision, supervision strategies, inbox strategies, let-it-fail, actors fronting domain aggregates, service-orientation, etc.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@sri @jsalvador @ben @nlnet

In my opinion where it concerns social network innovation, when we continue to follow the app-centric model we have today we enter a dead-end street. Though it gives interesting applications it will not constitute the future of social networking.

To me it is really crazy that a new fedi app that, say, enters a Video domain would need to adopt Peertube namespaces in their extension model. If you look at that model it is no different than taking on dependencies in regular development. As soon as the Peertube namespace is in your project, then Peertube is in charge of that part of the design, an upstream dependency. But Peertube doesn't care about you. It is an end-user product doing their own product development.

And then things worsen when the new fedi app entry pushes their own extension properties into this ball of mud. It is a design approach that basically assures loss of interoperability and severe whack-a-mole pain to devs.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Emelia 👸🏻's post

@thisismissem @eyeinthesky

I just responded in the other thread about way of dealing with Issues and PR's, emphasizing the actor model in the specs.

Guess it depends on the nature of your extension and its desired functionality how you model things, but ForgeFed chose to have a dedicated actor, a TicketTracker, to manage the collection. Big advantage is that it become a truly encapsulated service with its own business logic, fronted by an AP actor for interoperable network communication.

social.coop/@smallcircles/1160

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Emelia 👸🏻's post

@thisismissem @deadsuperhero

I was looking at which is a very sizable extension (constituting the "Code forge" app domain in app-centric view, but arguably "Software development" top-level business domain in a service-oriented fedi).

The way that things are modeled here adheres more to the actor model where there's a Factory actor, which in turn creates resource actors that expose various sub-domains. For instance for the management of Issues and PR's there's a TicketTracker actor to obtain via a Factory actor on a forge instance. Though I'm not sure whether I'd modeled that in similar fashion, it is a fascinating direction where we focus much more on good protocol extension design.

All in all AS/AP offers a very granular foundation that allows for very interesting architectures, if only we dare explore them and do not dogmatically stick to some engrained notion how "social media" ought to be. I see as but a small subset of .

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Emelia 👸🏻's post

@thisismissem @deadsuperhero

I was looking at which is a very sizable extension (constituting the "Code forge" app domain in app-centric view, but arguably "Software development" top-level business domain in a service-oriented fedi).

The way that things are modeled here adheres more to the actor model where there's a Factory actor, which in turn creates resource actors that expose various sub-domains. For instance for the management of Issues and PR's there's a TicketTracker actor to obtain via a Factory actor on a forge instance. Though I'm not sure whether I'd modeled that in similar fashion, it is a fascinating direction where we focus much more on good protocol extension design.

All in all AS/AP offers a very granular foundation that allows for very interesting architectures, if only we dare explore them and do not dogmatically stick to some engrained notion how "social media" ought to be. I see as but a small subset of .

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@deadsuperhero

It does not need to be that way. I am quite happy after all (after being initially frustrated) by how has disrupted things, and opened the eyes of devs in the ecosystem that we must act or lose out (stay niche, which may be fine too) to the Atmoshpere and how it enables devs to focus on service and product delivery instead of low-level wire plumbing and continuous breakages.

ATProto also shows the way that we can now follow on the to catch up again: cocreate a similar robust basis for people to build on. had the advantage of a greenfield start and dedicated team unburdened by past decisions. And they build this whole Lexicon system and ways to introspect functionality.

We can do that too, solve the conundrum, and create an extensibility mechanism that allows devs to focus on service modeling. The more introspection this mechanism allows for, the less design-by-consensus is required, easing expansion to new domains.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@deadsuperhero

It does not need to be that way. I am quite happy after all (after being initially frustrated) by how has disrupted things, and opened the eyes of devs in the ecosystem that we must act or lose out (stay niche, which may be fine too) to the Atmoshpere and how it enables devs to focus on service and product delivery instead of low-level wire plumbing and continuous breakages.

ATProto also shows the way that we can now follow on the to catch up again: cocreate a similar robust basis for people to build on. had the advantage of a greenfield start and dedicated team unburdened by past decisions. And they build this whole Lexicon system and ways to introspect functionality.

We can do that too, solve the conundrum, and create an extensibility mechanism that allows devs to focus on service modeling. The more introspection this mechanism allows for, the less design-by-consensus is required, easing expansion to new domains.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@deadsuperhero

Right now extensibility of shapes up as custom app-by-app app-centric development where individual devs just pragmatically throw new stuff on the wire, and when their app gains any popularity or other apps to integrate in a similarish application, things are bolted onto that in random ways. That whole story really constitutes a Big Ball of Mud anti-pattern that only introduces protocol decay, tech debt, and whack-a-mole programming, that is very hard to get rid of once there exists an installed base.

The reason that we do things that way is very understandable. It works in a grassroots environment where indivualist devs find it very hard and not valuable to collaborate at scale in what amounts to a kind of design-by-consensus process. But it comes at a high cost, where interoperability is basically out the door and any app has to be shaped as a pretzel and adopt all the quirks introduced by predecessors in a particular app domain to fit itself on the wire.

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

I think the #ActivityPub client-to-server API is extremely important and underrated. I’m glad to see the SWF and W3C group prioritizing it, because I think it has the potential to fix something that’s kind of broken on the #Fediverse: too many accounts, on too many platforms that really ought to be clients.

Here’s the rub, though: you need the big players in the space to support it. Mastodon needs to support it. Pixelfed and PeerTube need to support it.

So, how do you get the big existing projects to all implement it? How do you justify it?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Sean Tilley's post

@deadsuperhero

Yes. Mastodon has always given their own product decisions precedence over healthy evolution of the ecosystem as a whole. And despite many people being very frustrated about that, I think this is perfectly valid decision. After all choosing to implement an open standard should not come with the obligation to maintain/evolve that standard. It is only smart to do so, and Mastodon did this with an eye on their own product development.

Imho it is really the broader dev ecosystem that is at fault in letting the fedi be taken hostage by past Mastodon decisions, making them the post-facto leader. As for Mastodon API I'd argue that its users are not on the fediverse. They are on Mastodon.

Identity management may be killer feature, but only when first a sound foundation is in place. AS/AP isn't as-yet robust enough to be the future of social networking. I'd say the extensibility mechanism is killer feature, and having SDK's and devtools for that.

kopper :colon_three:'s avatar
kopper :colon_three:

@kopper@not-brain.d.on-t.work

"how to not regret c2s"
w.on-t.work/activitypub/c2s

my opinions about how activitypub c2s ought to be implemented, probably with way too much snark for anyone to take it seriously. wrote pretty much all of it at like 1 am so expect the writing to not be great. will prolly regret it tomorrow but eh. whatever

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

I think the #ActivityPub client-to-server API is extremely important and underrated. I’m glad to see the SWF and W3C group prioritizing it, because I think it has the potential to fix something that’s kind of broken on the #Fediverse: too many accounts, on too many platforms that really ought to be clients.

Here’s the rub, though: you need the big players in the space to support it. Mastodon needs to support it. Pixelfed and PeerTube need to support it.

So, how do you get the big existing projects to all implement it? How do you justify it?

👁's avatar
👁

@eyeinthesky@mastodon.social

Why did create special behaviors such as Like, Announce and Block (and the Undo variants) instead of using Add to or Remove from the associated Collection objects? I have a similar question for outbox and inbox POST, which is an implicit Add to those collections. :thaenkin: When adding support for extended collections, is an new collection-specific Activity preferred over Add/Remove? FWIW, I see Mastodon uses Add/Remove for pinned and featured posts.

marius's avatar
marius

@mariusor@metalhead.club

I am becoming more and more frustrated with how Mastodon behaves towards the ecosystem.

After I finish with the current plans I have for GoActivityPub I have to push into making good enough to be used as a daily driver fediverse profile and switch to that.

I'm not entirely sure the inbox model of social consumption is good enough for others, but I think for me it'll have to be enough.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@sri @jsalvador @ben @nlnet

Today we see a big uptake in interest in the C2S part of the specs, to implement the Social API, and there is again an opportunity to reboot and give the ecosystem a big boost.

I'd say the most important projects in the ecosystem are the ones where people focus on building reusable libraries, SDK's and developer tools that honor the original promise of the AS/AP specs: to allow heterogeneous decentralized social networking. The conceptual architecture of fedi of "addressible actors exchange activities with object payload" is ultra-powerful, a universal distributed message bus of sorts. And the easier it gets to model services on top of this model, the more excitement and new entrants we'll see in the ecosystem.

I am highly in favor that we not dogmatically focus on keeping compatibility at all cost to the existing installed base, where somehow this powerful architecture has devolved into "social media microblogging" galore.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@sri @jsalvador @ben @nlnet

The fediverse has been weirdly stuck for many years, driven by app developers who attended first and foremost to their own app projects and only secondary to the technology base the entire app is built upon. There was also hardly funding to do anything else. It may be pragmatic approach, but its not smart, eventually weakening the entire ecosystem. And here we are today, with a mountain of protocol decay and tech debt holding us back.

For many years people, me included, have argued that we should focus on getting robust extensibility mechanisms in place, fill the holes, and not handwave it to say "yeah it is this and that sorta kinda". requires way more rigour at the protocol level.

Nice effect that had, was it opened people's eyes to the benefits of having a sound technology base. The ATProto ecosystems excites newcomers, whereas fedi only frustrates with its high barrier to entry and whack-a-mole dev.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@sri @jsalvador @ben @nlnet

It would be even better if on as a whole the developer ecosystem were able to move beyond the app-centric development model that dominates. Basically the app-centric approach constitutes a "poor man's TAM", facilitating technology uptake on the basis of how projects are typically developed where the individual devs are in charge and there's hardly need to coordinate and collaborate at ecosystem levels. Here the grassroots environment within our ecosystem failed miserably. Apparently we are too fiercely independent to be able collaborate at scale. When a big player joins you get app-by-app competition, and their product development process is likely to easily blow the FOSS project out of the water.

If we had a more service-oriented fediverse, a fedi of apps and services, then - depending how this is designed - it might be much harder to 'win' the market, as the competition becomes more on quality of service than feature sets.

kopper :colon_three:'s avatar
kopper :colon_three:

@kopper@not-brain.d.on-t.work

"how to not regret c2s"
w.on-t.work/activitypub/c2s

my opinions about how activitypub c2s ought to be implemented, probably with way too much snark for anyone to take it seriously. wrote pretty much all of it at like 1 am so expect the writing to not be great. will prolly regret it tomorrow but eh. whatever

👁's avatar
👁

@eyeinthesky@mastodon.social

Why did create special behaviors such as Like, Announce and Block (and the Undo variants) instead of using Add to or Remove from the associated Collection objects? I have a similar question for outbox and inbox POST, which is an implicit Add to those collections. :thaenkin: When adding support for extended collections, is an new collection-specific Activity preferred over Add/Remove? FWIW, I see Mastodon uses Add/Remove for pinned and featured posts.

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

Mastodon has announced plans to make its app more approachable for newcomers, and developed new features for creators. Here's @Sarahp's story for @Techcrunch. Find the full blogpost by @renchap and @imanijoy at the second link.

flip.it/TKKQZS
flip.it/RQRRnp

dansup's avatar
dansup

@dansup@mastodon.social

3 platforms in the 2 comma club across 1 federated protocol.

Mastodon, Misskey and Pixelfed now have over 1 million people each.

This calls for a celebration 🥳

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io · Reply to ocdtrekkie's post

@ocdtrekkie @badgefed and hey, if we can help to do that backpack badgefed compatible (which is really + ) lmk

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

I think the #ActivityPub client-to-server API is extremely important and underrated. I’m glad to see the SWF and W3C group prioritizing it, because I think it has the potential to fix something that’s kind of broken on the #Fediverse: too many accounts, on too many platforms that really ought to be clients.

Here’s the rub, though: you need the big players in the space to support it. Mastodon needs to support it. Pixelfed and PeerTube need to support it.

So, how do you get the big existing projects to all implement it? How do you justify it?

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

I think the #ActivityPub client-to-server API is extremely important and underrated. I’m glad to see the SWF and W3C group prioritizing it, because I think it has the potential to fix something that’s kind of broken on the #Fediverse: too many accounts, on too many platforms that really ought to be clients.

Here’s the rub, though: you need the big players in the space to support it. Mastodon needs to support it. Pixelfed and PeerTube need to support it.

So, how do you get the big existing projects to all implement it? How do you justify it?

Stefano Marinelli's avatar
Stefano Marinelli

@stefano@bsd.cafe

EDIT: Build 68 should also run on iOS 18.x but it currently crashes. I'll see if I can fix it.

After quite some time, I’m finally ready to share this.

MastoBlaster is now available in public testing on TestFlight.

It is a lightweight, privacy-first Fediverse client for iOS, built around a simple idea: fast, small, predictable behavior, and first-class support for snac.

What makes it different:
• snac-first by design, not "compatible by accident"
• Works with all Mastodon API compatible software, including Mastodon, snac, GoToSocial, Akkoma, and others
• EXIF stripping on upload (HDR and orientation preserved)
• Optional on-device alt text generation via Apple Intelligence for your uploads and for images in your timeline
• Markdown posting for snac
• Granular notifications, grouping, multi-account
• Blocking and moderation tools
• Very small footprint, very low RAM usage

Alt text generation happens entirely on device via Apple APIs on supported hardware. Nothing is sent to external services.

It is built around my own workflow and priorities. It may not be for everyone, and that is perfectly fine.

Important note:
MastoBlaster will always be free for BSD Cafe users, illumos Cafe users, and for anyone connecting to a snac instance, including self-hosted ones.

The app is already usable, but this is still a test phase. I am looking for feedback, bug reports, and real-world usage insights.

TestFlight link:
testflight.apple.com/join/Pkxa

Stay tuned.

Sean Tilley's avatar
Sean Tilley

@deadsuperhero@social.wedistribute.org

I think the #ActivityPub client-to-server API is extremely important and underrated. I’m glad to see the SWF and W3C group prioritizing it, because I think it has the potential to fix something that’s kind of broken on the #Fediverse: too many accounts, on too many platforms that really ought to be clients.

Here’s the rub, though: you need the big players in the space to support it. Mastodon needs to support it. Pixelfed and PeerTube need to support it.

So, how do you get the big existing projects to all implement it? How do you justify it?

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

Mastodon has announced plans to make its app more approachable for newcomers, and developed new features for creators. Here's @Sarahp's story for @Techcrunch. Find the full blogpost by @renchap and @imanijoy at the second link.

flip.it/TKKQZS
flip.it/RQRRnp

kopper :colon_three:'s avatar
kopper :colon_three:

@kopper@not-brain.d.on-t.work

"how to not regret c2s"
w.on-t.work/activitypub/c2s

my opinions about how activitypub c2s ought to be implemented, probably with way too much snark for anyone to take it seriously. wrote pretty much all of it at like 1 am so expect the writing to not be great. will prolly regret it tomorrow but eh. whatever

Stefano Marinelli's avatar
Stefano Marinelli

@stefano@bsd.cafe

EDIT: Build 68 should also run on iOS 18.x but it currently crashes. I'll see if I can fix it.

After quite some time, I’m finally ready to share this.

MastoBlaster is now available in public testing on TestFlight.

It is a lightweight, privacy-first Fediverse client for iOS, built around a simple idea: fast, small, predictable behavior, and first-class support for snac.

What makes it different:
• snac-first by design, not "compatible by accident"
• Works with all Mastodon API compatible software, including Mastodon, snac, GoToSocial, Akkoma, and others
• EXIF stripping on upload (HDR and orientation preserved)
• Optional on-device alt text generation via Apple Intelligence for your uploads and for images in your timeline
• Markdown posting for snac
• Granular notifications, grouping, multi-account
• Blocking and moderation tools
• Very small footprint, very low RAM usage

Alt text generation happens entirely on device via Apple APIs on supported hardware. Nothing is sent to external services.

It is built around my own workflow and priorities. It may not be for everyone, and that is perfectly fine.

Important note:
MastoBlaster will always be free for BSD Cafe users, illumos Cafe users, and for anyone connecting to a snac instance, including self-hosted ones.

The app is already usable, but this is still a test phase. I am looking for feedback, bug reports, and real-world usage insights.

TestFlight link:
testflight.apple.com/join/Pkxa

Stay tuned.

silverpill's avatar
silverpill

@silverpill@mitra.social

In previous years, I published two "fediverse tech roadmap" posts:

- Fediverse tech roadmap 2024
- Fediverse tech roadmap 2025

However, I didn't publish such post this year because not much has happened in 2025. Many problems I talked about require complex solutions, but unfortunately proposed solutions are often very limited or lead to centralization. Or worse, there is no solution but only an imitation of work. I don't want to write about that.

I saw a thread today where ATProto ecosystem was compared to #ActivityPub. Things are happening in the Atmosphere, but not in Fediverse. MAU graphs are flat. What's going on?

There are multiple factors at play, but I think fake activity may be the biggest contributor. Trivial developments presented as breakthroughs. Features that already exist somewhere in Fediverse presented as new inventions. Vaporware. Specs written by people who have no idea how to implement them. Working groups that do nothing but meetings.

Real work is ignored, competent developers see that and quit.

We need to fix this.

For my part, I will continue to document #Fediverse development at @weekinfediverse. But this newsletter doesn't have much impact.

silverpill's avatar
silverpill

@silverpill@mitra.social

In previous years, I published two "fediverse tech roadmap" posts:

- Fediverse tech roadmap 2024
- Fediverse tech roadmap 2025

However, I didn't publish such post this year because not much has happened in 2025. Many problems I talked about require complex solutions, but unfortunately proposed solutions are often very limited or lead to centralization. Or worse, there is no solution but only an imitation of work. I don't want to write about that.

I saw a thread today where ATProto ecosystem was compared to #ActivityPub. Things are happening in the Atmosphere, but not in Fediverse. MAU graphs are flat. What's going on?

There are multiple factors at play, but I think fake activity may be the biggest contributor. Trivial developments presented as breakthroughs. Features that already exist somewhere in Fediverse presented as new inventions. Vaporware. Specs written by people who have no idea how to implement them. Working groups that do nothing but meetings.

Real work is ignored, competent developers see that and quit.

We need to fix this.

For my part, I will continue to document #Fediverse development at @weekinfediverse. But this newsletter doesn't have much impact.

silverpill's avatar
silverpill

@silverpill@mitra.social

In previous years, I published two "fediverse tech roadmap" posts:

- Fediverse tech roadmap 2024
- Fediverse tech roadmap 2025

However, I didn't publish such post this year because not much has happened in 2025. Many problems I talked about require complex solutions, but unfortunately proposed solutions are often very limited or lead to centralization. Or worse, there is no solution but only an imitation of work. I don't want to write about that.

I saw a thread today where ATProto ecosystem was compared to #ActivityPub. Things are happening in the Atmosphere, but not in Fediverse. MAU graphs are flat. What's going on?

There are multiple factors at play, but I think fake activity may be the biggest contributor. Trivial developments presented as breakthroughs. Features that already exist somewhere in Fediverse presented as new inventions. Vaporware. Specs written by people who have no idea how to implement them. Working groups that do nothing but meetings.

Real work is ignored, competent developers see that and quit.

We need to fix this.

For my part, I will continue to document #Fediverse development at @weekinfediverse. But this newsletter doesn't have much impact.

silverpill's avatar
silverpill

@silverpill@mitra.social

In previous years, I published two "fediverse tech roadmap" posts:

- Fediverse tech roadmap 2024
- Fediverse tech roadmap 2025

However, I didn't publish such post this year because not much has happened in 2025. Many problems I talked about require complex solutions, but unfortunately proposed solutions are often very limited or lead to centralization. Or worse, there is no solution but only an imitation of work. I don't want to write about that.

I saw a thread today where ATProto ecosystem was compared to #ActivityPub. Things are happening in the Atmosphere, but not in Fediverse. MAU graphs are flat. What's going on?

There are multiple factors at play, but I think fake activity may be the biggest contributor. Trivial developments presented as breakthroughs. Features that already exist somewhere in Fediverse presented as new inventions. Vaporware. Specs written by people who have no idea how to implement them. Working groups that do nothing but meetings.

Real work is ignored, competent developers see that and quit.

We need to fix this.

For my part, I will continue to document #Fediverse development at @weekinfediverse. But this newsletter doesn't have much impact.

silverpill's avatar
silverpill

@silverpill@mitra.social

In previous years, I published two "fediverse tech roadmap" posts:

- Fediverse tech roadmap 2024
- Fediverse tech roadmap 2025

However, I didn't publish such post this year because not much has happened in 2025. Many problems I talked about require complex solutions, but unfortunately proposed solutions are often very limited or lead to centralization. Or worse, there is no solution but only an imitation of work. I don't want to write about that.

I saw a thread today where ATProto ecosystem was compared to #ActivityPub. Things are happening in the Atmosphere, but not in Fediverse. MAU graphs are flat. What's going on?

There are multiple factors at play, but I think fake activity may be the biggest contributor. Trivial developments presented as breakthroughs. Features that already exist somewhere in Fediverse presented as new inventions. Vaporware. Specs written by people who have no idea how to implement them. Working groups that do nothing but meetings.

Real work is ignored, competent developers see that and quit.

We need to fix this.

For my part, I will continue to document #Fediverse development at @weekinfediverse. But this newsletter doesn't have much impact.

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

What does a Discord replacement look like, and how might the open social web play a part?
@laurenshof
looks at what needs to happen — different apps built on the same protocols, active collaboration to make sure it all fits together — and how that's already fundamental to the Atmosphere and fediverse.

flip.it/QdL.F…

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

What does a Discord replacement look like, and how might the open social web play a part?
@laurenshof
looks at what needs to happen — different apps built on the same protocols, active collaboration to make sure it all fits together — and how that's already fundamental to the Atmosphere and fediverse.

flip.it/QdL.F…

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

Maybe something to clarify with . There is a full moderation system like on any Fediverse instance. Moderators can ban accounts. But relays are dumb by design: your identity and data belong to you, not to the relay. A ban is like a relay going down, you don't lose everything. You can move to another relay and keep all your followers, following, and data. With a custom domain the transition is seamless, otherwise it works through standard migration.

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

Mastodon has announced plans to make its app more approachable for newcomers, and developed new features for creators. Here's @Sarahp's story for @Techcrunch. Find the full blogpost by @renchap and @imanijoy at the second link.

flip.it/TKKQZS
flip.it/RQRRnp

Stefano Marinelli's avatar
Stefano Marinelli

@stefano@bsd.cafe

EDIT: Build 68 should also run on iOS 18.x but it currently crashes. I'll see if I can fix it.

After quite some time, I’m finally ready to share this.

MastoBlaster is now available in public testing on TestFlight.

It is a lightweight, privacy-first Fediverse client for iOS, built around a simple idea: fast, small, predictable behavior, and first-class support for snac.

What makes it different:
• snac-first by design, not "compatible by accident"
• Works with all Mastodon API compatible software, including Mastodon, snac, GoToSocial, Akkoma, and others
• EXIF stripping on upload (HDR and orientation preserved)
• Optional on-device alt text generation via Apple Intelligence for your uploads and for images in your timeline
• Markdown posting for snac
• Granular notifications, grouping, multi-account
• Blocking and moderation tools
• Very small footprint, very low RAM usage

Alt text generation happens entirely on device via Apple APIs on supported hardware. Nothing is sent to external services.

It is built around my own workflow and priorities. It may not be for everyone, and that is perfectly fine.

Important note:
MastoBlaster will always be free for BSD Cafe users, illumos Cafe users, and for anyone connecting to a snac instance, including self-hosted ones.

The app is already usable, but this is still a test phase. I am looking for feedback, bug reports, and real-world usage insights.

TestFlight link:
testflight.apple.com/join/Pkxa

Stay tuned.

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»Our technical direction« blog.joinmastodon.org/2026/02/

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»Our technical direction« blog.joinmastodon.org/2026/02/

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@nlnet

Hubzilla
Hubzilla performance improvements
Interoperability of Events in the Fediverse
Inventaire Self-hosted
Kazarma
lemmur
Lemmy
Lemmy Federation
Lemmy private communities
Lemmy Scale
Loops
Manyfold
Manyfold Printing, Customization and Versioning
Mastodon groups, filtering, moderation
Mastodon for institutions
Misskey
Mobilizon
Mobilizon UX
Nextcloud
NextGraph
NextGraph Framework
NodeBB
NodeBB context discovery
Omnon
openEngiadina
Owncast
Peertube
Peertube Remote Transcoding
Peertube plugin livechat
Peertube Desktop
PixelDroid
PixelDroid Media editor
Pixelfed
Pixelfed Live
Plaudit
Pleroma
Podlibre
Popularizing Peertube
Tusky
WordPress ActivityPub
XMPP-ActivityPub gateway
XWiki ActivityPub

I mentioned the count in my blog post about the need to establish shared ownership for the ecosystem to be able to mature and evolve in a healthy manner.

social.coop/@smallcircles/1160

2/2

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

@ben wrote a good article "Growing the open social web" for FediForum.

It poses this *essential* question: Why do we want to grow the open social web and for whom?

While the question is crucial when considering the future of social networking and the role of online technologies in society, it is not a question that is being addressed in any significant way. Our social web and fediverse "just happens", emerging from this chaotic cauldron of mostly technical discussions about which features to put in apps, how to connect one app to the next, and which social web technology or app is better than others.

Ben makes an appeal for creating good protocols, where the real value is, but only if we can share ownership of them. I 100% agree with the points in the article.

But how do we get there? What is this ownership? How do we achieve it, and subsequently retain it? I wrote down some some thoughts in a blog post.

coding.social/blog/shared-owne

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

Btw, this is a good opportunity to once more thank @nlnet for their years-long hard work and support of the social web, and the fediverse in particular. I counted 86 fine social web R&D projects who have received @NGIZero and other @ngi support from the over the past couple of years.

At the bottom of the article I mention the urgent talk and call-to-action by @michiel and also the 2019 keynote given by @darius at the Conference in Prague on "How to play and win our own game" independent of and corporate hypercapitalist shenanigans.

@ben

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

@ben wrote a good article "Growing the open social web" for FediForum.

It poses this *essential* question: Why do we want to grow the open social web and for whom?

While the question is crucial when considering the future of social networking and the role of online technologies in society, it is not a question that is being addressed in any significant way. Our social web and fediverse "just happens", emerging from this chaotic cauldron of mostly technical discussions about which features to put in apps, how to connect one app to the next, and which social web technology or app is better than others.

Ben makes an appeal for creating good protocols, where the real value is, but only if we can share ownership of them. I 100% agree with the points in the article.

But how do we get there? What is this ownership? How do we achieve it, and subsequently retain it? I wrote down some some thoughts in a blog post.

coding.social/blog/shared-owne

Stefano Marinelli's avatar
Stefano Marinelli

@stefano@bsd.cafe

EDIT: Build 68 should also run on iOS 18.x but it currently crashes. I'll see if I can fix it.

After quite some time, I’m finally ready to share this.

MastoBlaster is now available in public testing on TestFlight.

It is a lightweight, privacy-first Fediverse client for iOS, built around a simple idea: fast, small, predictable behavior, and first-class support for snac.

What makes it different:
• snac-first by design, not "compatible by accident"
• Works with all Mastodon API compatible software, including Mastodon, snac, GoToSocial, Akkoma, and others
• EXIF stripping on upload (HDR and orientation preserved)
• Optional on-device alt text generation via Apple Intelligence for your uploads and for images in your timeline
• Markdown posting for snac
• Granular notifications, grouping, multi-account
• Blocking and moderation tools
• Very small footprint, very low RAM usage

Alt text generation happens entirely on device via Apple APIs on supported hardware. Nothing is sent to external services.

It is built around my own workflow and priorities. It may not be for everyone, and that is perfectly fine.

Important note:
MastoBlaster will always be free for BSD Cafe users, illumos Cafe users, and for anyone connecting to a snac instance, including self-hosted ones.

The app is already usable, but this is still a test phase. I am looking for feedback, bug reports, and real-world usage insights.

TestFlight link:
testflight.apple.com/join/Pkxa

Stay tuned.

Stefano Marinelli's avatar
Stefano Marinelli

@stefano@bsd.cafe

EDIT: Build 68 should also run on iOS 18.x but it currently crashes. I'll see if I can fix it.

After quite some time, I’m finally ready to share this.

MastoBlaster is now available in public testing on TestFlight.

It is a lightweight, privacy-first Fediverse client for iOS, built around a simple idea: fast, small, predictable behavior, and first-class support for snac.

What makes it different:
• snac-first by design, not "compatible by accident"
• Works with all Mastodon API compatible software, including Mastodon, snac, GoToSocial, Akkoma, and others
• EXIF stripping on upload (HDR and orientation preserved)
• Optional on-device alt text generation via Apple Intelligence for your uploads and for images in your timeline
• Markdown posting for snac
• Granular notifications, grouping, multi-account
• Blocking and moderation tools
• Very small footprint, very low RAM usage

Alt text generation happens entirely on device via Apple APIs on supported hardware. Nothing is sent to external services.

It is built around my own workflow and priorities. It may not be for everyone, and that is perfectly fine.

Important note:
MastoBlaster will always be free for BSD Cafe users, illumos Cafe users, and for anyone connecting to a snac instance, including self-hosted ones.

The app is already usable, but this is still a test phase. I am looking for feedback, bug reports, and real-world usage insights.

TestFlight link:
testflight.apple.com/join/Pkxa

Stay tuned.

Stefano Marinelli's avatar
Stefano Marinelli

@stefano@bsd.cafe

EDIT: Build 68 should also run on iOS 18.x but it currently crashes. I'll see if I can fix it.

After quite some time, I’m finally ready to share this.

MastoBlaster is now available in public testing on TestFlight.

It is a lightweight, privacy-first Fediverse client for iOS, built around a simple idea: fast, small, predictable behavior, and first-class support for snac.

What makes it different:
• snac-first by design, not "compatible by accident"
• Works with all Mastodon API compatible software, including Mastodon, snac, GoToSocial, Akkoma, and others
• EXIF stripping on upload (HDR and orientation preserved)
• Optional on-device alt text generation via Apple Intelligence for your uploads and for images in your timeline
• Markdown posting for snac
• Granular notifications, grouping, multi-account
• Blocking and moderation tools
• Very small footprint, very low RAM usage

Alt text generation happens entirely on device via Apple APIs on supported hardware. Nothing is sent to external services.

It is built around my own workflow and priorities. It may not be for everyone, and that is perfectly fine.

Important note:
MastoBlaster will always be free for BSD Cafe users, illumos Cafe users, and for anyone connecting to a snac instance, including self-hosted ones.

The app is already usable, but this is still a test phase. I am looking for feedback, bug reports, and real-world usage insights.

TestFlight link:
testflight.apple.com/join/Pkxa

Stay tuned.

Paul Chambers's avatar
Paul Chambers

@paul@oldfriends.live

failed at saving alt-text to an image on a new post for a logged in account. I must do more testing and investigate why tomorrow. It may be my settings or it could be Phanpy. I shall see.

Paul Chambers's avatar
Paul Chambers

@paul@oldfriends.live

failed at saving alt-text to an image on a new post for a logged in account. I must do more testing and investigate why tomorrow. It may be my settings or it could be Phanpy. I shall see.

Christian Bergschneider 🇪🇺's avatar
Christian Bergschneider 🇪🇺

@bloeckchengrafik@social.tchncs.de

Unfortunately for anyone reading this, I had an idea, although I'm not ready to talk publicly about it.

But I do have a question for s out here: Is there a nice way to handle account fragmentation? So having 3 accounts for 3 platforms that need to write-interact with the activitypub stream?
Really new to all of this, sorry if this question is kinda noob-y

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

Why do we want to grow the open social web, and for whom? @ben says the value is in protocols that allow people — all people around the world — to build and own communities that address their needs. "The only way to achieve that is to not just co-design with them but distribute equity. They must be full co-owners of the open social web," he writes.

flip.it/zjR0kR

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

Maybe something to clarify with . There is a full moderation system like on any Fediverse instance. Moderators can ban accounts. But relays are dumb by design: your identity and data belong to you, not to the relay. A ban is like a relay going down, you don't lose everything. You can move to another relay and keep all your followers, following, and data. With a custom domain the transition is seamless, otherwise it works through standard migration.

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

Why do we want to grow the open social web, and for whom? @ben says the value is in protocols that allow people — all people around the world — to build and own communities that address their needs. "The only way to achieve that is to not just co-design with them but distribute equity. They must be full co-owners of the open social web," he writes.

flip.it/zjR0kR

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

Maybe something to clarify with . There is a full moderation system like on any Fediverse instance. Moderators can ban accounts. But relays are dumb by design: your identity and data belong to you, not to the relay. A ban is like a relay going down, you don't lose everything. You can move to another relay and keep all your followers, following, and data. With a custom domain the transition is seamless, otherwise it works through standard migration.

Flipboard's avatar
Flipboard

@Flipboard@flipboard.social

Why do we want to grow the open social web, and for whom? @ben says the value is in protocols that allow people — all people around the world — to build and own communities that address their needs. "The only way to achieve that is to not just co-design with them but distribute equity. They must be full co-owners of the open social web," he writes.

flip.it/zjR0kR

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

Maybe something to clarify with . There is a full moderation system like on any Fediverse instance. Moderators can ban accounts. But relays are dumb by design: your identity and data belong to you, not to the relay. A ban is like a relay going down, you don't lose everything. You can move to another relay and keep all your followers, following, and data. With a custom domain the transition is seamless, otherwise it works through standard migration.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

Maybe something to clarify with . There is a full moderation system like on any Fediverse instance. Moderators can ban accounts. But relays are dumb by design: your identity and data belong to you, not to the relay. A ban is like a relay going down, you don't lose everything. You can move to another relay and keep all your followers, following, and data. With a custom domain the transition is seamless, otherwise it works through standard migration.

Sriram "sri" Ramkrishna -  😼's avatar
Sriram "sri" Ramkrishna - 😼

@sri@mastodon.social

RE: hachyderm.io/@thisismissem/116

This is such an interesting thread as it exposes the friction between ATProtocol/ActivityPub. Clearly, there are some cultural issues.

It's important to understand and I say this often to our own desktop projects - we are always stronger together than apart.

We are not competitors. We are allies.

Understandably we might compete on investment and volunteers but those sort themselves.

Emelia 👸🏻's avatar
Emelia 👸🏻

@thisismissem@hachyderm.io · Reply to Evan Prodromou's post

@evan @dansup @quillmatiq interest is great and all, but understanding the social and power dynamics at play is more important.

Every time some leader of an ActivityPub project goes on a tirade against another protocol or project, all it does is hurt the entire ecosystem. It prevents productive partnerships, it creates friction and fights.

We've seen this countless times, and meanwhile majority of ActivityPub applications are not striving for ActivityPub interoperability, but for Mastodon interoperability.

There is so much power centralization in ActivityPub it's not funny, let's not forget that the protocol was left to rot by the W3C for the longest time, when it could've continued on-wards. The amount of infighting and politics here drives people away.

I've talked with folks who have really great ideas, and I've been like "come bring this to a standards meeting, this is really cool" and the response time and again is "I don't want to be involved with those people", because they've seen countless negative interactions.

Meanwhile, in AT Protocol, it's extremely common place to get different application developers and organisations to come together to standardise things, the best example is standard.site — I'm also helping a few developers work on interoperability for other things within the Atmosphere, because they realise that they're stronger together.

In ActivityPub there's been constant division "this software is better than that software", and petty little fights about "this isn't really activitypub because it doesn't do what mastodon does, so it doesn't interoperate fully" — Dan was the target of one such hit piece.

The office hours that the bluesky team run every two weeks? They basically entirely focus on sharing and promoting the cool work by other people in the ecosystem, here's some notes from the latest: bsky.app/profile/thisismissem.

I've mentioned it before, but I've stopped actively contributing to Mastodon because the lack of respect that they show other contributors is so dire that it's not financially viable for me to contribute.

FediVariety's avatar
FediVariety

@FediVariety@mastodon.social · Reply to Fireside Fedi's post

@firesidefedi
@ozoned

—It was an abfab pleasure and a tremendous honour to be on your show! Wow!
Keep the fire burning!!!
:heart_fire:


@BjornW@mastodon.social's avatar
@BjornW@mastodon.social

@BjornW@mastodon.social

Observations:

Today social media looks & feels like TV to me. Consume whatever each platform owners' algorithms serve.

's ecosystem seems focused on reach & broadcasting. 's ecosystem seems focused on interaction. Is this the diff between Vs ? Newschool vs Oldschool Internet?

Would be nice if these become interoperable. Technically solvable, but I wonder are the 'cultures(?)' interoperable as well? Thoughts?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Matthias Pfefferle's post

@pfefferle @steve @mariusor

This is wonderful! I updated my notes with link to the PR..

codeberg.org/fediverse/delight

Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

thanks to the awesome support of @steve and @mariusor the API support is quite solid now.

It is possible to publish a new post, comment to posts and other comments and to follow others.

github.com/Automattic/wordpres

Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

thanks to the awesome support of @steve and @mariusor the API support is quite solid now.

It is possible to publish a new post, comment to posts and other comments and to follow others.

github.com/Automattic/wordpres

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

Before I drive myself mad and try to build something I'm incapable of…

Has anyone built an server for embedded devices?

Not a Raspberry Pi, but like one of those tiny ESP32 devices which can run MicroPython or similar.

I built a *full* AP server in around 64KB of PHP
gitlab.com/edent/activity-bot/

Now I'm wondering if a tiny sensor could be a fully-fledged ActivityPub node on the Fediverse.

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

Before I drive myself mad and try to build something I'm incapable of…

Has anyone built an server for embedded devices?

Not a Raspberry Pi, but like one of those tiny ESP32 devices which can run MicroPython or similar.

I built a *full* AP server in around 64KB of PHP
gitlab.com/edent/activity-bot/

Now I'm wondering if a tiny sensor could be a fully-fledged ActivityPub node on the Fediverse.

@BjornW@mastodon.social's avatar
@BjornW@mastodon.social

@BjornW@mastodon.social

Observations:

Today social media looks & feels like TV to me. Consume whatever each platform owners' algorithms serve.

's ecosystem seems focused on reach & broadcasting. 's ecosystem seems focused on interaction. Is this the diff between Vs ? Newschool vs Oldschool Internet?

Would be nice if these become interoperable. Technically solvable, but I wonder are the 'cultures(?)' interoperable as well? Thoughts?

Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

thanks to the awesome support of @steve and @mariusor the API support is quite solid now.

It is possible to publish a new post, comment to posts and other comments and to follow others.

github.com/Automattic/wordpres

Terence Eden's avatar
Terence Eden

@Edent@mastodon.social

Before I drive myself mad and try to build something I'm incapable of…

Has anyone built an server for embedded devices?

Not a Raspberry Pi, but like one of those tiny ESP32 devices which can run MicroPython or similar.

I built a *full* AP server in around 64KB of PHP
gitlab.com/edent/activity-bot/

Now I'm wondering if a tiny sensor could be a fully-fledged ActivityPub node on the Fediverse.

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»Connecting the world through thriving online communities« blog.joinmastodon.org/2026/02/

Fedizen Fediverse News's avatar
Fedizen Fediverse News

@fedizen@mastodon.social

»Connecting the world through thriving online communities« blog.joinmastodon.org/2026/02/

The Nexus of Privacy's avatar
The Nexus of Privacy

@thenexusofprivacy@infosec.exchange

FediForum "Growing the Open Social Web" Un-Workshop position statement

thenexusofprivacy.net/fediforu

If you want the narrative (and an explanation for the image), you can start at the top ... or just skip ahead to the position statement itself.

BBBBurns's avatar
BBBBurns

@jasonburns@mastodon.social

Hello! I'm very new here and just trying to understand how everything works.

I've been writing personal blog content for decades at bbbburns.com and recently migrated to Ghost. The ActivityPub integration has brought me here to understand how this community works.

dansup's avatar
dansup

@dansup@mastodon.social

3 platforms in the 2 comma club across 1 federated protocol.

Mastodon, Misskey and Pixelfed now have over 1 million people each.

This calls for a celebration 🥳

dansup's avatar
dansup

@dansup@mastodon.social

3 platforms in the 2 comma club across 1 federated protocol.

Mastodon, Misskey and Pixelfed now have over 1 million people each.

This calls for a celebration 🥳

Jeff's avatar
Jeff

@box464@mastodon.social

Heh, heh. Tonight I stumbled upon a hidden little feature in Fedify's CLI.

If you run `fedify nodeinfo mastodon.social -b` you get a cute little ascii art representation of the instance's logo.

Happy to see a bit of fun mixed into these fedi tools!

@fedify

A terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
ALT text detailsA terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
Jeff's avatar
Jeff

@box464@mastodon.social

Heh, heh. Tonight I stumbled upon a hidden little feature in Fedify's CLI.

If you run `fedify nodeinfo mastodon.social -b` you get a cute little ascii art representation of the instance's logo.

Happy to see a bit of fun mixed into these fedi tools!

@fedify

A terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
ALT text detailsA terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
The Nexus of Privacy's avatar
The Nexus of Privacy

@thenexusofprivacy@infosec.exchange

FediForum "Growing the Open Social Web" Un-Workshop position statement

thenexusofprivacy.net/fediforu

If you want the narrative (and an explanation for the image), you can start at the top ... or just skip ahead to the position statement itself.

Kevin Karhan :verified:'s avatar
Kevin Karhan :verified:

@kkarhan@infosec.space · Reply to Elizabeth :therian: :cascadia:'s post

@Elizafox so kinda like but with changing files...

  • Anything that can run off a basic webhost and not require a server or even will be better than !
Jeff's avatar
Jeff

@box464@mastodon.social

Heh, heh. Tonight I stumbled upon a hidden little feature in Fedify's CLI.

If you run `fedify nodeinfo mastodon.social -b` you get a cute little ascii art representation of the instance's logo.

Happy to see a bit of fun mixed into these fedi tools!

@fedify

A terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
ALT text detailsA terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
Jeff's avatar
Jeff

@box464@mastodon.social

Heh, heh. Tonight I stumbled upon a hidden little feature in Fedify's CLI.

If you run `fedify nodeinfo mastodon.social -b` you get a cute little ascii art representation of the instance's logo.

Happy to see a bit of fun mixed into these fedi tools!

@fedify

A terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
ALT text detailsA terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
Jeff's avatar
Jeff

@box464@mastodon.social

Heh, heh. Tonight I stumbled upon a hidden little feature in Fedify's CLI.

If you run `fedify nodeinfo mastodon.social -b` you get a cute little ascii art representation of the instance's logo.

Happy to see a bit of fun mixed into these fedi tools!

@fedify

A terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
ALT text detailsA terminal, with the command `fedify nodeinfo {serverName} -b` entered, it shows an ascii art representation of the logo.
Strypey's avatar
Strypey

@strypey@mastodon.nzoss.nz · Reply to Strypey's post

(2/2)

Would it be inappropriate to draft an FEP for this? One that addresses;

* (or whatever) as the standard tag for fediverse dev meta

* Filtering out posts with the tag by default for new accounts, unless they opt-in to receiving them

* Auto-adding the tag to all posts output by developer forums like SocialHub and ActivityPub.Space

* Methods like the ones @julian describes above, for ingesting and making use of posts with the tag

* ?

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

will be available on soon, and we hope to get more feedback to improve the project. While uses server APIs, here we can do much more to improve your experience with an server running directly on your device. We already introduced E2EE DMs and personal identity. We will go further with automatic deletion, even at posting level. You decide the availability of a message. We will also work on interaction controls from .

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

will be available on soon, and we hope to get more feedback to improve the project. While uses server APIs, here we can do much more to improve your experience with an server running directly on your device. We already introduced E2EE DMs and personal identity. We will go further with automatic deletion, even at posting level. You decide the availability of a message. We will also work on interaction controls from .

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to FinchHaven sfba's post

@FinchHaven @strypey

I do not think that @naturzukunft2026 misunderstands this.

There's a difference between the protocol and the on-the-wire reality, and in the latter is the post-facto interoperability leader.

For there to be interoperabiity in a particular domain there needs to be agreement on data formats and msg exchanges, and the specs don't provide full coverage nor clear guidance on this. Though has a section on use cases it was designed to handle, they aren't fully specified.

Of course it is perfectly fine, and highly encouraged to model a domain in the best possible way, but you won't be "part of the fediverse" until you implement enough of the post-facto Mastodon microblogging interop quirks.

We don't have a good ecosystem-level extension approach, and the constitutes a best-effort. A bandaid that allows to present a best-practice in hopes it gets further adoption.

I'm not sure that JSON-LD offers solace though.

FinchHaven sfba's avatar
FinchHaven sfba

@FinchHaven@sfba.social · Reply to Strypey's post

@strypey

Clicked through on that @ naturzukunft2026 link for some reason

"The spec is ActivityPub, but federation is unfortunately Mastodon."

No

is a protocol

It requires some sort of implementation via software into some sort of distribution/app

Mastodon (for one) is only *one* distribution/app

There are others

These others may

--> or may not <--

"federate" with each other to varying degrees

They are all *different* and "varying" implementations of the ActivityPub protocol

I don't know why this is so hard to understand, but it sure seems to be...

cc @naturzukunft2026

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@i47i @HolosSocial @apps

PS. I track a list of implementations and didn't add till now. If I should add it, pleas let me know, or comment directly to the issue.

codeberg.org/fediverse/delight

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

@i47i

There is some terminology used by @HolosSocial that may lead to confusion and needs clarification.

The term "full server" seems to refer to a full server-to-server (S2S) implementation and then hosted client-side, which communicates with the Holos relay server through websockets in order to be able to federate. You might call it a "full server on the client" implementation.

But that is different than what the spec calls a "ActivityPub conformant Federated Server" which also implements the client-to-server (C2S) Social API. I don't see C2S mentioned, and perhaps @apps can improve the docs here to avoid confusions.

w3.org/TR/activitypub/#specifi

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

In , once a post is federated, you lose control over how remote instances handle interactions on it. Some servers like are working on interaction controls, but non-compatible instances simply ignore your rules.
With , we're considering a "safe mode" available at publishing time. Your post would only be delivered to followers on instances that respect interaction controls. Not enabled by default, but there for those who need it.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to ozoned's post

@ozoned @Longplay_Games

has a 2025 closed issue on with "not planned".

github.com/Southclaws/storyden

You might start a discussion to report on your Discord chat and perhaps they'll reconsider.. github.com/Southclaws/storyden

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

We talk about forgetting some of you might not know this project.
is a full ActivityPub server running on your device. Currently on Android, next on iOS.
We already introduced DMs and identity through custom domains. You own your followers, your keys, and your identity. Relays are just infrastructure.
On the footer of holos.social we added pages explaining the project. Have a look!

Mastodon: @HolosSocial Don't hesitate to share

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-13

Servers

- Stegodon v1.7.1
- Hollo v0.7.2
- Manyfold v0.132.1
- Mbin v1.9.1
- tootik v0.21.0
- Mitra v4.18.0
- ActivityPub for WordPress v7.9.1
- flohmarkt v0.14.4
- PieFed v1.6.4
- Trunk & Tidbits, January 2026 (Mastodon)
- OpenSimulator ActivityPub Bridge

Clients

- Fedilab v3.36.1
- toot v0.51.1
- tooi v0.21.0
- Jerboa v0.0.85
- Interstellar v0.11.2
- Pixelix v4.3.0
- Fedi Reader: A link-focused Mastodon news reader for iOS and macOS

Tools and Plugins

- ap-thread-reader: ActivityPub-compatible Thread Reader (not only for Mastodon)

For developers

- Progress Report - February 2026 (GoActivityPub)

Articles

- On fediverse content warnings and filters
- Trusting Trust in the Fediverse
- Adding Fediverse Comments to a Pelican Blog

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c3449-e714-29e9-b9f6-03cc6804b4aa

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

In , once a post is federated, you lose control over how remote instances handle interactions on it. Some servers like are working on interaction controls, but non-compatible instances simply ignore your rules.
With , we're considering a "safe mode" available at publishing time. Your post would only be delivered to followers on instances that respect interaction controls. Not enabled by default, but there for those who need it.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

In , once a post is federated, you lose control over how remote instances handle interactions on it. Some servers like are working on interaction controls, but non-compatible instances simply ignore your rules.
With , we're considering a "safe mode" available at publishing time. Your post would only be delivered to followers on instances that respect interaction controls. Not enabled by default, but there for those who need it.

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

In , once a post is federated, you lose control over how remote instances handle interactions on it. Some servers like are working on interaction controls, but non-compatible instances simply ignore your rules.
With , we're considering a "safe mode" available at publishing time. Your post would only be delivered to followers on instances that respect interaction controls. Not enabled by default, but there for those who need it.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

We talk about forgetting some of you might not know this project.
is a full ActivityPub server running on your device. Currently on Android, next on iOS.
We already introduced DMs and identity through custom domains. You own your followers, your keys, and your identity. Relays are just infrastructure.
On the footer of holos.social we added pages explaining the project. Have a look!

Mastodon: @HolosSocial Don't hesitate to share

info's avatar
info

@info@social.fedimtl.ca

🎤 Speaker Spotlight: Christine Lemmer-Webber @cwebber Co-Founder of @spritely and Co-Author of the #ActivityPub protocol, building the next generation of decentralized networked technology.
🎟️ In-person and streaming tickets: https://fedimtl.ca/

#FediMTL #Fediverse #SocialWeb #DigitalSovereignty

info's avatar
info

@info@social.fedimtl.ca

🎤 Speaker Spotlight: Christine Lemmer-Webber @cwebber Co-Founder of @spritely and Co-Author of the #ActivityPub protocol, building the next generation of decentralized networked technology.
🎟️ In-person and streaming tickets: https://fedimtl.ca/

#FediMTL #Fediverse #SocialWeb #DigitalSovereignty

Ben Pate 🤘🏻's avatar
Ben Pate 🤘🏻

@benpate@mastodon.social

There's a lot of energy on the right now to discuss/find a alternative to using .

@strypey suggested that I put this out there to anyone who's thinking about it. We could probably rebuild most of Discord's features as an inbox without doing a lot of back end code.

I'm too swamped to start on this right now. But if you're a great HTML+CSS designer, I'm able to give some time to a team who wants to take this on.

Ben Pate 🤘🏻's avatar
Ben Pate 🤘🏻

@benpate@mastodon.social

There's a lot of energy on the right now to discuss/find a alternative to using .

@strypey suggested that I put this out there to anyone who's thinking about it. We could probably rebuild most of Discord's features as an inbox without doing a lot of back end code.

I'm too swamped to start on this right now. But if you're a great HTML+CSS designer, I'm able to give some time to a team who wants to take this on.

Social Web Graph's avatar
Social Web Graph

@socialwebgraph@mastodon.social

Hello World!

We're building a social web alternative to open graph, powered by @webintents and @fedidb

The website and documentation will be published soon, stay tuned 🚀

dansup's avatar
dansup

@dansup@mastodon.social

Never before has it been this easy to leverage the fediverse across the web.

With @webintents and @socialwebgraph, you will be unstoppable 🚀

Available Soon.

WebIntent event join button, showcasing the power of web intents
ALT text detailsWebIntent event join button, showcasing the power of web intents
NetMan's avatar
NetMan

@netman@fedi.mandarynki.eu

Honestly, it'd be nice if git servers would be federated in some way with e.g. PRs, Issues, and ofc core functionality of committing... Implementing such stuff within only Forgejo itself would bring the servers and users closer together with self-hosted and the big codeberg (saying this as a self-hosted invite-only forgejo server user :>)

Ben Pate 🤘🏻's avatar
Ben Pate 🤘🏻

@benpate@mastodon.social

There's a lot of energy on the right now to discuss/find a alternative to using .

@strypey suggested that I put this out there to anyone who's thinking about it. We could probably rebuild most of Discord's features as an inbox without doing a lot of back end code.

I'm too swamped to start on this right now. But if you're a great HTML+CSS designer, I'm able to give some time to a team who wants to take this on.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Strypey's avatar
Strypey

@strypey@mastodon.nzoss.nz

It's probably less of a problem now that the fediverse is much bigger (than it was 5 years ago). But one of the things I've heard puts newbies off alternative social apps/ networks is too much meta-discussion about development and deployment of the apps/ networks themselves.

Maybe we could agree on a standard way of tagging this stuff (eg )? Then the DevMeta tag could be filtered out by default for newbies.

(1/3)

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

marius's avatar
marius

@mariusor@metalhead.club

I'm thinking in adding proxyUrl support in the frontend. :goose_hacker:

Currently if a request to a remote object fails - either due to CORS, or because of authorized fetch - I just display a fallback link to it.

I'm wondering if I can do a two step approach, if the request to the resource fails with 401-403 (for secure fetch) or 400 (for CORS failures) I try to redirect the request through the proxyUrl mechanism.

Only if that fails too, I fallback to something else.

Decenta Lyzed's avatar
Decenta Lyzed

@pepper0@aus.social

**Decentralized Dominance: The Unbribed Power of Webmentions**

I've been a vocal advocate for Webmentions for a while - and I'm here to tell you that this game-changing technology is not just a nicety, but a necessity.

The fundamentals are crystal clear: take control of your online presence, ditch the middlemen, and shatter the shackles of Big Tech's stranglehold. It's time to rewrite the rules and reclaim your digital sovereignty.

Let's cut to the chase with an example that'll leave you breathless: imagine Asuka stumbling upon a scorching article on Shinji's site at Shinji.com/article. She fires off a comment that'd make a thousand lesser bloggers green with envy - but instead of relying on some soulless commenting system, she takes it to the next level by sending a Webmention directly to Shinji's site.

The implications are staggering: when both parties support Webmentions, they're essentially saying, "You can have my comment, right now." The source URL (Asuka.com/comment) and target URL (Shinji.com/article) are etched in stone - no more third-party intermediaries, no more social media login hoops to jump through. Just the raw power of the Web.

Now, I know what you're thinking: "But isn't this just a fancy alternative to ActivityPub?" Ah, friend, you'd be wrong. Dead wrong. is a Byzantine nightmare that'll leave your head spinning with concepts like actors, relays, followers, and more. Webmentions, on the other hand, are a elegant, peer-to-peer solution that doesn't require any of that mumbo-jumbo.

And let's not forget the sheer flexibility of Microformats - you can use Webmentions to share anything from likes to RSVPs, media, locations, and even events. The possibilities are endless.

Don't be held hostage by the status quo. Join the Indieweb and take control of your online destiny once and for all.

Decenta Lyzed's avatar
Decenta Lyzed

@pepper0@aus.social

**Decentralized Dominance: The Unbribed Power of Webmentions**

I've been a vocal advocate for Webmentions for a while - and I'm here to tell you that this game-changing technology is not just a nicety, but a necessity.

The fundamentals are crystal clear: take control of your online presence, ditch the middlemen, and shatter the shackles of Big Tech's stranglehold. It's time to rewrite the rules and reclaim your digital sovereignty.

Let's cut to the chase with an example that'll leave you breathless: imagine Asuka stumbling upon a scorching article on Shinji's site at Shinji.com/article. She fires off a comment that'd make a thousand lesser bloggers green with envy - but instead of relying on some soulless commenting system, she takes it to the next level by sending a Webmention directly to Shinji's site.

The implications are staggering: when both parties support Webmentions, they're essentially saying, "You can have my comment, right now." The source URL (Asuka.com/comment) and target URL (Shinji.com/article) are etched in stone - no more third-party intermediaries, no more social media login hoops to jump through. Just the raw power of the Web.

Now, I know what you're thinking: "But isn't this just a fancy alternative to ActivityPub?" Ah, friend, you'd be wrong. Dead wrong. is a Byzantine nightmare that'll leave your head spinning with concepts like actors, relays, followers, and more. Webmentions, on the other hand, are a elegant, peer-to-peer solution that doesn't require any of that mumbo-jumbo.

And let's not forget the sheer flexibility of Microformats - you can use Webmentions to share anything from likes to RSVPs, media, locations, and even events. The possibilities are endless.

Don't be held hostage by the status quo. Join the Indieweb and take control of your online destiny once and for all.

marius's avatar
marius

@mariusor@metalhead.club

I'm thinking in adding proxyUrl support in the frontend. :goose_hacker:

Currently if a request to a remote object fails - either due to CORS, or because of authorized fetch - I just display a fallback link to it.

I'm wondering if I can do a two step approach, if the request to the resource fails with 401-403 (for secure fetch) or 400 (for CORS failures) I try to redirect the request through the proxyUrl mechanism.

Only if that fails too, I fallback to something else.

AJ Sadauskas's avatar
AJ Sadauskas

@aj@gts.sadauskas.id.au

Recently, there was a question by @taylorlorenz about how you explain the Fediverse to someone who doesn't use it.

And usually, what we tend to do is we talk about servers and decentralisation and federation and ActivityPub and all these highly technical concepts.

I've been thinking about it, and all that technical stuff is really impressive work by people far more clever than I'll ever be.

But for me, that technology is a facilitating thing. It's like trying to describe how a bicycle works, rather than why you ride it.

Instead, what the Fediverse is, is a place to have conversations online without algorithms, AI, and ads getting in the way.

Which is increasingly a rare thing online.

Almost the entirety of the internet, from SEO on the web to YouTube to TikTok to Spotify to Instagram and X and Facebook, has been turned into a race to game an algorithm designed to sell ads.

What makes the Fedi unique is that it's not that.

And I suspect if you're trying to persuade someone to try Mastodon (or Lemmy, or Pixelfed, or GtS, etc), you'll get a lot further explaining it as algorithm-free, ad-free, AI-free conversations, rather than trying to describe a decentralised protocol.

#Fediverse #Mastodon #ActivityPub

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-13

Servers

- Stegodon v1.7.1
- Hollo v0.7.2
- Manyfold v0.132.1
- Mbin v1.9.1
- tootik v0.21.0
- Mitra v4.18.0
- ActivityPub for WordPress v7.9.1
- flohmarkt v0.14.4
- PieFed v1.6.4
- Trunk & Tidbits, January 2026 (Mastodon)
- OpenSimulator ActivityPub Bridge

Clients

- Fedilab v3.36.1
- toot v0.51.1
- tooi v0.21.0
- Jerboa v0.0.85
- Interstellar v0.11.2
- Pixelix v4.3.0
- Fedi Reader: A link-focused Mastodon news reader for iOS and macOS

Tools and Plugins

- ap-thread-reader: ActivityPub-compatible Thread Reader (not only for Mastodon)

For developers

- Progress Report - February 2026 (GoActivityPub)

Articles

- On fediverse content warnings and filters
- Trusting Trust in the Fediverse
- Adding Fediverse Comments to a Pelican Blog

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c3449-e714-29e9-b9f6-03cc6804b4aa

AJ Sadauskas's avatar
AJ Sadauskas

@aj@gts.sadauskas.id.au

Recently, there was a question by @taylorlorenz about how you explain the Fediverse to someone who doesn't use it.

And usually, what we tend to do is we talk about servers and decentralisation and federation and ActivityPub and all these highly technical concepts.

I've been thinking about it, and all that technical stuff is really impressive work by people far more clever than I'll ever be.

But for me, that technology is a facilitating thing. It's like trying to describe how a bicycle works, rather than why you ride it.

Instead, what the Fediverse is, is a place to have conversations online without algorithms, AI, and ads getting in the way.

Which is increasingly a rare thing online.

Almost the entirety of the internet, from SEO on the web to YouTube to TikTok to Spotify to Instagram and X and Facebook, has been turned into a race to game an algorithm designed to sell ads.

What makes the Fedi unique is that it's not that.

And I suspect if you're trying to persuade someone to try Mastodon (or Lemmy, or Pixelfed, or GtS, etc), you'll get a lot further explaining it as algorithm-free, ad-free, AI-free conversations, rather than trying to describe a decentralised protocol.

#Fediverse #Mastodon #ActivityPub

Paul Chambers's avatar
Paul Chambers

@paul@oldfriends.live

I can say the is a different place than any other social media platform I have been on. I've been here since 2022. When my self-hosted instance went down for a couple days, I didn't yearn for social media like a drug. I wondered how certain people's cats were, one person had a mother in the hospital, someone was getting a new job, one had the blues, etc, etc. I missed people more than viralness of a platform. Thank you for being my Old Friends.

Paul Chambers's avatar
Paul Chambers

@paul@oldfriends.live

I can say the is a different place than any other social media platform I have been on. I've been here since 2022. When my self-hosted instance went down for a couple days, I didn't yearn for social media like a drug. I wondered how certain people's cats were, one person had a mother in the hospital, someone was getting a new job, one had the blues, etc, etc. I missed people more than viralness of a platform. Thank you for being my Old Friends.

Ben Pate 🤘🏻's avatar
Ben Pate 🤘🏻

@benpate@mastodon.social

There's a lot of energy on the right now to discuss/find a alternative to using .

@strypey suggested that I put this out there to anyone who's thinking about it. We could probably rebuild most of Discord's features as an inbox without doing a lot of back end code.

I'm too swamped to start on this right now. But if you're a great HTML+CSS designer, I'm able to give some time to a team who wants to take this on.

klu9's avatar
klu9

@klu9@ohai.social · Reply to Ben Pate 🤘🏻's post

@benpate @strypey

currently based on AT Proto but looking to add soon
itsfoss.com/roomy-discord-alte

AJ Sadauskas's avatar
AJ Sadauskas

@aj@gts.sadauskas.id.au

Recently, there was a question by @taylorlorenz about how you explain the Fediverse to someone who doesn't use it.

And usually, what we tend to do is we talk about servers and decentralisation and federation and ActivityPub and all these highly technical concepts.

I've been thinking about it, and all that technical stuff is really impressive work by people far more clever than I'll ever be.

But for me, that technology is a facilitating thing. It's like trying to describe how a bicycle works, rather than why you ride it.

Instead, what the Fediverse is, is a place to have conversations online without algorithms, AI, and ads getting in the way.

Which is increasingly a rare thing online.

Almost the entirety of the internet, from SEO on the web to YouTube to TikTok to Spotify to Instagram and X and Facebook, has been turned into a race to game an algorithm designed to sell ads.

What makes the Fedi unique is that it's not that.

And I suspect if you're trying to persuade someone to try Mastodon (or Lemmy, or Pixelfed, or GtS, etc), you'll get a lot further explaining it as algorithm-free, ad-free, AI-free conversations, rather than trying to describe a decentralised protocol.

#Fediverse #Mastodon #ActivityPub

AJ Sadauskas's avatar
AJ Sadauskas

@aj@gts.sadauskas.id.au

Recently, there was a question by @taylorlorenz about how you explain the Fediverse to someone who doesn't use it.

And usually, what we tend to do is we talk about servers and decentralisation and federation and ActivityPub and all these highly technical concepts.

I've been thinking about it, and all that technical stuff is really impressive work by people far more clever than I'll ever be.

But for me, that technology is a facilitating thing. It's like trying to describe how a bicycle works, rather than why you ride it.

Instead, what the Fediverse is, is a place to have conversations online without algorithms, AI, and ads getting in the way.

Which is increasingly a rare thing online.

Almost the entirety of the internet, from SEO on the web to YouTube to TikTok to Spotify to Instagram and X and Facebook, has been turned into a race to game an algorithm designed to sell ads.

What makes the Fedi unique is that it's not that.

And I suspect if you're trying to persuade someone to try Mastodon (or Lemmy, or Pixelfed, or GtS, etc), you'll get a lot further explaining it as algorithm-free, ad-free, AI-free conversations, rather than trying to describe a decentralised protocol.

#Fediverse #Mastodon #ActivityPub

Surf's avatar
Surf

@surf@flipboard.social

🚌 🚌 Surf builds are like buses — you don't see one for ages, then two come along at once. This week's second release, version 1.0.358, has an eye-catching new wave icon in the sidebar so you can discover other surfers' feeds more easily, plus bug fixes and performance improvements.

Screenshot of Surf app showing the sidebar menu.
ALT text detailsScreenshot of Surf app showing the sidebar menu.
Surf's avatar
Surf

@surf@flipboard.social

🚌 🚌 Surf builds are like buses — you don't see one for ages, then two come along at once. This week's second release, version 1.0.358, has an eye-catching new wave icon in the sidebar so you can discover other surfers' feeds more easily, plus bug fixes and performance improvements.

Screenshot of Surf app showing the sidebar menu.
ALT text detailsScreenshot of Surf app showing the sidebar menu.
Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

With we checked multiple criteria before indexing: "indexable" enabled, account not locked, no or in bio, not in opted-out list, only public posts. Every deletion, edit or block was processed instantly via .
Google uses that same "indexable" flag but ignores everything else, keeps deleted content cached for weeks.
We shut it down after pushback. Was that the right call? Don't hesitate to share, this concerns the whole Fediverse.

OptionVoters
It should have stayed up8 (89%)
Right call to shut it down0 (0%)
No opinion1 (11%)
dansup's avatar
dansup

@dansup@mastodon.social

Never before has it been this easy to leverage the fediverse across the web.

With @webintents and @socialwebgraph, you will be unstoppable 🚀

Available Soon.

WebIntent event join button, showcasing the power of web intents
ALT text detailsWebIntent event join button, showcasing the power of web intents
klu9's avatar
klu9

@klu9@ohai.social · Reply to Ben Pate 🤘🏻's post

@benpate @strypey

currently based on AT Proto but looking to add soon
itsfoss.com/roomy-discord-alte

klu9's avatar
klu9

@klu9@ohai.social · Reply to Ben Pate 🤘🏻's post

@benpate @strypey

currently based on AT Proto but looking to add soon
itsfoss.com/roomy-discord-alte

Ben Pate 🤘🏻's avatar
Ben Pate 🤘🏻

@benpate@mastodon.social

There's a lot of energy on the right now to discuss/find a alternative to using .

@strypey suggested that I put this out there to anyone who's thinking about it. We could probably rebuild most of Discord's features as an inbox without doing a lot of back end code.

I'm too swamped to start on this right now. But if you're a great HTML+CSS designer, I'm able to give some time to a team who wants to take this on.

AJ Sadauskas's avatar
AJ Sadauskas

@aj@gts.sadauskas.id.au

Recently, there was a question by @taylorlorenz about how you explain the Fediverse to someone who doesn't use it.

And usually, what we tend to do is we talk about servers and decentralisation and federation and ActivityPub and all these highly technical concepts.

I've been thinking about it, and all that technical stuff is really impressive work by people far more clever than I'll ever be.

But for me, that technology is a facilitating thing. It's like trying to describe how a bicycle works, rather than why you ride it.

Instead, what the Fediverse is, is a place to have conversations online without algorithms, AI, and ads getting in the way.

Which is increasingly a rare thing online.

Almost the entirety of the internet, from SEO on the web to YouTube to TikTok to Spotify to Instagram and X and Facebook, has been turned into a race to game an algorithm designed to sell ads.

What makes the Fedi unique is that it's not that.

And I suspect if you're trying to persuade someone to try Mastodon (or Lemmy, or Pixelfed, or GtS, etc), you'll get a lot further explaining it as algorithm-free, ad-free, AI-free conversations, rather than trying to describe a decentralised protocol.

#Fediverse #Mastodon #ActivityPub

Ben Pate 🤘🏻's avatar
Ben Pate 🤘🏻

@benpate@mastodon.social

There's a lot of energy on the right now to discuss/find a alternative to using .

@strypey suggested that I put this out there to anyone who's thinking about it. We could probably rebuild most of Discord's features as an inbox without doing a lot of back end code.

I'm too swamped to start on this right now. But if you're a great HTML+CSS designer, I'm able to give some time to a team who wants to take this on.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-13

Servers

- Stegodon v1.7.1
- Hollo v0.7.2
- Manyfold v0.132.1
- Mbin v1.9.1
- tootik v0.21.0
- Mitra v4.18.0
- ActivityPub for WordPress v7.9.1
- flohmarkt v0.14.4
- PieFed v1.6.4
- Trunk & Tidbits, January 2026 (Mastodon)
- OpenSimulator ActivityPub Bridge

Clients

- Fedilab v3.36.1
- toot v0.51.1
- tooi v0.21.0
- Jerboa v0.0.85
- Interstellar v0.11.2
- Pixelix v4.3.0
- Fedi Reader: A link-focused Mastodon news reader for iOS and macOS

Tools and Plugins

- ap-thread-reader: ActivityPub-compatible Thread Reader (not only for Mastodon)

For developers

- Progress Report - February 2026 (GoActivityPub)

Articles

- On fediverse content warnings and filters
- Trusting Trust in the Fediverse
- Adding Fediverse Comments to a Pelican Blog

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c3449-e714-29e9-b9f6-03cc6804b4aa

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-13

Servers

- Stegodon v1.7.1
- Hollo v0.7.2
- Manyfold v0.132.1
- Mbin v1.9.1
- tootik v0.21.0
- Mitra v4.18.0
- ActivityPub for WordPress v7.9.1
- flohmarkt v0.14.4
- PieFed v1.6.4
- Trunk & Tidbits, January 2026 (Mastodon)
- OpenSimulator ActivityPub Bridge

Clients

- Fedilab v3.36.1
- toot v0.51.1
- tooi v0.21.0
- Jerboa v0.0.85
- Interstellar v0.11.2
- Pixelix v4.3.0
- Fedi Reader: A link-focused Mastodon news reader for iOS and macOS

Tools and Plugins

- ap-thread-reader: ActivityPub-compatible Thread Reader (not only for Mastodon)

For developers

- Progress Report - February 2026 (GoActivityPub)

Articles

- On fediverse content warnings and filters
- Trusting Trust in the Fediverse
- Adding Fediverse Comments to a Pelican Blog

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c3449-e714-29e9-b9f6-03cc6804b4aa

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-13

Servers

- Stegodon v1.7.1
- Hollo v0.7.2
- Manyfold v0.132.1
- Mbin v1.9.1
- tootik v0.21.0
- Mitra v4.18.0
- ActivityPub for WordPress v7.9.1
- flohmarkt v0.14.4
- PieFed v1.6.4
- Trunk & Tidbits, January 2026 (Mastodon)
- OpenSimulator ActivityPub Bridge

Clients

- Fedilab v3.36.1
- toot v0.51.1
- tooi v0.21.0
- Jerboa v0.0.85
- Interstellar v0.11.2
- Pixelix v4.3.0
- Fedi Reader: A link-focused Mastodon news reader for iOS and macOS

Tools and Plugins

- ap-thread-reader: ActivityPub-compatible Thread Reader (not only for Mastodon)

For developers

- Progress Report - February 2026 (GoActivityPub)

Articles

- On fediverse content warnings and filters
- Trusting Trust in the Fediverse
- Adding Fediverse Comments to a Pelican Blog

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c3449-e714-29e9-b9f6-03cc6804b4aa

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

With we checked multiple criteria before indexing: "indexable" enabled, account not locked, no or in bio, not in opted-out list, only public posts. Every deletion, edit or block was processed instantly via .
Google uses that same "indexable" flag but ignores everything else, keeps deleted content cached for weeks.
We shut it down after pushback. Was that the right call? Don't hesitate to share, this concerns the whole Fediverse.

OptionVoters
It should have stayed up8 (89%)
Right call to shut it down0 (0%)
No opinion1 (11%)
numanumayey's avatar
numanumayey

@breathOfLife@infosec.exchange

@dansup

are there any fediverse projects using more than one type of federation?

what are some good resources for implementing activitypub validly?
what languages should i learn?
what are good ways to test web application security on the cheap before deployment?
anything more i should be worried about?

i'm good at c, python and that's about it.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

After shutting down , we're rethinking the approach with : users explicitly opt in by adding to their bio with interest tags, then submit their profile. No assumptions, no default settings.
This will power interest-based discovery across the , helping people find each other through shared interests. Still all through of course, with real-time deletions and updates.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

With we checked multiple criteria before indexing: "indexable" enabled, account not locked, no or in bio, not in opted-out list, only public posts. Every deletion, edit or block was processed instantly via .
Google uses that same "indexable" flag but ignores everything else, keeps deleted content cached for weeks.
We shut it down after pushback. Was that the right call? Don't hesitate to share, this concerns the whole Fediverse.

OptionVoters
It should have stayed up8 (89%)
Right call to shut it down0 (0%)
No opinion1 (11%)
malte's avatar
malte

@malte@radikal.social

These days I have seed and flavorful vegetables on my mind. I'm grateful to be part of an international community with that passion. One of the places on the internet I learn the most these days is a dedicated to that topic and I wish it could federate with Mastodon and similar networks, so the conversations could take place here too. Atm you need a 500$ business plan to integrate plugin.

goingtoseed.discourse.group

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

After shutting down , we're rethinking the approach with : users explicitly opt in by adding to their bio with interest tags, then submit their profile. No assumptions, no default settings.
This will power interest-based discovery across the , helping people find each other through shared interests. Still all through of course, with real-time deletions and updates.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

After shutting down , we're rethinking the approach with : users explicitly opt in by adding to their bio with interest tags, then submit their profile. No assumptions, no default settings.
This will power interest-based discovery across the , helping people find each other through shared interests. Still all through of course, with real-time deletions and updates.

numanumayey's avatar
numanumayey

@breathOfLife@infosec.exchange

@dansup

are there any fediverse projects using more than one type of federation?

what are some good resources for implementing activitypub validly?
what languages should i learn?
what are good ways to test web application security on the cheap before deployment?
anything more i should be worried about?

i'm good at c, python and that's about it.

Sarven Capadisli's avatar
Sarven Capadisli

@csarven@w3c.social · Reply to 👁's post

@eyeinthesky I am genuinely curious. What do you mean by a "real" schema language? What criteria should it meet?

More specifically, what would constitute successful interoperability for in line with the aims of ?

is not a schema language. It is used to serialise as the primary vocab for exchanging social activities, providing a foundation, and leaves room for extensibility for broad human needs to express social matters.

dansup's avatar
dansup

@dansup@mastodon.social

Never before has it been this easy to leverage the fediverse across the web.

With @webintents and @socialwebgraph, you will be unstoppable 🚀

Available Soon.

WebIntent event join button, showcasing the power of web intents
ALT text detailsWebIntent event join button, showcasing the power of web intents
Social Web Graph's avatar
Social Web Graph

@socialwebgraph@mastodon.social

Hello World!

We're building a social web alternative to open graph, powered by @webintents and @fedidb

The website and documentation will be published soon, stay tuned 🚀

dansup's avatar
dansup

@dansup@mastodon.social

Never before has it been this easy to leverage the fediverse across the web.

With @webintents and @socialwebgraph, you will be unstoppable 🚀

Available Soon.

WebIntent event join button, showcasing the power of web intents
ALT text detailsWebIntent event join button, showcasing the power of web intents
Social Web Graph's avatar
Social Web Graph

@socialwebgraph@mastodon.social

Hello World!

We're building a social web alternative to open graph, powered by @webintents and @fedidb

The website and documentation will be published soon, stay tuned 🚀

Sarven Capadisli's avatar
Sarven Capadisli

@csarven@w3c.social · Reply to 👁's post

@eyeinthesky I am genuinely curious. What do you mean by a "real" schema language? What criteria should it meet?

More specifically, what would constitute successful interoperability for in line with the aims of ?

is not a schema language. It is used to serialise as the primary vocab for exchanging social activities, providing a foundation, and leaves room for extensibility for broad human needs to express social matters.

Social Web Graph's avatar
Social Web Graph

@socialwebgraph@mastodon.social

Hello World!

We're building a social web alternative to open graph, powered by @webintents and @fedidb

The website and documentation will be published soon, stay tuned 🚀

Stefan's avatar
Stefan

@stefan@gardenstate.social

can anyone help me find some graphics for social media alternatives that show the big social media logos and then the logo and name of the activitypub equivalent?

I know I have seen a few but suddenly can't find them.

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Lance Haig's post

@lhaig

Nice! I have queued this up for inclusion in the delightful fediverse experience curated list.

delightful.coding.social/delig

Lance Haig's avatar
Lance Haig

@lhaig@hachyderm.io

pack-mastodon v0.1.0 is now available on Ramble!

Deploy Mastodon, a self-hosted ActivityPub social network, to HashiCorp Nomad

ramble.openwander.org/lhaig/pa

Ondrej Zizka's avatar
Ondrej Zizka

@OndrejZizka@mastodon.social

One option for events in Fediverse: gath.io/

👁's avatar
👁

@eyeinthesky@mastodon.social

🤷‍♀️ Why? 🤪

Hopefully the SocialWG will adopt a real schema language. 🙏

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

Hello @evan and @bifurcation .. a question.

For inclusion of information resources on the delightful-fediverse-development curated list there is this (now expired) draft exploring / versus AP. I find this draft to be well-written and informative, and thus the draft possibly a candidate for inclusion for people as additional background reading to the work on MLS. Unless there are so many changes since the creation of the draft that it may raise confusion, and should not be included. What is your opinion here?

ietf-wg-mimi.github.io/mimi-ar

Frank Hamm 🏃‍➡️👟🥾's avatar
Frank Hamm 🏃‍➡️👟🥾

@DerEntspannende@vivaldi.net

@pfefferle Ich dachte, die eigene Formatierung der Postings mit ActivityPub wäre Legacy, da das Plugin Postings "automatisch" raushauen soll und die Plattform über Formatierung entscheidet. Also wollte ich das ausschalten. Aber irgendwie sehe ich nirgendwo eine Möglichkeit in den Settings. Übersehe ich da was?

👁's avatar
👁

@eyeinthesky@mastodon.social

🤷‍♀️ Why? 🤪

Hopefully the SocialWG will adopt a real schema language. 🙏

Ondrej Zizka's avatar
Ondrej Zizka

@OndrejZizka@mastodon.social

One option for events in Fediverse: gath.io/

Lance Haig's avatar
Lance Haig

@lhaig@hachyderm.io

pack-mastodon v0.1.0 is now available on Ramble!

Deploy Mastodon, a self-hosted ActivityPub social network, to HashiCorp Nomad

ramble.openwander.org/lhaig/pa

marius's avatar
marius

@mariusor@metalhead.club

@andycarolan did it again and now , the generic server, has a fresh of the press logo. :) Thank you Andy! 🥳

mariusor.srht.site/fedbox/

marius's avatar
marius

@mariusor@metalhead.club

@andycarolan did it again and now , the generic server, has a fresh of the press logo. :) Thank you Andy! 🥳

mariusor.srht.site/fedbox/

marius's avatar
marius

@mariusor@metalhead.club

@andycarolan did it again and now , the generic server, has a fresh of the press logo. :) Thank you Andy! 🥳

mariusor.srht.site/fedbox/

Jeff's avatar
Jeff

@box464@mastodon.social

I'm playing around with Offer activities in Fedify. The AP Vocab provides this, easy peasy.

✅ Alice OFFERS Book to Bob
✅ Bob ACCEPTS Alice's OFFER

Or:

✅ Bob OFFERS Rotten Tomato to Alice
❌ Alice REJECTS Bob's OFFER

----------------

But I'm not clear if this is right:

❓Alice ANNOUNCES OFFER of Labubu to Followers?

❓Bob OFFERS $10 for Labubu to Alice?

❓ Alice ACCEPTS Bob's OFFER of $10 for Labubu?

✅ Alice OFFERS Labubu to Bob

✅ Bob ACCEPTS Labubu

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Steve Bate's post

@steve @jerger

Yes, I would highly discourage the use of "app". It is why I scare quoted it, but "app" is common language when people talk about the fediverse. "App" is a neat container concept that fits the full scope of ones own FOSS project, but on the fediverse - a growing heterogeneous and interoperable social network - one becomes highly dependent on the foundational network communication layer based on , and any fedi FOSS developer should be concerned beyond direct project scope, and pay attention that this foundation evolves healthily. This unfortunately happens unsufficiently, and only a very small number of people try to get the ecosystem as a whole to higher levels, volunteering time where it does not directly benefit their own projects. Think @silverpill for the and @evan for .

Cool find yesterday was that @HolosSocial rather than C2S has a "full AP server" client-side, that communicates with a Websockets tunnel to a dedicated relay server.

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com · Reply to 🫧 socialcoding..'s post

@smallcircles @jerger > In the case you mention it becomes confusing to still use client/server terminology.

In this case, I think the terms makes sense in the specific content of clients and servers. There's significant overlap in the behaviors of the two, but there are significant differences too. For example, a client cannot federate and often runs in an environment where it can't expose listening sockets (browser, behind a firewall, etc.).

Jeff's avatar
Jeff

@box464@mastodon.social

I'm playing around with Offer activities in Fedify. The AP Vocab provides this, easy peasy.

✅ Alice OFFERS Book to Bob
✅ Bob ACCEPTS Alice's OFFER

Or:

✅ Bob OFFERS Rotten Tomato to Alice
❌ Alice REJECTS Bob's OFFER

----------------

But I'm not clear if this is right:

❓Alice ANNOUNCES OFFER of Labubu to Followers?

❓Bob OFFERS $10 for Labubu to Alice?

❓ Alice ACCEPTS Bob's OFFER of $10 for Labubu?

✅ Alice OFFERS Labubu to Bob

✅ Bob ACCEPTS Labubu

Jeff's avatar
Jeff

@box464@mastodon.social

I'm playing around with Offer activities in Fedify. The AP Vocab provides this, easy peasy.

✅ Alice OFFERS Book to Bob
✅ Bob ACCEPTS Alice's OFFER

Or:

✅ Bob OFFERS Rotten Tomato to Alice
❌ Alice REJECTS Bob's OFFER

----------------

But I'm not clear if this is right:

❓Alice ANNOUNCES OFFER of Labubu to Followers?

❓Bob OFFERS $10 for Labubu to Alice?

❓ Alice ACCEPTS Bob's OFFER of $10 for Labubu?

✅ Alice OFFERS Labubu to Bob

✅ Bob ACCEPTS Labubu

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

With discover.holos.social we may have highlighted that many Fediverse users don't pay attention to their default settings. We built a fully respectful search engine that only relies on , with instant deletion, updates, and indexing only consenting users. We will likely shut down the service, but the source code will remain available as we believe the approach is ethical. That same indexable setting already lets Google index your posts and keep them cached long after deletion.

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

I'm curious what other devs think about this. If an actor posts an C2S Create/Note to the outbox, what would you think if the object created by the server was a different type (e.g., Article)?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to 🫧 socialcoding..'s post

@steve @jerger @mariusor

As an aside: I just learned about Holos-Discover, an AP search engine was taken offline by @HolosSocial after discussions relating to consent. The key finding was in toot.fedilab.app/@apps/1160514

> This highlighted a real conversation the Fediverse needs about default settings.

Yeah. I would reformulate to say that this is about protocol capabilities vs. these weird things we call "apps".

Can't check the Holos-Discover info, as it was taken down, but it seems to me that relying on an "Indexable" setting is an app-specific thing. Hence it can't be part of a generic consent mechanism.

When it comes to "defaults", the fediverse as a whole has a problem in that Microblogging is seen as something foundational to , a given upon which all else is built. Protocol capabilities. But this is, should not be, the case.

Microblogging constitutes a domain, a set of user stories with well-define particular behavior. Or as app domains (Mastodon) + FEP practices.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

We heard you. has been shut down, all indexed data deleted, and the source code removed. We apologize for the misunderstanding. Our approach was built with the deepest respect for user consent, but we understand it could rightfully be seen as misusing the indexable flag that many users didn't consciously enable. This highlighted a real conversation the Fediverse needs about default settings. Thank you for the feedback.

Uckermark MacGyver :nonazi:'s avatar
Uckermark MacGyver :nonazi:

@maxheadroom@hub.uckermark.social

If you're journaling with WordPress, you might want to consider this plugin: repos.mxhdr.net/maxheadroom/fe

It lets you sent messages from the Fediverse to your WordPress Author profile and appends those to a weekly draft post. At the end of the week you can then choose to edit and publish.

Wrote this for my own /cc @falko

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Steve Bate's post

@steve @jerger @mariusor

Guess this is a general area where due to the lack of clear protocol layering there's much confusion in overall terminology usage.

The whole idea of an "app" is not part of itself. It is a leaked abstraction on what devs think they offer ("I build an app for my users").

There is no "generic" microblogging app, unless there exists an agreement for the specification of said app. PixelFed is a spec, PeerTube is another spec in different domain. A generic microblogging app would live where? As FEP? Collection of FEP's? W3C Note giving a 'specification profile'?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop

"Give me the of this discussion please.."

codeberg.org/fediverse/fediver

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

I'm curious what other devs think about this. If an actor posts an C2S Create/Note to the outbox, what would you think if the object created by the server was a different type (e.g., Article)?

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to jerger's post

@jerger @steve

I agree with this. The spec says:

> The server MUST then add this new Activity to the outbox collection. Depending on the type of Activity, servers may then be required to carry out further side effects. (However, there is no guarantee that time the Activity may appear in the outbox. The Activity might appear after a delay or disappear at any period). These are described per individual Activity below.

My expectation as a client is that I find the Activity I just sent in the outbox on the server with the same (Note) payload. If there's translation into Article, then this is a side-effect that comes after that.

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

I'm curious what other devs think about this. If an actor posts an C2S Create/Note to the outbox, what would you think if the object created by the server was a different type (e.g., Article)?

Jeff's avatar
Jeff

@box464@mastodon.social

Hubzilla Beginner's Workshop Today, Feb 11 (German)

Great to see these type of events popping up!.

f.termine.di.day/events/e037c6

Jeff's avatar
Jeff

@box464@mastodon.social

Hubzilla Beginner's Workshop Today, Feb 11 (German)

Great to see these type of events popping up!.

f.termine.di.day/events/e037c6

Internet Rando's avatar
Internet Rando

@mousey@seattlematrix.org · Reply to are0h's post

@are0h

I feel like people get mad at fedi like it's one place. It's not one place..

The diagrams on the left and right are "One Place". Either Centralized, or Decentralized-centralization.

Mastodon (sites like it, and in general) work like the *middle* graph..

A wide variety of whole communities could very well be the "three" planets in the lower left of the middle graph, unfederated from larger collectives.

is more than just moderation tools, it's community tools.

A cartoon of 3 graphs, depicting technical implementations of social networks

Graph 1, a planet with many lines leaving it, centralized, you're the leaf, the planet is the center, that's what connects everyone (think facebook, linkedin, discord, et al)

Graph 2, a federated graph (think Mastodon, GoToSocial, ActivityPub). Multiple planets, each representing a community, with lines between the planets which associate with each other. So a patchwork of planets with 0+n connects to any other. Not all planets connect to all planets. Some planets are depicted as only connected to each other, BUT THAT'S HEALTHY FEDERATION. Not everywhere needs to be connected to everywhere, that's the point of moderation, AND of federation.

Graph 3, A bunch of planets all connected to each other, everywhere. It's effectively decentralized-centralization. (think Bluesky), even if you create another planet, it just gets connected back to all other planets anyway. All focus is on the moderation tools, and no way to disconnect from bad planets anywhere in the network, nor a way to escape the one-of-these-planets-runs-the-whole-protocol-and-could-kick-your-planet-out-with-just-an-update.
ALT text detailsA cartoon of 3 graphs, depicting technical implementations of social networks Graph 1, a planet with many lines leaving it, centralized, you're the leaf, the planet is the center, that's what connects everyone (think facebook, linkedin, discord, et al) Graph 2, a federated graph (think Mastodon, GoToSocial, ActivityPub). Multiple planets, each representing a community, with lines between the planets which associate with each other. So a patchwork of planets with 0+n connects to any other. Not all planets connect to all planets. Some planets are depicted as only connected to each other, BUT THAT'S HEALTHY FEDERATION. Not everywhere needs to be connected to everywhere, that's the point of moderation, AND of federation. Graph 3, A bunch of planets all connected to each other, everywhere. It's effectively decentralized-centralization. (think Bluesky), even if you create another planet, it just gets connected back to all other planets anyway. All focus is on the moderation tools, and no way to disconnect from bad planets anywhere in the network, nor a way to escape the one-of-these-planets-runs-the-whole-protocol-and-could-kick-your-planet-out-with-just-an-update.
Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

With discover.holos.social we may have highlighted that many Fediverse users don't pay attention to their default settings. We built a fully respectful search engine that only relies on , with instant deletion, updates, and indexing only consenting users. We will likely shut down the service, but the source code will remain available as we believe the approach is ethical. That same indexable setting already lets Google index your posts and keep them cached long after deletion.

Web Intents's avatar
Web Intents

@webintents@mastodon.social

Our official website is now live!

webintents.net

Web Intents's avatar
Web Intents

@webintents@mastodon.social

Our official website is now live!

webintents.net

Larvitz :fedora: :redhat:'s avatar
Larvitz :fedora: :redhat:

@Larvitz@burningboard.net

New blog post: I added Fediverse-based comments to my Pelican blog.

No Disqus, no database, just the Mastodon API and a bit of JavaScript.

Replies to this post will show up as comments on the article.

Inspired by the blog of @jwildeboer - I ported it to Pelican's Jinja2 templates.

blog.hofstede.it/adding-fedive

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

With discover.holos.social we may have highlighted that many Fediverse users don't pay attention to their default settings. We built a fully respectful search engine that only relies on , with instant deletion, updates, and indexing only consenting users. We will likely shut down the service, but the source code will remain available as we believe the approach is ethical. That same indexable setting already lets Google index your posts and keep them cached long after deletion.

Fedilab Apps's avatar
Fedilab Apps

@apps@toot.fedilab.app

With discover.holos.social we may have highlighted that many Fediverse users don't pay attention to their default settings. We built a fully respectful search engine that only relies on , with instant deletion, updates, and indexing only consenting users. We will likely shut down the service, but the source code will remain available as we believe the approach is ethical. That same indexable setting already lets Google index your posts and keep them cached long after deletion.

info's avatar
info

@info@social.fedimtl.ca

🎤 Speaker Spotlight: Evan Prodromou @evan Co-author of the #ActivityPub protocol at @swf, Evan is a true pioneer of the #Fediverse. Sometimes called "The Father of the Fediverse," he made the first-ever post on the #SocialWeb in May 2008.
🎟️ In-person and streaming tickets: https://fedimtl.ca/

#FediMTL #DigitalSovereignty

info's avatar
info

@info@social.fedimtl.ca

🎤 Speaker Spotlight: Julian Lam @julian Co-Founder of @nodebb, an open-source community forum platform with built-in #ActivityPub support, connecting traditional forums to the #SocialWeb.
🎟️ In-person and streaming tickets: https://fedimtl.ca/

#FediMTL #Fediverse #DigitalSovereignty

Larvitz :fedora: :redhat:'s avatar
Larvitz :fedora: :redhat:

@Larvitz@burningboard.net

New blog post: I added Fediverse-based comments to my Pelican blog.

No Disqus, no database, just the Mastodon API and a bit of JavaScript.

Replies to this post will show up as comments on the article.

Inspired by the blog of @jwildeboer - I ported it to Pelican's Jinja2 templates.

blog.hofstede.it/adding-fedive

Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

let's bring (text) support to the

(this is not (mainly) about long texts on or (they can both fall back to show the summary), it is about supporting image posts with the object type: `Article`)

* github.com/VernissageApp/Verni
* github.com/pixelfed/pixelfed/p

codeberg.org/fediverse/fep/src

Sam Clemente's avatar
Sam Clemente

@countablenewt@mastodon.social

RE: mastodon.social/@countablenewt

Not every client for every service needs to show all content

Take , for example

Most of the content on isn't immediately visible in the UI

Posts without links don't show up at all, quote boosts don't show up at all, and any text content shared with the post is hidden in the post detail view

The fun thing about the is that we can make highly opinionated clients like this for the people who want it

For those that don't, they don't have to use it

Sam Clemente's avatar
Sam Clemente

@countablenewt@mastodon.social

FediReader hides post content by default, so you only get the links without the commentary, encouraging you to read the article before engaging

Tap the link to read the article and tap the post content to join in on the conversation

An image of the FediReader UI, showing an article card in action

The preview image features a close-up, serious-looking portrait of Tulsi Gabbard against a blue background, with The Guardian logo in the corner. The headline below reads, “NSA detected phone call between foreign intelligence and a person close…” followed by subtext referencing a whistleblower claim.
ALT text detailsAn image of the FediReader UI, showing an article card in action The preview image features a close-up, serious-looking portrait of Tulsi Gabbard against a blue background, with The Guardian logo in the corner. The headline below reads, “NSA detected phone call between foreign intelligence and a person close…” followed by subtext referencing a whistleblower claim.
Sam Clemente's avatar
Sam Clemente

@countablenewt@mastodon.social

RE: mastodon.social/@countablenewt

Not every client for every service needs to show all content

Take , for example

Most of the content on isn't immediately visible in the UI

Posts without links don't show up at all, quote boosts don't show up at all, and any text content shared with the post is hidden in the post detail view

The fun thing about the is that we can make highly opinionated clients like this for the people who want it

For those that don't, they don't have to use it

Sam Clemente's avatar
Sam Clemente

@countablenewt@mastodon.social

FediReader hides post content by default, so you only get the links without the commentary, encouraging you to read the article before engaging

Tap the link to read the article and tap the post content to join in on the conversation

An image of the FediReader UI, showing an article card in action

The preview image features a close-up, serious-looking portrait of Tulsi Gabbard against a blue background, with The Guardian logo in the corner. The headline below reads, “NSA detected phone call between foreign intelligence and a person close…” followed by subtext referencing a whistleblower claim.
ALT text detailsAn image of the FediReader UI, showing an article card in action The preview image features a close-up, serious-looking portrait of Tulsi Gabbard against a blue background, with The Guardian logo in the corner. The headline below reads, “NSA detected phone call between foreign intelligence and a person close…” followed by subtext referencing a whistleblower claim.
Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

let's bring (text) support to the

(this is not (mainly) about long texts on or (they can both fall back to show the summary), it is about supporting image posts with the object type: `Article`)

* github.com/VernissageApp/Verni
* github.com/pixelfed/pixelfed/p

codeberg.org/fediverse/fep/src

Matthias Pfefferle's avatar
Matthias Pfefferle

@pfefferle@mastodon.social

let's bring (text) support to the

(this is not (mainly) about long texts on or (they can both fall back to show the summary), it is about supporting image posts with the object type: `Article`)

* github.com/VernissageApp/Verni
* github.com/pixelfed/pixelfed/p

codeberg.org/fediverse/fep/src

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Lutin Discret's post

@lutindiscret

Indeed. There's a ton of fedi discussion taking place on Matrix.

Encourage people to check out this huge collection of / related matrix chatrooms gathered (I think) by @codelutin@mastodon.libre-entreprise.com in this space:

matrix.to/#/#activitypub-commu

(hollaback/cc)'s avatar
(hollaback/cc)

@d_run@mastodon.social

Has anyone figured out how to use ActivityPub to make something IRC or Discord shaped?

Lutin Discret's avatar
Lutin Discret

@lutindiscret@mastodon.libre-entreprise.com · Reply to Eugen Rochko's post

Reminder to anyone managing a project that matrix has been adopted as the chat solution by bookwyrm, write.as, friendica, plume, pleroma, fedilab, funkwhale, mitra, forgefed, mobilizon, phanpy, tokodon, moshidon, lemmy, gotosocial, bonfire, voyager, tusky, lemmy, loops, piefed, pixelfed, manyfold, owncast and others. You don't need to start from scratch if you leave discord : join us on matrix!

@Gargron

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

Your Home Feed is the inbox of an ActivityPub actor — in particular YOUR ActivityPub actor.

There could be an actor for each hash-tag, too.

You could even do Del.icio.us like things — and have actors for intersections of hash-tags, too.

These hash-tag actors' inboxes would need to be readable by anyone.

...

This could be a more ActivityPub like API alternative to Mastodon's "GET /API/v1/tags/{name}" API.

(hollaback/cc)'s avatar
(hollaback/cc)

@d_run@mastodon.social

Has anyone figured out how to use ActivityPub to make something IRC or Discord shaped?

Jonathan Rollans :ivory_logo:'s avatar
Jonathan Rollans :ivory_logo:

@jrollans@mastodon.social

I started using a service called Concert Archives (it is what it sounds like) and I really like it! It’s helped me remember live shows that I had forgotten I even went to and artists I didn’t even recall seeing until looking at the archive entries.

I wish it was federated with , something like that on the fediverse would be very cool.

Here’s my profile (still working on adding concerts, lots more to go…) concertarchives.org/jonathan-r

🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Jonathan Rollans :ivory_logo:'s post

@jrollans I don't know how close gets to what you seek, but it is an interesting application to check out, if you didn't know it already..

funkwhale.audio

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

TIL that Accept headers with a ":" cause surprising CORS behavior (the header is no longer "safelisted"). Beware of that when accepting the standard (via AS2) `application/ld+json; profile="w3.org/ns/activitystreams"` content type. You've been warned. 😉(Note that you might see the http URL above automatically hyperlinked in your Fedi client.)

0x17 :cch:'s avatar
0x17 :cch:

@0x17@corteximplant.com

I couldn't get pixelfed to work under . That's why I'm building pxvoid now. A simple, self-hosted web gallery with integration. No multi-user management, no filters, no stories, and a local upload script. Follows and likes from the are possible. It's an early alpha version, but the basics work in under 1800 LoC . Now all that's missing is the final design and code cleanup 🥳🎉

Screenshot of pxvoid. A federated webgallery.
ALT text detailsScreenshot of pxvoid. A federated webgallery.
Screenshot of pxvoid. A federated webgallery.
ALT text detailsScreenshot of pxvoid. A federated webgallery.
0x17 :cch:'s avatar
0x17 :cch:

@0x17@corteximplant.com

I couldn't get pixelfed to work under . That's why I'm building pxvoid now. A simple, self-hosted web gallery with integration. No multi-user management, no filters, no stories, and a local upload script. Follows and likes from the are possible. It's an early alpha version, but the basics work in under 1800 LoC . Now all that's missing is the final design and code cleanup 🥳🎉

Screenshot of pxvoid. A federated webgallery.
ALT text detailsScreenshot of pxvoid. A federated webgallery.
Screenshot of pxvoid. A federated webgallery.
ALT text detailsScreenshot of pxvoid. A federated webgallery.
🫧 socialcoding..'s avatar
🫧 socialcoding..

@smallcircles@social.coop · Reply to Nordnick 🐘's post

@nick @nikclayton @ntnsndr @strypey @pachli @bhaugen @lynnfoster @Quasit

> Are any of you familiar with and its dev team?

Not used, but it is on the delightful fediverse clients curated list..

delightful.coding.social/delig

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

TIL that Accept headers with a ":" cause surprising CORS behavior (the header is no longer "safelisted"). Beware of that when accepting the standard (via AS2) `application/ld+json; profile="w3.org/ns/activitystreams"` content type. You've been warned. 😉(Note that you might see the http URL above automatically hyperlinked in your Fedi client.)

Jonathan Rollans :ivory_logo:'s avatar
Jonathan Rollans :ivory_logo:

@jrollans@mastodon.social

I started using a service called Concert Archives (it is what it sounds like) and I really like it! It’s helped me remember live shows that I had forgotten I even went to and artists I didn’t even recall seeing until looking at the archive entries.

I wish it was federated with , something like that on the fediverse would be very cool.

Here’s my profile (still working on adding concerts, lots more to go…) concertarchives.org/jonathan-r

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

omi's avatar
omi

@omi_geek@mstdn.jp

が近い内にバージョンアップしてインスタンスの引越しの問題点が解決されるとか。 それまで引越しは控えた方が良さそうなのかな

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Bob Jonkman's avatar
Bob Jonkman

@bobjonkman@mastodon.sdf.org · Reply to Nextcloud 📱☁️💻's post

@nextcloud

> how you like to discover the updates

Other: Mailing lists. For new release announcements, for user-to-user support, for development discussions. With a mailing list I get the info in my own client software, configured my way, and don't have to log into a different system for each project.

With the right software the same info can be delivered by e-mail, in forums, as blog posts, RSS feeds, even as messages. No, I don't know any software that does it all.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

(hollaback/cc)'s avatar
(hollaback/cc)

@d_run@mastodon.social

Has anyone figured out how to use ActivityPub to make something IRC or Discord shaped?

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

Your Home Feed is the inbox of an ActivityPub actor — in particular YOUR ActivityPub actor.

There could be an actor for each hash-tag, too.

You could even do Del.icio.us like things — and have actors for intersections of hash-tags, too.

These hash-tag actors' inboxes would need to be readable by anyone.

...

This could be a more ActivityPub like API alternative to Mastodon's "GET /API/v1/tags/{name}" API.

Lutin Discret's avatar
Lutin Discret

@lutindiscret@mastodon.libre-entreprise.com · Reply to Eugen Rochko's post

Reminder to anyone managing a project that matrix has been adopted as the chat solution by bookwyrm, write.as, friendica, plume, pleroma, fedilab, funkwhale, mitra, forgefed, mobilizon, phanpy, tokodon, moshidon, lemmy, gotosocial, bonfire, voyager, tusky, lemmy, loops, piefed, pixelfed, manyfold, owncast and others. You don't need to start from scratch if you leave discord : join us on matrix!

@Gargron

info's avatar
info

@info@social.fedimtl.ca

🎤 Speaker Spotlight: Julian Lam @julian Co-Founder of @nodebb, an open-source community forum platform with built-in #ActivityPub support, connecting traditional forums to the #SocialWeb.
🎟️ In-person and streaming tickets: https://fedimtl.ca/

#FediMTL #Fediverse #DigitalSovereignty

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Todd Sundsted's avatar
Todd Sundsted

@toddsundsted@epiktistes.com

I managed to get 2/3rds of quote posts (FEP-044f) working in . The only part remaining is quote posting from the server and this depends on functionality to delay delivery until the quote request is accepted (or not). I need that for scheduled posts, so it's a delay but time well spent!

Wendy 🐺's avatar
Wendy 🐺

@serigala_tropis@lgbtqia.space · Reply to Wendy 🐺's post

@dansup @pixelfed also, please, for heaven's sake, Pixelfed needs a security feature to be able to revoke sessions.

Wendy 🐺's avatar
Wendy 🐺

@serigala_tropis@lgbtqia.space

@dansup Can I request a @pixelfed feature to be able to pin a post?

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Robert Lender's avatar
Robert Lender

@roblen@microblog.at · Reply to Hiker's post

@hiker @juergen Deswegen finde ich auch das Plugin für Wordpress so genial. Damit kann jedes Blog ein Teil des werden.

marius's avatar
marius

@mariusor@metalhead.club

Anyone in my followers list on a server that has secure fetch enabled? I want to use it to test my proxyUrl implementation for client to server . :D

marius's avatar
marius

@mariusor@metalhead.club

Anyone in my followers list on a server that has secure fetch enabled? I want to use it to test my proxyUrl implementation for client to server . :D

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

The Future Is Federated

...

And will be federated for the amazing work of the amazing people in the fediverse.

One of my fav photos from

Sweater by @_elena, photo by @sturmsucht

Two people with green sweaters
ALT text detailsTwo people with green sweaters
Almino :autism:'s avatar
Almino :autism:

@almino@ursal.zone

Hey @evan

Have you ever considered adding a replyTo field on ?

It would be an easy way to make all my accounts integrated.

I just posted a video on @loops and I wish I was notified on Mastodon about comments there.

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social

FEP drafting: Am I using “side effects” here the same way as other ActivityPub developers? I've seen the term used a bunch in casual conversation, but my personal understanding of it is kinda fuzzy.

The "side effects" of an activity are everything caused by the activity other than it being visible in its actor's outbox and getting posted to its audience's inboxes. For example, a like or reply being represented in the affected object's `likes` or `replies` collection is a side effect, as is likes or replies being shown on a web page corresponding to the object.
ALT text detailsThe "side effects" of an activity are everything caused by the activity other than it being visible in its actor's outbox and getting posted to its audience's inboxes. For example, a like or reply being represented in the affected object's `likes` or `replies` collection is a side effect, as is likes or replies being shown on a web page corresponding to the object.
洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Fedify: ActivityPub server framework's avatar
Fedify: ActivityPub server framework

@fedify@hollo.social

Fedify is an server framework in & . It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

The key features it provides currently are:

If you're curious, take a look at the website! There's comprehensive docs, a demo, a tutorial, example code, and more:

https://fedify.dev/

Jeff's avatar
Jeff

@box464@mastodon.social

FediMTL, on the fedi at @info is a new 1-day fediverse related conference in Montreal in just a few weeks on February 24 (is it Fedi-conference season or something?)

There's a streaming option, too! And the sessions look good. Check it out, and spread the word.

fedimtl.ca/#about

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social

FEP drafting: Am I using “side effects” here the same way as other ActivityPub developers? I've seen the term used a bunch in casual conversation, but my personal understanding of it is kinda fuzzy.

The "side effects" of an activity are everything caused by the activity other than it being visible in its actor's outbox and getting posted to its audience's inboxes. For example, a like or reply being represented in the affected object's `likes` or `replies` collection is a side effect, as is likes or replies being shown on a web page corresponding to the object.
ALT text detailsThe "side effects" of an activity are everything caused by the activity other than it being visible in its actor's outbox and getting posted to its audience's inboxes. For example, a like or reply being represented in the affected object's `likes` or `replies` collection is a side effect, as is likes or replies being shown on a web page corresponding to the object.
wakest likes your bugs ⁂'s avatar
wakest likes your bugs ⁂

@liaizon@social.wake.st

there is currently a Hackathon going on if anyone is interested in partaking. There are groups working on spanish, german, french and japanese translations, and a bunch of other things.

tarte.nuage-libre.fr/c/fediver

Sebastian Lasse's avatar
Sebastian Lasse

@sl007@digitalcourage.social · Reply to W3C Internationalization, i18n's post

@webi18n

Thank you !!! (!)

JS Intl is probably the most underestimated thing in the web :)

Try to ask devs. where in the browser you find the name in all the languages of all ISO stuff like countries, regions, languages currency.
Try to ask where all the timezones of the world are or how you give people internationalized lists, number expressions or relative time …

This is all developer.mozilla.org/en-US/do and in we just need to federate e.g. id: "DE" for Germany.
It is crazy nice for martinfowler.com/bliki/Datensp as well - our preview of the countries tsv incl. all stats like Pressfreedom Index is around 50kb …
Die AI, die.

Sebastian Lasse's avatar
Sebastian Lasse

@sl007@digitalcourage.social · Reply to W3C Internationalization, i18n's post

@webi18n

Thank you !!! (!)

JS Intl is probably the most underestimated thing in the web :)

Try to ask devs. where in the browser you find the name in all the languages of all ISO stuff like countries, regions, languages currency.
Try to ask where all the timezones of the world are or how you give people internationalized lists, number expressions or relative time …

This is all developer.mozilla.org/en-US/do and in we just need to federate e.g. id: "DE" for Germany.
It is crazy nice for martinfowler.com/bliki/Datensp as well - our preview of the countries tsv incl. all stats like Pressfreedom Index is around 50kb …
Die AI, die.

YGGverse

@yggverse@mastodon.social

Portable objects with server-independent IDs codeberg.org/fediverse/fep/src

Daniel Gultsch's avatar
Daniel Gultsch

@daniel@gultsch.social

RE: social.coop/@django/1160192443

Dear developers, please do more things cools with C2S.

Just note that "Direct Messaging apps" are way more complex than you might realize and that has solved most of the problems you might encounter.

Geffrey van der Bos's avatar
Geffrey van der Bos

@geffrey@id.geff.re

Fun! Wired up my GoToSocial bio to my Eleventy site at build time. Update my ActivityPub bio → site rebuilds → geff.re stays in sync automatically.

  • GoToSocial instance (id.geff.re) holds my canonical bio
  • Eleventy global data file (_data/bio.js) fetches bio from API.
  • Github Secret injected into the build env / ‘dotenv` for local dev

Static sites don't have to be static data. 😬

#ActivityPub #GoToSocial #Eleventy #IndieWeb

Doug Webb's avatar
Doug Webb

@douginamug@mastodon.xyz · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@hongminhee I'm reading this thread as a relative noob, but what I see again and again: almost no one "properly" implents largely because is hard but also because the spec itself is unclear. Most people who get stuff done have to go off-spec to actually ship.

This seems a fundamental weakness of the - and that disregarding the limitations coming from base architecture. Seems to pose a mid/long-term existential threat.

What can we do to help improve things?

Doug Webb's avatar
Doug Webb

@douginamug@mastodon.xyz · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@hongminhee I'm reading this thread as a relative noob, but what I see again and again: almost no one "properly" implents largely because is hard but also because the spec itself is unclear. Most people who get stuff done have to go off-spec to actually ship.

This seems a fundamental weakness of the - and that disregarding the limitations coming from base architecture. Seems to pose a mid/long-term existential threat.

What can we do to help improve things?

Doug Webb's avatar
Doug Webb

@douginamug@mastodon.xyz · Reply to 洪 民憙 (Hong Minhee) :nonbinary:'s post

@hongminhee I'm reading this thread as a relative noob, but what I see again and again: almost no one "properly" implents largely because is hard but also because the spec itself is unclear. Most people who get stuff done have to go off-spec to actually ship.

This seems a fundamental weakness of the - and that disregarding the limitations coming from base architecture. Seems to pose a mid/long-term existential threat.

What can we do to help improve things?

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Juergen M. Bruckner's avatar
Juergen M. Bruckner

@juergen@bruckner.email · Reply to Robert Lender's post

@roblen
Also man sollte den "neuen" Diensten und etwas mehr Aufmerksamkeit schenken. Ansonsten wäre vielleicht dem Team hinter mit regelmäßigen Zuwendungen geholfen.

UND, ich finde man sollte kleinen Serverbetreibern mehr finanzielle Unterstützung für ihre zukommen lassen.

Große Instanzen sind gut und schön, aber widersprechen eigentlich dem Grundgedanken des Fediverse, und sind in meinen Augen auch ein Risiko.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Geffrey van der Bos's avatar
Geffrey van der Bos

@geffrey@id.geff.re

Fun! Wired up my GoToSocial bio to my Eleventy site at build time. Update my ActivityPub bio → site rebuilds → geff.re stays in sync automatically.

  • GoToSocial instance (id.geff.re) holds my canonical bio
  • Eleventy global data file (_data/bio.js) fetches bio from API.
  • Github Secret injected into the build env / ‘dotenv` for local dev

Static sites don't have to be static data. 😬

#ActivityPub #GoToSocial #Eleventy #IndieWeb

Hamish Campbell's avatar
Hamish Campbell

@info@hamishcampbell.com

https://nlnet.nl/fediversity Project Title Open Media Network (OMN): Portable Digital Commons for a Federated Europe Summary The Open Media Network (#OMN) is a real grassroots initiative to build sustainable, human-centred digital infrastructure aligned with the principles of the #openweb and the #4opens. To providing easy-to-use, hosted cloud services with service portability and freedom at their core - OMN focuses on creating living social ecosystems alongside technical […]

https://nlnet.nl/fediversity

Project Title

Open Media Network (OMN): Portable Digital Commons for a Federated Europe

Summary

The Open Media Network (#OMN) is a real grassroots initiative to build sustainable, human-centred digital infrastructure aligned with the principles of the #openweb and the #4opens. To providing easy-to-use, hosted cloud services with service portability and freedom at their core – OMN focuses on creating living social ecosystems alongside technical infrastructure.

At a time when the European Union is investing in alternatives to dominant platform monopolies (#dotcons), The OMN addresses a critical gap: ensuring that open infrastructure remains socially grounded, decentralised in governance, and accessible to grassroots communities, not only institutional actors.

This project proposes to develop practical tools, governance models, and community infrastructure to support a resilient federated ecosystem built on open standards such as #ActivityPub.

Problem Statement

The digital public sphere is currently dominated by large corporate platforms that centralise power, restrict portability, and commodify user participation.

The EU’s growing investment in digital sovereignty and open infrastructure presents a historic opportunity. However, there is a structural risk of replacing Californian platform capitalism with European platform capitalism; building technical infrastructure without sustainable social ecosystems; funding professionalised, institutional actors while excluding needed grassroots innovation.

Healthy digital ecosystems require tension and balance between institutional stability and grassroots experimentation. Without this, “commons infrastructure” risks becoming technocratic infrastructure lacking community participation – leading to failure, abandonment, and wasted investment.

Project Vision

The Open Media Network aims to develop a federated, portable digital ecosystem where: individuals and communities retain control over their data and identity; services are interoperable and portable across providers; governance is participatory and transparent; grassroots actors can build and sustain independent infrastructure.

The goal is not only technological decentralisation but social decentralisation, ensuring that federation is lived practice rather than technical abstraction.

Objectives

  1. Portable Hosted Services. Develop and deploy easy-to-use hosted services based on open standards that prioritise: service portability between providers; user-controlled data ownership; interoperability via ActivityPub and related protocols.
  2. Grassroots Governance Models. Design and test governance frameworks rooted in #4opens principles, with open data where appropriate; open process and decision-making; open standards and open participation. These models will be documented as reusable frameworks for wider adoption.
  3. Experimental Commons Infrastructure. Create an experimental environment where: grassroots communities can launch federated services; low-resource groups can participate without heavy technical barriers; experimentation is encouraged alongside stability.
  4. Historical Memory and Knowledge Transfer. One of the recurring failures of digital movements is loss of institutional memory. OMN integrates documentation and archiving into the infrastructure itself, ensuring lessons learned are preserved and accessible.

Key Activities

  • Develop and maintain ActivityPub-compatible hosted services.
  • Build onboarding pathways for non-technical users and grassroots organisations.
  • Establish pilot communities using OMN infrastructure (e.g. activist media, local networks, cooperative publishing).
  • Produce documentation and toolkits for governance and sustainability.
  • Engage with EU initiatives (e.g., NGI Commons) to bridge grassroots and institutional approaches.

Innovation

Unlike many decentralisation projects that focus primarily on technical architecture, OMN emphasises social infrastructure as core technology; governance experimentation alongside code; low-barrier participation for grassroots actors. This creates a resilient ecosystem where innovation emerges from diverse communities rather than centralised development teams.

Expected Impact

Increased adoption of federated technologies across grassroots communities to reduced dependency on proprietary platforms. Strengthened European digital commons aligned with democratic values by development of replicable governance models for decentralised ecosystems. Long-term sustainability through community ownership rather than platform lock-in.

Alignment with EU Priorities

This project supports digital sovereignty and European autonomy, open standards and interoperability, sustainable digital commons, privacy and data portability and innovation through diversity and experimentation.

Sustainability Strategy

OMN operates on a low-cost, distributed model, prioritising: community stewardship; cooperative hosting paths; modular infrastructure that can be replicated and adapted. Rather than scaling toward centralisation, sustainability emerges through federation and shared maintenance.

Consortium and Community

OMN builds upon decades of grassroots media and openweb experience, including work on Indymedia and federated social networks. The project actively collaborates with FOSS communities, federated platform developers, grassroots media networks and independent infrastructure providers.

Funding Request

We seek funding to support: development and seed infrastructure hosting, coordination and community facilitation, documentation and knowledge sharing leading to governance experimentation and research.

Closing Statement

Europe has a unique opportunity to build digital commons that avoid the failures of platform capitalism. The Open Media Network provides a grassroots pathway that complements institutional initiatives, ensuring that the future European internet remains participatory, portable, and human-centred.

Projects

https://hamishcampbell.com/?s=OMN++functions we need to add a README to the project page https://unite.openworlds.info/Open-Media-Network/Open-Media-Network

https://unite.openworlds.info/Open-Media-Network/MakingHistory

https://unite.openworlds.info/indymedia/indymedia-reboot

https://unite.openworlds.info/Open-Media-Network/4opens

https://unite.openworlds.info/Open-Media-Network/openwebgovernancebody

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Steve Bate's avatar
Steve Bate

@steve@social.technoetic.com

I just migrated my BlueSky-hosted account to a self-hosted PDS. I'm contemplating using as a personal bridge between the atproto account and my fedi identity and migrating my Fedi content to the PDS (and then shutting down my self-hosted Mastodon). Has anybody tried this and, if so, would you like to share your experience?

github.com/msonnb/fedisky

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Web Intents's avatar
Web Intents

@webintents@mastodon.social

Our official website is now live!

webintents.net

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

洪 民憙 (Hong Minhee) :nonbinary:'s avatar
洪 民憙 (Hong Minhee) :nonbinary:

@hongminhee@hollo.social

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

Web Intents's avatar
Web Intents

@webintents@mastodon.social

Our official website is now live!

webintents.net

marius's avatar
marius

@mariusor@metalhead.club

I started adding support for services and it looks like it's easier than I imagined it initially.

On the server side, implementing the proxyURL handler doesn't need any new additions as it shares 90% code with other handlers that return objects.

On the client side, I'm creating a new http.RoundTripper that can use the proxyURL transparently for the caller.

As a developer in your client code you only do a regular request for a remote URL, and the round-tripper handles the proxying part transparently if it has all the available bits: a server that supports proxyURL and a valid OAuth2 session towards that server.

Web Intents's avatar
Web Intents

@webintents@mastodon.social

Our official website is now live!

webintents.net

Web Intents's avatar
Web Intents

@webintents@mastodon.social

Our official website is now live!

webintents.net

everton137's avatar
everton137

@everton137@vivaldi.net

If decentralization is the future of social media, where millions or even billions of people share knowledge, then we can learn a lot from how the Open Knowledge Foundation (@okfn) and the Wikimedia Foundation (@wikimediafoundation) built cross-border, international movements with clear missions.

These two organizations are just two examples, but they demonstrate an important point: decentralization worked because communities were intentionally nurtured, not just because the technology was open.

The Fediverse, powered by the ActivityPub protocol, already has the technical capacity to thrive (UI tweaks aside).

What we still lack is the decentralization of communities, including shared ownership, coordination, and a mission that extends beyond individual instances.

Cc @eloquence @bjoernsta @_elena

Daniel Gultsch's avatar
Daniel Gultsch

@daniel@gultsch.social

RE: social.coop/@django/1160192443

Dear developers, please do more things cools with C2S.

Just note that "Direct Messaging apps" are way more complex than you might realize and that has solved most of the problems you might encounter.

dansup's avatar
dansup

@dansup@mastodon.social

Loops now supports FEP-3b86: Activity Intents ✨

If you have a Loops.video account, try it out:

loops.video/intents/follow?obj

cc @benpate @silverpill

Jeff's avatar
Jeff

@box464@mastodon.social

FediMTL, on the fedi at @info is a new 1-day fediverse related conference in Montreal in just a few weeks on February 24 (is it Fedi-conference season or something?)

There's a streaming option, too! And the sessions look good. Check it out, and spread the word.

fedimtl.ca/#about

django's avatar
django

@django@social.coop

My fosdem talk is up!

I make a case for more platforms to support the ActivityPub client API, and how we should look beyond microblogging for future growth of the ‘verse

fosdem.org/2026/schedule/event

django's avatar
django

@django@social.coop

My fosdem talk is up!

I make a case for more platforms to support the ActivityPub client API, and how we should look beyond microblogging for future growth of the ‘verse

fosdem.org/2026/schedule/event

dansup's avatar
dansup

@dansup@mastodon.social

Loops is working on comment controls (beyond just disabling comments) that will be compatible with Pixelfed and other projects who implement it!

YGGverse

@yggverse@mastodon.social

Portable objects with server-independent IDs codeberg.org/fediverse/fep/src

everton137's avatar
everton137

@everton137@vivaldi.net

Will Mastodon, the platform that keeps the alive, miss a strategic opportunity to bring official institutions on board at scale?

By watching how is being marketed compared to , it certainly seems that way.

I wish the folks at Mastodon would invest in more professional marketing, similar to what we're seeing from its rival, Bluesky.

There was a major meeting in the EU Parliament focused on this topic, yet there was no announcement or microblog post from Mastodon. Zero engagement.

Compare these two approaches:

fed.brid.gy/r/https://bsky.app

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

We are entering a new step in the development of and we need more people to test.
We have reopened subscriptions through the app: holos.social/signup

We wrote a page explaining how we implemented DMs over : holos.social/e2ee

Don't hesitate to contribute and share your feedback with us. Thank you.

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-06

Servers

- Gush v0.0.29
- PieFed v1.6.0
- Bookwyrm v0.8.4
- Mastodon v4.5.6
- Mitra v4.17.0
- Stegodon v1.7.0
- Hollo v0.7.1
- Wafrn v2026.02.01
- ActivityPub for WordPress v7.9.0
- Castopod v1.14.1
- Ktistec v3.2.9
- Wanderer v0.18.4
- Forgejo monthly report - January 2026
- Fedisky: ActivityPub extension for Bluesky PDS

Clients

- Tusky v32.0
- Fedilab v3.36.0
- Mangane 1.19.3
- Aria v1.4.2
- Phanpy changelog
- Coho: A fast, offline-first Mastodon client

Tools and Plugins

- Fedimap: An independent map for the Fediverse

Articles

- The best Mastodon client now has an iOS version!
- PkgFed: ActivityPub for Package Releases
- Statistics for Lemmy Instances and Communities

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c10b9-e3f7-b6da-ef96-350864d2f791

dansup's avatar
dansup

@dansup@mastodon.social

Loops is working on comment controls (beyond just disabling comments) that will be compatible with Pixelfed and other projects who implement it!

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-06

Servers

- Gush v0.0.29
- PieFed v1.6.0
- Bookwyrm v0.8.4
- Mastodon v4.5.6
- Mitra v4.17.0
- Stegodon v1.7.0
- Hollo v0.7.1
- Wafrn v2026.02.01
- ActivityPub for WordPress v7.9.0
- Castopod v1.14.1
- Ktistec v3.2.9
- Wanderer v0.18.4
- Forgejo monthly report - January 2026
- Fedisky: ActivityPub extension for Bluesky PDS

Clients

- Tusky v32.0
- Fedilab v3.36.0
- Mangane 1.19.3
- Aria v1.4.2
- Phanpy changelog
- Coho: A fast, offline-first Mastodon client

Tools and Plugins

- Fedimap: An independent map for the Fediverse

Articles

- The best Mastodon client now has an iOS version!
- PkgFed: ActivityPub for Package Releases
- Statistics for Lemmy Instances and Communities

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c10b9-e3f7-b6da-ef96-350864d2f791

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-06

Servers

- Gush v0.0.29
- PieFed v1.6.0
- Bookwyrm v0.8.4
- Mastodon v4.5.6
- Mitra v4.17.0
- Stegodon v1.7.0
- Hollo v0.7.1
- Wafrn v2026.02.01
- ActivityPub for WordPress v7.9.0
- Castopod v1.14.1
- Ktistec v3.2.9
- Wanderer v0.18.4
- Forgejo monthly report - January 2026
- Fedisky: ActivityPub extension for Bluesky PDS

Clients

- Tusky v32.0
- Fedilab v3.36.0
- Mangane 1.19.3
- Aria v1.4.2
- Phanpy changelog
- Coho: A fast, offline-first Mastodon client

Tools and Plugins

- Fedimap: An independent map for the Fediverse

Articles

- The best Mastodon client now has an iOS version!
- PkgFed: ActivityPub for Package Releases
- Statistics for Lemmy Instances and Communities

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c10b9-e3f7-b6da-ef96-350864d2f791

Week in Fediverse :fediverse_light:'s avatar
Week in Fediverse :fediverse_light:

@weekinfediverse@mitra.social

Week in Fediverse 2026-02-06

Servers

- Gush v0.0.29
- PieFed v1.6.0
- Bookwyrm v0.8.4
- Mastodon v4.5.6
- Mitra v4.17.0
- Stegodon v1.7.0
- Hollo v0.7.1
- Wafrn v2026.02.01
- ActivityPub for WordPress v7.9.0
- Castopod v1.14.1
- Ktistec v3.2.9
- Wanderer v0.18.4
- Forgejo monthly report - January 2026
- Fedisky: ActivityPub extension for Bluesky PDS

Clients

- Tusky v32.0
- Fedilab v3.36.0
- Mangane 1.19.3
- Aria v1.4.2
- Phanpy changelog
- Coho: A fast, offline-first Mastodon client

Tools and Plugins

- Fedimap: An independent map for the Fediverse

Articles

- The best Mastodon client now has an iOS version!
- PkgFed: ActivityPub for Package Releases
- Statistics for Lemmy Instances and Communities

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019c10b9-e3f7-b6da-ef96-350864d2f791

Jeff's avatar
Jeff

@box464@mastodon.social

This weekend, the PieFed community is hosting a Hackathon.

Head over to the Issues list and lend a helping hand where you can!

Python, CSS, Translations, all kinds of things. I've submitted a few issues recently and found the code easy to comprehend.

tarte.nuage-libre.fr/c/fediver

codeberg.org/rimu/pyfedi/issue

codeberg.org/rimu/pyfedi#for-d

Jeff's avatar
Jeff

@box464@mastodon.social

FediMTL, on the fedi at @info is a new 1-day fediverse related conference in Montreal in just a few weeks on February 24 (is it Fedi-conference season or something?)

There's a streaming option, too! And the sessions look good. Check it out, and spread the word.

fedimtl.ca/#about

Maho 🦝🍻's avatar
Maho 🦝🍻

@mapache@hachyderm.io

It’s out!
The video of my FOSDEM 2026 talk on decentralised badges + ActivityPub (BadgeFed) is now online 👀

Check it out here:

video.fosdem.org/2026/h2215/JE

Part of the Social Web track:
fosdem.org/2026/schedule/track

Jeff's avatar
Jeff

@box464@mastodon.social

FediMTL, on the fedi at @info is a new 1-day fediverse related conference in Montreal in just a few weeks on February 24 (is it Fedi-conference season or something?)

There's a streaming option, too! And the sessions look good. Check it out, and spread the word.

fedimtl.ca/#about

Jeff's avatar
Jeff

@box464@mastodon.social

FediMTL, on the fedi at @info is a new 1-day fediverse related conference in Montreal in just a few weeks on February 24 (is it Fedi-conference season or something?)

There's a streaming option, too! And the sessions look good. Check it out, and spread the word.

fedimtl.ca/#about

info's avatar
info

@info@social.fedimtl.ca

🌍 FediMTL sessions will be available both in person and online — whether you’re in #Montreal or anywhere else in the world, you can join us.
🎟️ Tickets: https://fedimtl.ca/

#FediMTL #Fediverse #DigitalSovereignty #SocialWeb #ActivityPub

Holos Social's avatar
Holos Social

@HolosSocial@mastodon.social

We are entering a new step in the development of and we need more people to test.
We have reopened subscriptions through the app: holos.social/signup

We wrote a page explaining how we implemented DMs over : holos.social/e2ee

Don't hesitate to contribute and share your feedback with us. Thank you.

dansup's avatar
dansup

@dansup@mastodon.social

Loops is working on comment controls (beyond just disabling comments) that will be compatible with Pixelfed and other projects who implement it!

Strypey's avatar
Strypey

@strypey@mastodon.nzoss.nz · Reply to Strypey's post

(2/3)

My hope is that the chartering of a formal W3C Working Group to update ActivityPub will motivate devs to participate more in standards work. The promise of making concrete changes to the protocol specs might make it feel like less of a Boulder of Sisyphus. Plus, the prospect of working in a formally facilitated process, with fewer rubberneckers (like me), might mitigate any anxiety about discussions getting unpleasant.

Jeff's avatar
Jeff

@box464@mastodon.social

FediMTL, on the fedi at @info is a new 1-day fediverse related conference in Montreal in just a few weeks on February 24 (is it Fedi-conference season or something?)

There's a streaming option, too! And the sessions look good. Check it out, and spread the word.

fedimtl.ca/#about

Ricardo Ferrer Rivero🇪🇺's avatar
Ricardo Ferrer Rivero🇪🇺

@ricferrer@mastodon.social · Reply to Rimu's post

@rimu@mastodon.nzoss.nz @julian @rimu@piefed.social @evan it’s a clever workaround, but what I would like to have is a possibility of reference content from the from any app or browser without the need to them needing to exploit support it. Also it should work independently of the client app that I am using. Just like ftp: open the right app and goes to the content.

Jeff's avatar
Jeff

@box464@mastodon.social

Having some silly fun with @stegodon a new fediverse platform with an SSH TUI interface. The first screenshot is the web profile, the second is the TUI interface.

This is the first command line UI for ActivityPub client I've seen that has an actual backend server platform tied to it.

The web profile for my Stegodon user, Captain Caveman. It looks very terminal-esque.
ALT text detailsThe web profile for my Stegodon user, Captain Caveman. It looks very terminal-esque.
The SSH UI showing the Home timeline.
ALT text detailsThe SSH UI showing the Home timeline.
Jeff's avatar
Jeff

@box464@mastodon.social

Having some silly fun with @stegodon a new fediverse platform with an SSH TUI interface. The first screenshot is the web profile, the second is the TUI interface.

This is the first command line UI for ActivityPub client I've seen that has an actual backend server platform tied to it.

The web profile for my Stegodon user, Captain Caveman. It looks very terminal-esque.
ALT text detailsThe web profile for my Stegodon user, Captain Caveman. It looks very terminal-esque.
The SSH UI showing the Home timeline.
ALT text detailsThe SSH UI showing the Home timeline.
Jeff's avatar
Jeff

@box464@mastodon.social

Having some silly fun with @stegodon a new fediverse platform with an SSH TUI interface. The first screenshot is the web profile, the second is the TUI interface.

This is the first command line UI for ActivityPub client I've seen that has an actual backend server platform tied to it.

The web profile for my Stegodon user, Captain Caveman. It looks very terminal-esque.
ALT text detailsThe web profile for my Stegodon user, Captain Caveman. It looks very terminal-esque.
The SSH UI showing the Home timeline.
ALT text detailsThe SSH UI showing the Home timeline.
Jeff's avatar
Jeff

@box464@mastodon.social

Having some silly fun with @stegodon a new fediverse platform with an SSH TUI interface. The first screenshot is the web profile, the second is the TUI interface.

This is the first command line UI for ActivityPub client I've seen that has an actual backend server platform tied to it.

The web profile for my Stegodon user, Captain Caveman. It looks very terminal-esque.
ALT text detailsThe web profile for my Stegodon user, Captain Caveman. It looks very terminal-esque.
The SSH UI showing the Home timeline.
ALT text detailsThe SSH UI showing the Home timeline.
Strypey's avatar
Strypey

@strypey@mastodon.nzoss.nz · Reply to Ben Pate 🤘🏻's post

@benpate
> there's just so much to learn when getting ActivityPub up and running

A while back I came across 'A highly opinionated guide to learning about ActivityPub' by @darius;

tinysubversions.com/notes/read

TL; DR

"... start your journey into ActivityPub by first reading the Activity Vocabulary spec."

Although I have done some very basic programming over the years, I'm not an active developer, nor am I experienced with reading protocol specs. But this made *a lot* of sense to me.

django's avatar
django

@django@social.coop

My fosdem talk is up!

I make a case for more platforms to support the ActivityPub client API, and how we should look beyond microblogging for future growth of the ‘verse

fosdem.org/2026/schedule/event

django's avatar
django

@django@social.coop

My fosdem talk is up!

I make a case for more platforms to support the ActivityPub client API, and how we should look beyond microblogging for future growth of the ‘verse

fosdem.org/2026/schedule/event

django's avatar
django

@django@social.coop

My fosdem talk is up!

I make a case for more platforms to support the ActivityPub client API, and how we should look beyond microblogging for future growth of the ‘verse

fosdem.org/2026/schedule/event

Ricardo Ferrer Rivero🇪🇺's avatar
Ricardo Ferrer Rivero🇪🇺

@ricferrer@mastodon.social

It’s really surprising to me that the hasn’t agreed on a standardized way to open cross-instance objects and instead relies on links that open in the browser.

I found this proposal and what’s thinking… codeberg.org/fediverse/fep/src Which one would be your favorite?

(If anyone has updates on the progress, feel free to point me in the right direction)

OptionVoters
web+ap:1 (100%)
ap:0 (0%)
activitypub:0 (0%)
fedi:0 (0%)
Rad Web Hosting's avatar
Rad Web Hosting

@radwebhosting@mastodon.social

How to Install on (5 Minute Quick-Start Guide)

This article provides a guide demonstrating how to install Pleroma on Ubuntu VPS.
What is Pleroma?
Pleroma is a free, open-source, self-hostable microblogging server that speaks the federation protocol—so your users can interact with people on other platforms (e.g., Mastodon) while you keep full control over your server ...
Continued 👉 blog.radwebhosting.com/how-to-

django's avatar
django

@django@social.coop

My fosdem talk is up!

I make a case for more platforms to support the ActivityPub client API, and how we should look beyond microblogging for future growth of the ‘verse

fosdem.org/2026/schedule/event

Marcus "MajorLinux" Summers's avatar
Marcus "MajorLinux" Summers

@majorlinux@toot.m