If you’re new to ActivityPub, the overview is a gentle introduction: https://www.w3.org/TR/activitypub/#Overview
I believe the majority of the credit goes to Christopher Lemmer Webber, whom you can follow on Mastodon: https://octodon.social/@cwebber – He’s been working hard on ActivityPub for ~3 years.
Edit: Ah, apparently you are him, @paroneayea. Congratulations!
Are there any lightweight ActivityPub implementations that aren’t Mastodon/GNU Social/et al? Every time I try to read the standard, it feels very heavy. I hope it’s not like WebRTC :(
Bridgy Fed is an ActivityPub implementation that translates between Webmention and ActivityPub :)
There’s an implementation report that includes lots of tools: https://activitypub.rocks/implementation-report/
So, please forgive my ignorance but reading all the negative responses here - isn’t the fact that we now have a protocol standard for distributed social media an all around good thing?
The lack of standards has never been an issue – the lack of deployments, independent implementations, momentum and actual interoperability has always been an issue.
I remember implementing OStatus back in 2012 or so at Flattr, only to find that no client actually implemented the spec well enough to be interoperable with us and that people rather than spending time on trying to fix that instead wanted to convert all standards from XML to JSON, where some like Pubsubhubbub/WebSub took longer to be convert than others, leaving the entire emergent ecosystem in limbo. And later ActivityStreams converted yet again, from JSON to JSON-LD, but then I had moved on to the IndieWeb.
I find the IndieWeb:s approach to document patterns, find common solutions, standardize such common solutions as small focused, composable standards, and reusing existing web technology as far as possible much more appealing.
One highlight with that is that one can compose such services in a way where ones main site is even a static site (mine is a Jekyll site for example) but still use interactive components like WebMentions and Micropub.
Another highlight is that one as a developer can focus ones time on building a really good service for one of those standards and use the rest of them from the community. That way I have for example provided a hosted WebMention endpoint for users during the last 4 years without me having to keep updated with every other apec outside of that space, and the same I’m doing now with a Micropub endpoint.
Composability and building on existing web technologies also somewhat motivates the entire “lets convert from XML to JSON” trend – HTML is HTML and will stay HTML, so we can focus on building stuff, gaining momentum and critical mass and not just convert our implementations from one standard to the next while fragmenting the entire ecosystem in the process. That also means that standards can evolve progressively and that one can approach decentralized social networks as being a layer that progressively enhances ones blog/personal site one service at a time. Maybe first WebMention receiving? Then sending? Then perhaps some Micropub, WebSub or some Microformats markup? Your choice, it all doesn’t have to happen in a day, it can happen over a year, and that’s just okay. Fits well into an open source scene that wants to promote plurality of participants as well as implementations while also wanting to promote a good work/life balance.
Unfortunately every time an ActivityPub thread makes it to a news aggregator like this, it always seems like there are some negative comments in the feed from some folks from the indieweb community. It kind of bums me out… part of the goal of the Social Working Group was to try to bridge the historical divide between linked data communities and the indieweb community. While I think we had some success at that within the Social Working Group, clearly divisions remain outside it. Bummer. :(
Sorry for the negativity – it would help if posts like these presented the larger context so that people doesn’t interpret it as if “ActivityPub has won” which as you say isn’t at all the case, but which this thread here has shown that it can certainly be interpreted as and which the title of this submission also actually implies.
This gets even more important with the huge popularity of Mastodon as that’s a name many has heard and which they might think is the entirety of the work in that working group, which isn’t the case and is something that everyone has a responsibility in adequately portraying.
So sorry for the negativity, but it’s great that we both feel that it’s important to portray the entirety of the work of that group!
Ugh. ActivityPub makes me sad – we have so many good, deployed solutions to 80%+ of the social networking stuff, and ActivityPub just ignores all prior art (including prior art by its creators) and does everything from scratch.
Why in your opinion did ActivityPub “make it” while others have failed?
Disclosure: I contributed to Rstat.us for a while.
How do you mean “make it”? You mean mastodon? Because mastodon got popular before it had implemented any ActivityPub, so that’s unrelated :)
OStatus and IndieWeb tech are still the most widely-deployed non-mastodon (and are partially supported by mastodon as well)
Bah, I apologize for not being clear. By “make it”, I mean, why has ActivityPub been promoted as a standard instead of OStatus or IndieWeb or another attempt at a protocol for the same space?
OStatus mostly described a best practice for using other standards in a way that created a decentralized social network – so it never really needed standardization on its own. That + that the people behind it moved towards a next generation standards instead, eg. identi.ca moving to pump.io
IndieWeb though is getting standardized by the very same group as has published this recommendation and eg. WebMention and Micropub has been recommendations longer than this one even.
Atom, PubSuHubBub (now WebSub), and Webmention are all standards with various bodies
Seeing some silly things they did with regard to best practices I can’t really say I feel bad about this. Things like using GETs instead of POSTs (if memory serves correctly) because of legacy stupid decisions.
Yeah, Webmention was a W3C Recommendation for quite a while now even. I still don’t like how W3C standardized two ways of doing roughly the same thing…
I think AP is an okay standard (although it, again, underspecifies a lot), but it doesn’t make anything possible that wasn’t already possible with OStatus, or some very simple extensions to it.
In what way did you think that ActivityPub did not learn from OStatus?
so many good, deployed solutions to 80%+ of the social networking stuff
so many good, deployed solutions to 80%+ of the social networking stuff
friendica, hubzilla, gnu social, pleroma
Pleroma either currently supports or is very close to fully supporting AP, and was a pretty important goal from the outset.
I know, I wrote it :)
I think I follow you then :) Thanks for writing Pleroma <3
Let’s bring some context:
This is a recommendation of the Social Web Working Group, a group that’s behind many specifications like this: https://www.w3.org/Social/WG#Specifications
There are standards from both the IndieWeb side (WebMention, Micropub, WebSub) and the ActivityStreams side.
The standards may overlap each other but it should be possible for sites and services to support both.
Great news! Very well done. I kind-of jumped from gnusocial because I don’t see ActivityPub on the horizon, mastodon et al seem to be the way forward.
Mastodon has been using ActivityPub since version 1.6. It’s the preferred protocol now. OStaus is kept for backwards compatibility. https://github.com/tootsuite/mastodon/releases/tag/v1.6.0
@paroneayea this is a great achievement! Congrats!
I’m not much a “socials” guy (I tried mastodon recently, and identi.ca a few years ago… but somehow the message/rumor ratio is always too low), but I’m curious about the federation technologies.
Where I can find something about the kind of problems these tools are trying to solve?
I mean, compared with email, mailing lists, web of trust and so on…
I can’t find anything from this perspective, but not being a “socials” user, this could help me to understand the architecture.