As far as I understand, most (all?) fediverse #ActivityPub software does not use the Client-to-server protocol from the specs (https://www.w3.org/TR/activitypub/#client-to-server-interactions) but rather use custom APIs instead.
-
@strypey @skyfaller @hugh @bob
I did not mention a #SocialHub thread. There are multiple discussions where various aspects were discussed, that might still be useful. The search facility is best way to find them.
As for AndStatus the github issue lists their step-by-step progress in investigating what was needed, and what the challenges were. One of them was unavailibility of appropriate server back-ends to test against, mentioned *at the time* as challenge.
Would
️ more #ActivityPub C2S dev.
@smallcircles
> I did not mention a #SocialHub threadTrue. My mistake : )
> Would
️ more #ActivityPub C2S dev
Am I right in thinking SocialCG have been looking at improving standardisation on that front?
-
@smallcircles
> I did not mention a #SocialHub threadTrue. My mistake : )
> Would
️ more #ActivityPub C2S dev
Am I right in thinking SocialCG have been looking at improving standardisation on that front?
@strypey @skyfaller @hugh @bob
> SocialCG
Certainly. And SocialHub with the FEP process. And countless other parties where people give their utmost to improve things. Very valiant efforts.
However there are 2 realities on fedi. One the near stalled (for 6 years!) open standards evolution. And the other where people implement new stuff that introduces protocol decay and tech debt. This increases 'whack-a-mole driven development' that's counter to and detrimental for broad interoperability.
-
@strypey @smallcircles @skyfaller @hugh @bob https://rdf-pub.org is providing c2s. I started Testung with #andstatus but there where open questions regarding oauth if i remember right.
@naturzukunft
> rdf-pub.org is providing c2sAwesome, so that's at least 3 server packages to test clients against. Pleroma, Epicyon, and rdf-pub.org.
-
@hugh According to one dev for GoToSocial:
"Implementing the C2S API is, I'm afraid, really out of the question, as it's totally underdefined, relies on the client to do almost everything, and would be an absolute nightmare project for us. That's a non-starter."
[feature] Dedicated GoToSocial client
gotosocial - Fast, fun, small ActivityPub server.
Codeberg.org (codeberg.org)
@skyfaller @hugh relying on the client IS the point. It gives people sovereignty over their Fedi presence, and leaves the processing and other server things for the server.
-
@naturzukunft
> rdf-pub.org is providing c2sAwesome, so that's at least 3 server packages to test clients against. Pleroma, Epicyon, and rdf-pub.org.
@strypey@mastodon.nzoss.nz @naturzukunft @smallcircles @skyfaller @hugh @bob There are other servers that implement C2S support (ActivityPods, Vocata, onepage.pub, ...). Lack of servers implementing C2S is not the problem. See the many other issues described in this thread for examples of why one can't built an *interoperable* AP C2S client with features a typical user would expect.
-
@hugh @strypey @skyfaller @bob
There's renewed interest in C2S and it makes sense wrt current tech trends (local-first, p2p). Can be very useful if you kept a log of your adventures and observations to stimulate others. Would be great to have fresh discussions on SocialHub (where various categories are also federated via the Discourse AP plugin).
@smallcircles@social.coop said in As far as I understand, most (all?) fediverse #ActivityPub software does not use the Client-to-server protocol from the specs (https://www.w3.org/TR/activitypub/#client-to-server-interactions) but rather use custom APIs instead.:
> Would be great to have fresh discussions on SocialHub (where various categories are also federated via the Discourse AP plugin).Why? This discussion is already on fedi, so posting it to SocialHub to get it on fedi is just a roundabout way to do the same thing...
-
@naturzukunft
> rdf-pub.org is providing c2sAwesome, so that's at least 3 server packages to test clients against. Pleroma, Epicyon, and rdf-pub.org.
@strypey@mastodon.nzoss.nz fwiw I'm thinking that C2S might be applicable in an S2S-like setting where a user "logs in" to instance B using instance A's credentials, and B can do limited actions as the user on A. Essentially A would act as the server, B is the "client".
-
As far as I understand, most (all?) fediverse #ActivityPub software does not use the Client-to-server protocol from the specs (https://www.w3.org/TR/activitypub/#client-to-server-interactions) but rather use custom APIs instead.
Any fediverse devs able to explain why? Is there a technical reason/limitation, or is it more about other considerations?
I'm looking for information here rather than speculation, thanks.
@hugh Mastodon already had an API when they adopted the ActivityPub protocol, and they did not want to use the ActivityPub API.
I think they made the mistake of thinking that a standard API had to replace their app-specific API, rather than being complimentary.
This is too bad; ActivityPub was designed to make clients innovative and interesting, and let servers concentrate on performance and reliability.
I think as we get more ActivityPub API clients, servers will start supporting the API.
-
@hugh Mastodon already had an API when they adopted the ActivityPub protocol, and they did not want to use the ActivityPub API.
I think they made the mistake of thinking that a standard API had to replace their app-specific API, rather than being complimentary.
This is too bad; ActivityPub was designed to make clients innovative and interesting, and let servers concentrate on performance and reliability.
I think as we get more ActivityPub API clients, servers will start supporting the API.
@hugh I should also say that my book for O'Reilly Media has really good coverage of the ActivityPub API.
-
As far as I understand, most (all?) fediverse #ActivityPub software does not use the Client-to-server protocol from the specs (https://www.w3.org/TR/activitypub/#client-to-server-interactions) but rather use custom APIs instead.
Any fediverse devs able to explain why? Is there a technical reason/limitation, or is it more about other considerations?
I'm looking for information here rather than speculation, thanks.
@hugh@ausglam.space it's because clients can't make any assumptions about ActivityPub data using the C2S model. They have to perform full client side parsing and linking, then figure out some way to display this graph structure of data they've been given. The fact of the matter is that ActivityPubs design is overly broad, and no client could account for this. So, instances implement an API offering a simple, watered down format, plus the benefit of having stability even if the software moves to another federation protocol down the line.
There's also the matter that almost all ActivityPub implementations do not store posts in their database as JSON-LD, instead they unmarshal the data from it and store it in a concise format. Reconstructing it for the purposes of C2S would be inefficient and clunky. -
@julian imho..
Pros and cons of decentralization + current state of fedi as a microblogging dominant thing.
We're on a fragmentiverse,where community waters down, what you send today is lost in history tomorrow. There is no search, no archive.
We are on a good path but the kind of organization we need to mature social web open standards and enabling technologies is not well supported on fedi.
Barrier to sign up to a single forum removed, easier access, but dispersal of the community efforts.
-
@julian imho..
Pros and cons of decentralization + current state of fedi as a microblogging dominant thing.
We're on a fragmentiverse,where community waters down, what you send today is lost in history tomorrow. There is no search, no archive.
We are on a good path but the kind of organization we need to mature social web open standards and enabling technologies is not well supported on fedi.
Barrier to sign up to a single forum removed, easier access, but dispersal of the community efforts.
To get things on a forum archive in the right place, I'd have to mention that place in my mastodon toot. And then the next place too, unless they happen to be cross-federated with the other one.
One thing we discussed in the path was Unbound Groups brought in a FEP by Diogo of GNU Social, whereby the groups aren't bound to a single server instance where they are defined as an actor. This might help give the same community belonging that is more stimulating for collaborative actions.
-
To get things on a forum archive in the right place, I'd have to mention that place in my mastodon toot. And then the next place too, unless they happen to be cross-federated with the other one.
One thing we discussed in the path was Unbound Groups brought in a FEP by Diogo of GNU Social, whereby the groups aren't bound to a single server instance where they are defined as an actor. This might help give the same community belonging that is more stimulating for collaborative actions.
And a deeper discussion is that there really is no "the fedi", or they shouldn't be that notion for our future of social networking. Unless you want to refer to some broad category. I see 'fediverse' the same as internet and web, category names.
What do we want to DO on this fedi of ours? What needs do we have wrt communications online?
Microblogging certainly nice, I am doing it right now. But is shouldn't be the only hammer and everything nails. Enfin, you know the discussion
-
And a deeper discussion is that there really is no "the fedi", or they shouldn't be that notion for our future of social networking. Unless you want to refer to some broad category. I see 'fediverse' the same as internet and web, category names.
What do we want to DO on this fedi of ours? What needs do we have wrt communications online?
Microblogging certainly nice, I am doing it right now. But is shouldn't be the only hammer and everything nails. Enfin, you know the discussion
@smallcircles @julian It's ok for people to have conversations they want in the places they already are.
-
@smallcircles @julian It's ok for people to have conversations they want in the places they already are.
@evan @smallcircles @julian This. And it is our task as developers to make all those places safe by default. When we fail to protect our users, we are to blame.
-
@smallcircles @julian It's ok for people to have conversations they want in the places they already are.
-
@evan @smallcircles @julian This. And it is our task as developers to make all those places safe by default. When we fail to protect our users, we are to blame.
Write software for online spaces where people can be safe!
Though I have a slight issue with 'users', and feel that with that terminology you already lose the first round, esp. in social networking.
small circle 🕊 in calmness (@smallcircles@social.coop)
To all the devs who still use "users" as common terminology. They are not your users. They are not junkies where you can just push your warez down their throat. People are checking your software out, for a whole host of different reasons. To see if your solution serves their needs. They are rich individuals with countless human traits, interests and dreams. By using the term you detach yourself emotionally. Don't other them as users. It has an alienating effect, in a time where we need to unite.
social.coop (social.coop)
"The farmer protects the hens against the fox by building a fence around them". A single word puts so much distance between people.
-
Write software for online spaces where people can be safe!
Though I have a slight issue with 'users', and feel that with that terminology you already lose the first round, esp. in social networking.
small circle 🕊 in calmness (@smallcircles@social.coop)
To all the devs who still use "users" as common terminology. They are not your users. They are not junkies where you can just push your warez down their throat. People are checking your software out, for a whole host of different reasons. To see if your solution serves their needs. They are rich individuals with countless human traits, interests and dreams. By using the term you detach yourself emotionally. Don't other them as users. It has an alienating effect, in a time where we need to unite.
social.coop (social.coop)
"The farmer protects the hens against the fox by building a fence around them". A single word puts so much distance between people.
@smallcircles @evan @julian Feel free to find a better term to define the people that use the technology we developers give them. Doesn't change the fact the we developers are responsible for our code, not those that use it.
-
@smallcircles @evan @julian Feel free to find a better term to define the people that use the technology we developers give them. Doesn't change the fact the we developers are responsible for our code, not those that use it.
Yes, we must be responsible, create safe spaces, etc. Yet how we talk with or about other people matters a lot. There's endless debate around developer privilege, sometimes fair, sometimes not. But there is a lot of 'we know what is best for the user' explicit/implicit outcome.
If we are so diverse, why not walk that adventure together, discuss needs beyond the tech circle?
An analogy is development aid, where the West knows best what help to give.. they think.
-
Yes, we must be responsible, create safe spaces, etc. Yet how we talk with or about other people matters a lot. There's endless debate around developer privilege, sometimes fair, sometimes not. But there is a lot of 'we know what is best for the user' explicit/implicit outcome.
If we are so diverse, why not walk that adventure together, discuss needs beyond the tech circle?
An analogy is development aid, where the West knows best what help to give.. they think.
@smallcircles @evan @julian I honestly don't care that much about philosophical abstractions and discussions. "My code must protect the rights and privacy of the people that use my code. Always. Provable." is my mantra