Here's an activitypub client to server interaction that's under specified.
-
Here's an activitypub client to server interaction that's under specified.
I want to sort the people I follow into good friends and best friends. Okay, there's Add Remove vocab for that. I Add Alice to best friends with my client, and then later my client can fetch that collection, and get... Alice. Where are Alice's posts? How does the client get my best friends' posts?
And collections are untyped. I might have another collection, read later, which is for posts. What would it mean to add Alice here? When I click add to collection, how does the client know whether to show me collections of people or collection of posts?
This is a basic feature in every monolithic client/server.
-
Here's an activitypub client to server interaction that's under specified.
I want to sort the people I follow into good friends and best friends. Okay, there's Add Remove vocab for that. I Add Alice to best friends with my client, and then later my client can fetch that collection, and get... Alice. Where are Alice's posts? How does the client get my best friends' posts?
And collections are untyped. I might have another collection, read later, which is for posts. What would it mean to add Alice here? When I click add to collection, how does the client know whether to show me collections of people or collection of posts?
This is a basic feature in every monolithic client/server.
> How does the client get my best friends' posts?
how does a monolith get best friends' posts? it queries. vaguely something like "select * from posts where attributedTo in best_friends". the activitypub server (and linked data web in general) is your database equivalent. you would either fetch and cache data from each outbox, or you would ideally have a query endpoint with something like sparql.
> collections are untyped
this is where a schema or validation rules would be appropriate
-
> How does the client get my best friends' posts?
how does a monolith get best friends' posts? it queries. vaguely something like "select * from posts where attributedTo in best_friends". the activitypub server (and linked data web in general) is your database equivalent. you would either fetch and cache data from each outbox, or you would ideally have a query endpoint with something like sparql.
> collections are untyped
this is where a schema or validation rules would be appropriate
@trwnh yeah, but the question is how do you do this, but you can only tell me by quoting the AP C2S spec?
If the answer is 95% of the logic lives in a fat client, I think it's not surprising the remaining 5% of "server" logic gets copied into the same codebase.
-
@trwnh yeah, but the question is how do you do this, but you can only tell me by quoting the AP C2S spec?
If the answer is 95% of the logic lives in a fat client, I think it's not surprising the remaining 5% of "server" logic gets copied into the same codebase.
@tedu i don't think that the AP C2S spec should be the end-all-be-all; it should be one of a suite of specs that you use. the "point" of AP is (was?) that you don't have to reimplement the delivery bits over and over, and you can use multiple clients with the same actor. just like you can use both thunderbird and claws-mail with the same email account. just like how movim lets you do pubsub against xmpp pep nodes. the cost of that 5% being copied over and over is needing 20 accounts for 20 apps.