Backfeed is the process of reverse syndicating replies/activity on silos to your POSSE copies of posts back to your original posts.
Getting Feedback Back
So you've syndicated clones of your posts out to Twitter, Facebook, Flickr, Openphoto, Tumblr, etc. (POSSE)
But what happens when people on those other networks comment/like/otherwise respond?
Types of Response
- Comments/replies/notes - basic textual commenting
- Favorites/likes - primitive 'positive feedback' type
- Mention - A reference to the content that is perhaps not in direct reply to it
- E.G. a 'share', 'bookmark' (Is this sufficiently different?)
- RSVP, e.g. on a Facebook event
singpolyma syndicates posts out to Twitter and runs a cronjob that polls the replies/mentions (authenticated) API endpoint to pull in responses. (since ????-??-??)
Ryan uses Bridgy (see below) to backfeed comments, likes, and reposts from the silos to his own site. E.g. see Facebook and Twitter comments here:
brid.gy is a service that sends webmentions for comments/replies, likes, and reposts on Facebook, Twitter, Google+, and Instagram posts. It uses original post discovery to find target links for the webmentions. GitHub repo here.
salmon-unofficial is an older, unmaintained alternative to Bridgy that uses the Salmon protocol instead of webmention. It discovers original source sites via LRDD, WebFinger, and XRD, as specified by Salmon. GitHub repo here.
Jetpack Publicize is great, but doesn't yet implement backfeed.
Do these responses belong on your indie page, at the original source of the content? There are storage, legal, data ownership, UX, and other questions.
- Gives people a choice about where to author their replies
- Enhanced UX (debatable depending on service used)
- Ease of use, low barrier of entry. Peter Shaw describes this well, notably the value and intuition of replying at the location source post, which is especially compelling for users who are less technical or willing to spend extra time and effort.
- Meets the majority of users who aren't technical or don't feel strongly where they currently are: in the silos.
- +1 barnabywalters
- +1 Ryan
- Generic, open systems such as pingback are preferable to backfeed from closed silos (although open response systems are another discussion entirely).
- Responders didn't choose to publish at the original source. In rare cases, this could cause legal problems.
- Imposes more overhead.
- May antagonize silos. They often try to prevent this kind of outward syndication of their data. One example (of many).
Some APIs have better functionality for this than others:
Twitter APIs to use for getting @-replies etc. on Twitter to your Twitter POSSE copies:
- Search for
DOMAIN filter:links with
result_type=recent. See example code here (and continued here). Only returns recent results, but otherwise works ok.
- There's no official way to get replies to a given tweet. If it's not too old, though, you can search for @-mentions of the original tweet's author, then look through the results for any whose
in-reply-to field points to the original tweet. See example code here.
- Otherwise, there's the unreliable, undocumented, unofficial 'related_results' endpoint.
Facebook has a lot of APIs.
- FQL makes this surprisingly easy. For example, here's a query to get all comments on the posts from a given user with links in them:
SELECT post_fbid, time, fromid, username, object_id, text FROM comment
WHERE object_id IN (SELECT link_id FROM link WHERE owner = USER_ID)
ORDER BY time DESC
- And here's the follow-up query to get the URLs of those links (where LINK_IDS is a comma-separated list of the object_ids from the above query):
SELECT link_id, url FROM link WHERE link_id IN (LINK_IDS)
- See example code here. There's also this example code that fetches and processes comments from the posts found by those queries.
- Also the OBJECT_ID/likes and OBJECT_ID/comments connections
- API is sometimes slow. Most backfeed solutions will/should poll in offline processes though, so they won't usually block end user requests.
- Returns extremely unclear failed results for API calls to posts by under-18s
- This is bloody annoying for us minors. It's more "bothersome" than "protecting" -- barnabywalters
- How best to represent external users?
- Facebook URI (not preferable)
- Can we grab their personal URI from their profile?
- Detect comments from originating user?
Flickr has direct APIs for this:
- pingback protocol - currently implemented by most major blogging platforms, i.e. Wordpress, and available as a standalone project to use on non-Wordpress sites
- salmon protocol
- Juvia - a commenting system you can install on your own server similar to Disqus and Intense Debate