Open bnvk opened 10 years ago
This would be awesome, but also want to mention that Bridgy might be overkill for something like Diaspora or status.net or pump.io that is federation-friendly. Like I think a Diaspora plugin on a locally running pod that sends/receives webmentions might be easier to implement and wouldn't have to resort to polling
@kylewm good points. Of course that requires either someone from IndieWeb community to go learn their stack and do so, or people in those communities becoming interested in Webmention. Additionally, getting each node to install the plugin / update that supports webmention would also slow things down.
But your idea very well might be a better approach- i'm not too opinionated on this as I haven't looked at implementing any of those protocols!
cc @phyks, who's expressed interest.
https://wiki.diasporafoundation.org/Federation_protocol_overview#ActivityStream_of_public_posts says you can get posts (and other data) as ActivityStreams, and that the reference implementation includes an API. yay.
@snarfed
Ok, I got some updates about Diaspora I think. First of all, there is a public feed per user, to publish its public posts. Mine is accessible at https://pod.phyks.me/public/phyks.atom. But this does not seem to be of great interest for the discussion here…
Next is this page that you already linked. It says:
An ActivityStream of public posts.
An API that allows third-party applications to use your pod’s data on behalf of your users, using OAuth authentication (the OAuth protocol).
The ActivityStream of public post is the previous ATOM feed which does not include the necessary informations. However, I cannot find any information about the API. It is also mentionned at the end of this old wiki page but there is not much information.
Better, there is a feed associated with each posts. This means that for a post (say this one), there is an associated feed which includes likes_count
and reshares_count
. However, I do not know exactly how they are handled as on the previous example, I have a like, but it does not appear in likes
. I fear that likes
are internal to the pod only.
Finally, I found https://bitbucket.org/faldrian/diaspora-reshare-visualization/src which is the code behind http://jenseitsderfenster.de/diasporavisual/. If you enter a post (say https://pod.phyks.me/posts/3834), it gives you the number of likes, comments and reshares associated to this post, but not the actual information about them =(
EDIT: And it is said that Diaspora SHOULD implement PuSH, but I cannot find any infos about it and my pod simply does not offer PuSH AFAIK.
EDIT2: From #diaspora on IRC:
21:28:53 Phyks | hmm, on this page of the wiki (https://wiki.diasporafoundation.org/Federation_protocol_overview), it is said that “An API that allows third-party applications to use
| your pod’s data on behalf of your users, using OAuth authentication (the OAuth protocol).”
21:29:01 Phyks | is there any extra doc somewhere on this point ?
21:29:17 RDash | Phyks, you mean connecting services to your diaspora*
21:29:40 jhass | Phyks: no because that section should be removed since that part was reverted entirely
21:29:43 Phyks | yep, ideally I'd like to have PuSH to services for likes / comments
21:29:51 Phyks | but diaspora does not seem to implement it =(
21:30:28 RDash | Phyks, feel free to submit a PR or discuss it on loomio :)
EDIT3: Ok, so basically the only information I am able to have from their IRC channel is "look at https://github.com/Raven24/diaspora-federation/" everything is there ><
thanks for the research @Phyks!
btw, pubsub definitely isn't a requirement for bridgy, whether PuSH or anything else. we currently poll the four silos we do support, so I'd be fine with polling diaspora sources too.
showing only reply/like/reshare counts, and not the actual contents, is how the ActivityStreams schema works, so i'm not too surprised about that. it definitely seems like there should be some way to get the actual contents though. maybe at another URL endpoint?
for example, Google+'s API is built on ActivityStreams, and they have separate API calls to get replies, +1s, and reshares: https://developers.google.com/+/api/latest/comments/list https://developers.google.com/+/api/latest/people/listByActivity
@snarfed Yep, I know that PuSH is not mandatory, but that would have been really nice :)
Actually, I have some doubts about Diaspora at the moment… I mean, it is an opensource project, but it seems to be even more closed than Facebook !
I idled around on their IRC channel, read the doc and all of this, in order to find more infos. But most of the doc is actually either out of date, purely descriptive, or talking about objectives in the far future (things like the OStatus API or so).
At the moment, I only see two ways:
But I cannot find any further doc about the provided ActivityStreams and about a particular other URL endpoint to fetch actual likes, replies and reshares.
So far, the only info I managed to get from them is ”read the f*cking source / doc” and “here is the Ruby gem to handle federation, use it and that's all”. So I am quite disappointed by the community support at the moment, and feels like they are not interested at all to help us get backfeed =(
that does sound disappointing. :(
I wonder if part of it is just that the project hasn't been very active for a while, since iirc the founders/leaders left a while back. that could explain everything being out of date and people not helping much.
Yep, it is in some sort…
I really feel like the community is not interested at all in this possibility, and does not give a damn to crossposting to silos. Because Bridgy support could also give Diaspora the ability to handle crossposting to Facebook…
However, there are regularly commits to Diaspora repo, but mainly for backend stuff and nothing really huge and new, at least for the last six months.
At the moment, I feel like it will be heavily time consuming to manage to get a clean Diaspora support in Bridgy, and am not really convinced it is something really interesting, for any of the projects involved. At least, unless someone from Diaspora is willing to give some better infos…
Actually, I feel like Bridgy users have many expectations and this one may not be top priority, especially as I am not sure it concerns a bunch of people (but I may be underestimating).
I was interested in Thingiverse backfeed as well, which offers a fully-featured API. I will focus on this first, to get first contact with Bridgy, I think :)
Phyks, I support Activity Streams 1.0 / Atom + PuSH on http://tantek.com/ with full discovery (basically the previous attempt at Federated Social Web standards) but don't know of any ability for Diaspora to consume this. For reference, Status.net did support this, and I was able to federate from my site to Status.net sites.
If you can find / demonstrate working (or interesting in) a Diaspora account "following" an arbitrary realtime AS1.0/Atom+PuSH feed (including different object types like articles, notes, likes like I have in my feed right now), then there may be something worth pursuing - I'd say that's the minimum bar that needs to be met by Diaspora before bothering to work on any Diaspora-specific support.
Status.net did support this
And the continuation, GNU Social, still does. I use @tantek's feed as well as my own to test such implementations all the time :)
if anyone's interested in tackling this, i've written up comprehensive instructions on how to add a new silo to bridgy. feel free to jump in!
Hi everyone, I'm from the diaspora* community and want to point that many things changed. First of all the federation has completely been rewritten and is now sitting at https://github.com/diaspora/diaspora_federation with the complete documentation here: https://diaspora.github.io/diaspora_federation/
We also hope to be able to provide an external API. The specifications are already written here but are not implemented at the moment.
fwiw, i'm now likely to work on diaspora support in https://fed.brid.gy/ first (which is close!), and less likely to do it here in bridgy.
API has landed in develop
Announcement here
Diaspora has a strong community of users on various "pods" around the world http://podupti.me
While in Berlin, I've taken to manually POSSE'ing posts that might be of interest to hackers on one of their pods https://despora.de
https://despora.de/posts/1951612 https://brennannovak.com/notes/472
Would be nice to backfeed posts from Disapora nodes!