This is an interesting (pronounced like "frustrating") thread.
-
@jenniferplusplus @julian If we'd remove Mastodon from the picture would the problem go away?
If we had 100% compliant ActivityPub app, whatever that means, would it work with another 100% compliant one? Say podcasting app, badge app, events app and blogging app...
The problem seems to be the undefined or open to interpretation protocol...
Overriding AS object to do something else because your app won't use it doesn't help either...
-
Noah Kennedyreplied to Jenniferplusplus on last edited by
@jenniferplusplus my hot take: AP is another example of how the W3C really isn't super useful as a standards body and tends to be actually counterproductive
having been involved with IETF standards processes before, there's such a big difference between a standards effort led by actual stakeholders which requires a diverse set of implementations to be accepted and what happens at the W3C with AP, JSON-LD, and RDF.
this is just laughably bad standards work
-
@[email protected] @[email protected] that's exactly it.
I'm not going to go as far as using ivory tower imagery, but sometimes I've seen discussion occur around issues so abstract and theoretical that there is practically no way for me to implement it without having to throw everything away and start from scratch.
The real world is far messier, and the fact that we're able to talk to each other at all over ActivityPub is frankly a miracle... but that's actually par for the course if you look at practically any other protocol.
Email? Good god yes. DNS? Yup.
-
@hidden @julian
No. Mastodon is the worst offender, but the problem is that ActivityPub doesn't produce interoperability. There's no such thing as being AP compliant. That's not even a concept that makes sense. So we'd be right back here in a year or two, complaining about whatever other app ascended to popularity. -
One observation I've had previously is that:
W3C creates standards to solve problems that may or may not exist in reality. They charter groups to come together and solve problems in a way that aligns with their other standards, trying to get a consensus solution to a hypothetical (or niche) problems using consensus solutions to other hypothetical problems.
You can see this in the history of RDF, then in the history of JSON-LD, then in the history of AP.
-
@hrefna @jenniferplusplus that is an incredibly good way of putting it
-
Michael T. Bacon, Ph.D.replied to Jenniferplusplus on last edited by
Ooft, yeah. I've been doing a bunch with RDF and JSON-LD recently in non-AP contexts, and there's a huge amount of power there but HOLY PEAS it is NOT an interoperability standard, nor could it ever be one, I think. They are ontological data format and linking standards that REQUIRE a strong defining model for interop.
I'm a fossil from the old days of the IMAP and friends IETF standards. AP is so freakin' wobbly compared to those.
-
Sometimes they hit on a core concern or problem, but then they keep asking "but what if" until people ignore 90% of the spec (XML I'm looking at you) and/or it gets applied to other specs that then get ignored (how many XML specs are there?). Many times the spec seems so abstract as to be unimplementable in a useful form (DIDs! you're up!)
But there's now a spec!
β¦that no one uses or can use. But it exists!
Specs for the sake of having specs.
-
@jenniferplusplus @julian discovered firsthand when working on my toy AP poster that Mastodon won't even do the "right" thing with an "image" object - instead of converting this to an embedded image in a post, it just shows it as a plain link! have to use their Attachments thing to a note activity to get that to work
-
Heh, that's basically the thing I've been working on that I keep getting discouraged/overly frustrated by.
-
Hrefna (DHC)replied to Michael T. Bacon on last edited by
Yeah, that is one of the core points that BlueSky discussed in "why not AP":
Because if you want interoperability the RDF-isms just. don't. work. To the degree they do work, it is extremely expensive to validate and work with.
It's a model for describing things, not a model to be _understood_ about the things you are describing. That requires separate, out-of-band communication.
-
silverpillreplied to Jenniferplusplus on last edited by [email protected]
@jenniferplusplus I think when it comes to objects, duck typing is a good solution. Look at properties instead of types
-
@silverpill @julian it's not a strong argument for activitypub if it can't be effectively implemented in languages with compile time type checking
-
@jenniferplusplus @julian My project is written in Rust and for me duck typing AP objects is not a problem. I don't have experience with other languages, but there shouldn't be any problems with them either
-
@silverpill @julian @jenniferplusplus
Yes, it's quite easy to parse JSON in rust at compile time. There's even a package to generate a struct from a JSON schema. -
Jenniferplusplusreplied to Sir Alecks Gates on last edited by
@agates @julian @silverpill there's no schema to any of this
-
Sir Alecks Gatesreplied to Jenniferplusplus on last edited by
-
small circle π in calmnessreplied to Hrefna (DHC) on last edited byThis post is deleted!
-
small circle π in calmnessreplied to Jenniferplusplus on last edited byThis post is deleted!
-
@jenniferplusplus I also think #ActivityPub spec seems to be designed in early 2000s where users were supposed to just trust the servers. The only way I can truly own my identity is by running my own AP server on my own domain. Content is also referred to by its URLs, not by its content-hash which makes sure that I remain dependent on other servers/intermediaries.
#Bluesky at least recognizes some of these issues.