My position on ATProto, as a protocol, is that the Good Part is the PDS¹.
-
@cwebber also the thing I see the PDS as providing at root is "a standard API for requesting data objects by key". a blog isn't that, you can address it by key (URL) but it returns formatted HTML not a data representation. RSS isn't that either, RSS is a linear recency-biased stream, and anyway we don't want RSS we want ActivityPub. You could expose the PDS xrpcs from Wordpress with a plugin the same way you can add ActivityPub to WordPress with a plugin.
-
@cwebber also the thing I see the PDS as providing at root is "a standard API for requesting data objects by key". a blog isn't that, you can address it by key (URL) but it returns formatted HTML not a data representation. RSS isn't that either, RSS is a linear recency-biased stream, and anyway we don't want RSS we want ActivityPub. You could expose the PDS xrpcs from Wordpress with a plugin the same way you can add ActivityPub to WordPress with a plugin.
@mcc That's a reasonable one, to have a content-addressing retrieval endpoint!
-
@cwebber also the thing I see the PDS as providing at root is "a standard API for requesting data objects by key". a blog isn't that, you can address it by key (URL) but it returns formatted HTML not a data representation. RSS isn't that either, RSS is a linear recency-biased stream, and anyway we don't want RSS we want ActivityPub. You could expose the PDS xrpcs from Wordpress with a plugin the same way you can add ActivityPub to WordPress with a plugin.
@cwebber But also, WordPress is a horrible, security-vulnerability-infested nightmare to maintain, and the BlueSky PDS is easy and resource-cheap to maintain, so I'd rather have (and eventually, will write) PDS with a wordpress-like frontend than WordPress with a PDS-like frontend
-
@cwebber But also, WordPress is a horrible, security-vulnerability-infested nightmare to maintain, and the BlueSky PDS is easy and resource-cheap to maintain, so I'd rather have (and eventually, will write) PDS with a wordpress-like frontend than WordPress with a PDS-like frontend
@mcc yeah but that's not really a compelling argument for the *protocol*
-
@mcc @cwebber arguably the concept of storing data is not new, no -- although you do get some benefits from the merkle tree stuff
imo the real value is in lexicons as a way to coordinate conventions. a lot of this boils down to "reverse dns namespace" but there is a very well-known problem in e.g. solid where everyone can interface with the storage pods (~pds) but no one knows how to agree on where things should be stored. example: do you store birthdays in your contact book or your calendar?
-
undefined Christine Lemmer-Webber ha condiviso questa discussione
-
@mcc @cwebber arguably the concept of storing data is not new, no -- although you do get some benefits from the merkle tree stuff
imo the real value is in lexicons as a way to coordinate conventions. a lot of this boils down to "reverse dns namespace" but there is a very well-known problem in e.g. solid where everyone can interface with the storage pods (~pds) but no one knows how to agree on where things should be stored. example: do you store birthdays in your contact book or your calendar?
@trwnh @cwebber however also
- i think some previous systems, like protobuf, did this already, and
- at the same time they introduce the concept of the "lexicon" they poison it, by using the "schema" to absolutely, positively, in any bluesky-derived system, ban microblog posts with more than 300 characters. so the lexicon is good but you don't want to use it or you are limited to 300 charactersEDIT: typed the wrong word. the first time.
-
@trwnh @cwebber however also
- i think some previous systems, like protobuf, did this already, and
- at the same time they introduce the concept of the "lexicon" they poison it, by using the "schema" to absolutely, positively, in any bluesky-derived system, ban microblog posts with more than 300 characters. so the lexicon is good but you don't want to use it or you are limited to 300 charactersEDIT: typed the wrong word. the first time.
-
However we do have to think about network effects, so if we made a hybrid solution that uses a PDS to store data and ActivityPub to share the updates, I'm pretty sure we would be able to talk to neither ActivityPub nor ATProto¹. And a social network that has only you on it is pointless.
¹ Also at this point we'd probably have to actually face the fact that did:plc is a lie
@mcc the web has 5 billion users and i'm the only one on my website. we really ought to be looking at how to establish identity, auth, etc cross-site on the web instead of tying it all up into platforms...
-
@mcc the web has 5 billion users and i'm the only one on my website. we really ought to be looking at how to establish identity, auth, etc cross-site on the web instead of tying it all up into platforms...
@trwnh Yeah. Hence the power of DID. Except that we've sorta poisoned DID now by introducing a half-solution, did:plc, which is fundamentally unacceptable but which is better to do better than from an end-user perspective.
The thing that upsets me about bluesky is it's not a very good solution but it is situated in the market in a way that makes it socially difficult to introduce better solutions.
-
@trwnh Yeah. Hence the power of DID. Except that we've sorta poisoned DID now by introducing a half-solution, did:plc, which is fundamentally unacceptable but which is better to do better than from an end-user perspective.
The thing that upsets me about bluesky is it's not a very good solution but it is situated in the market in a way that makes it socially difficult to introduce better solutions.
@mcc one thing that bothered me about that "open social" article that was going around earlier is that it dismisses personal websites as somehow not supporting aggregation, which is ridiculous because there are multiple ways to aggregate data from websites
i really think you could do a lot of this stuff on websites with existing tech, you just need to be able to negotiate identity and access control. like imagine just using HTTP (WWW-Authenticate header, *fully* define an auth scheme...) for it
-
@mcc the web has 5 billion users and i'm the only one on my website. we really ought to be looking at how to establish identity, auth, etc cross-site on the web instead of tying it all up into platforms...
@trwnh @mcc This is one of the big goals of the IndieWeb initiative, and something I've been trying really hard to support for years now.
IndieAuth is a pretty good identity/auth spec. TicketAuth is at least in principle a good way of providing automation for feed readers (although nobody supports it as a consumer, and only a handful support it as a publisher). The lack of adoption outside of IndieWeb is frustrating to see.
-
@trwnh @mcc This is one of the big goals of the IndieWeb initiative, and something I've been trying really hard to support for years now.
IndieAuth is a pretty good identity/auth spec. TicketAuth is at least in principle a good way of providing automation for feed readers (although nobody supports it as a consumer, and only a handful support it as a publisher). The lack of adoption outside of IndieWeb is frustrating to see.
-
@fluffy @mcc i know i talked about how you could handle identity at the level of the http request (advertise an auth-scheme in your www-authenticate header, provide a valid authorization header using that auth-scheme)
but you could also just establish a local session on a site by proving you control some other id, which gets linked to the local id. it's exactly the indieauth idea, "me on github == me on site.example == me on your site" (if you use local accounts, it's basically a credential)
-
@fluffy @mcc i know i talked about how you could handle identity at the level of the http request (advertise an auth-scheme in your www-authenticate header, provide a valid authorization header using that auth-scheme)
but you could also just establish a local session on a site by proving you control some other id, which gets linked to the local id. it's exactly the indieauth idea, "me on github == me on site.example == me on your site" (if you use local accounts, it's basically a credential)
@trwnh @mcc Yeah that's more or less what IndieWeb calls RelMeAuth, although actually implementing that can lead to a lot more complexity because you have to then be able to verify the stated relationship, which usually means having to manage a bunch of OAuth client credentials.
Mastodon uses the weaker form of RelMeAuth (i.e. seeing that there's reciprocal rel="me" links between URLs) for the profile verification but that doesn't help with request-level security.
-
@trwnh @mcc Yeah that's more or less what IndieWeb calls RelMeAuth, although actually implementing that can lead to a lot more complexity because you have to then be able to verify the stated relationship, which usually means having to manage a bunch of OAuth client credentials.
Mastodon uses the weaker form of RelMeAuth (i.e. seeing that there's reciprocal rel="me" links between URLs) for the profile verification but that doesn't help with request-level security.
-
-