When I first started working with #ActivityPub, before #Fedify existed, it felt like writing web apps in Perl and CGI in the late '90s.
-
When I first started working with #ActivityPub, before #Fedify 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-urlencodedquery 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#actorproperty comes in as a string instead of an array? What about whenhttps://www.w3.org/ns/activitystreams#objectis 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.
#fedidev #fediverse
-
? Guest crossposted this topic to General Discussion
-
@hongminhee@hollo.social I think you're completely right, and this is coming from somebody who went deep into the weeds of ActivityPub when building out his own implementation.
Generic C2S servers offload the server side aspects to a trusted third party.
Generic S2S frameworks (like fedify!) give you even more control.
We need both! We need fewer idiots like me who decided to implement the entire protocol from the ground up

Do it @hongminhee@hollo.social! DEPRECATE ALL MY HARD WORK ALREADY!!!
-
With Fedify & Claude code it took me just 1 few hours to develop a indiekit plugin to exist on the Fediverse with @rick@rmendes.net I spent more time on creating the AP reader to consume data from the Fediverse than anything else that's for sure! Thanks for your absolutely amazing foundational work with Fedify!
-
@hongminhee Better developer tooling is the only correct answer to rising complexity. Getting 200 different servers to smoothly interoperate is impossible, but we can do that with 10 libraries.
-
@julian@activitypub.space Haha, most ActivityPub implementers have their own frameworks, they just haven't separated them out! It would be really great if there were full-featured ActivityPub frameworks for each of the major programming languages.
-
@hongminhee Better developer tooling is the only correct answer to rising complexity. Getting 200 different servers to smoothly interoperate is impossible, but we can do that with 10 libraries.
@silverpill@mitra.social That's right. I think client-side abstraction will be necessary when ActivityPub C2S interactions become more widespread, too.
-
With Fedify & Claude code it took me just 1 few hours to develop a indiekit plugin to exist on the Fediverse with @rick@rmendes.net I spent more time on creating the AP reader to consume data from the Fediverse than anything else that's for sure! Thanks for your absolutely amazing foundational work with Fedify!
@rick@rmendes.net Great work, Ricardo! And thank you for using Fedify!
-
@hongminhee Is there no official reference SDK for AP?
-
@hongminhee Is there no official reference SDK for AP?
@quaff @hongminhee nope, theres not an official anything...
-
@quaff @hongminhee nope, theres not an official anything...
@liaizon @hongminhee speaks to the nature of truly open protocols. but would be cool if there was one that devs could rally behind because it's got the best coverage of the spec.
-
@liaizon @hongminhee speaks to the nature of truly open protocols. but would be cool if there was one that devs could rally behind because it's got the best coverage of the spec.
@quaff @hongminhee thats the main issue, "the spec" doesn't have the coverage to have an implementation to cover it all. there are a ton of things that are under defined in it or that you need to point to some other spec that points to some other spec etc. thats sorta at the heart of this whole meta conversation thats been taking place recently
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login