Skip to content

Instantly share code, notes, and snippets.

@seanmonstar
Last active December 15, 2015 16:09
Show Gist options
  • Save seanmonstar/5286698 to your computer and use it in GitHub Desktop.
Save seanmonstar/5286698 to your computer and use it in GitHub Desktop.
Proposal for Tent-RSS bi-directional bridge.

Tent <-> RSS Bridge

Needs a name (smoke-signals?)

This is an open source, hosted, bi-directional bridge of Tent and RSS. It would be hosted somewhere, and installed as an app against your tent server.

Using Python, because it doesn't make us claw our eyes out. Likely with the Flask framework.

Register as an app

  • a screen to enter your entity
  • server does v0.3 tent app registration
  • needs access to status posts, and perhaps essay posts.

Reading a Feed

  • dashboard lets us add in an RSS feed url
  • app needs to fetch it and parse it regularly (30mins? hour?)
  • needs to keep track of last seen item (by item guid? many feeds suck at guids...)
  • on new items, create a new post on the users feed
    • for microblogging, it could be a status post with the feed item title and link
    • it could create an essay, with the feed item content as the essay content
    • it could create a new rss-archive post (pick a name), if the user didn't want to publicly share it.

Creating a Feed

  • dashboard should let a user generate a feed from his status (and essay?) posts
  • optionally allow filtering
    • ex: only create feed of posts with the word "#feed" in it
  • not needed at first, but cool idea: Feeds based on tag posts. tent/tent.io#183
@mplorentz
Copy link

This looks great, thanks for writing it up. I downloaded and messed around feedparser, it support Atom as well as RSS, should we as well? I'm not sure how prevalent it is and if sites that offer Atom feeds offer RSS as well.

@mplorentz
Copy link

And as far as status vs essay posts, I feel like there are two separate use-cases.

For essays, I may want to:

  • create an RSS feed for my Tent essays
  • mirror my existing RSS feed as Tent essays

For status posts I may want to:

  • create a Tent-entity for my RSS feed that microblogs links and titles to new RSS items that other Tent entities can follow
  • create an RSS feed from my status posts (I don't know why you would want to)

Maybe our app should let you choose whether you want the essay or status-post behavior.

I'm thinking really inside the box here, you could probably combine the Tent and RSS protocols in cool ways with other post-types.

@florianjacob
Copy link

Another use case would be a replacement for the
"Comment on this post in this identi.ca conversation." link especially static site generator blogs use:
http://ebb.org/bkuhn/blog/2012/12/09/oracle-v-google.html

A small javascript to integrate into the post which fetches the tent post url for a given feed link would help to get that people over to tent, once identi.ca closes down.

By the way, what happened to https://github.com/graue/tentrss ? Seems unmaintained, and is only half of RSS<->Tent Bridge..

@mplorentz
Copy link

I tweeted at graue to see what the status is on his bridge. He used to be active on Tent but left a while ago, so I'm guessing it's abandoned.

@Nygu
Copy link

Nygu commented Apr 7, 2013

Stating the obvious: don't allow pushing posts to a service that you are also fetching posts from.

@bnjbvr
Copy link

bnjbvr commented Apr 8, 2013

RSS -> Tent

We can imagine two ways the webservice could work:

  • public mode: when a feed item is received, it is posted on the user account, as a status posted by the user. This is currently what hackernewsrss.tent.is is doing.
  • private mode: when a feed item is received, some specific account, let's say smokesignals.tent.is for instance, posts a status with a mention to the user, and this status is private.

For public mode, so as to avoid profileration of tent account like hackernewsrss.tent.is, I think that might be interesting to propose to the user to follow an existing account (if there is one) when he enters a feed URI, instead of using his account for doing the same thing.

What do you think?

@seanmonstar
Copy link
Author

@BenjBouv I think it'd be incredibly useful to show public accounts that pull in an RSS feed when we enter one.

I don't understand what you mean by private mode. Is the goal for someone who wants to subscribe, but not show it anywhere? Like, the RSS feed to a support ticket or something?

@peakwinter
Copy link

@BenjBouv If we have to choose between the two, I would choose the Public Mode option, simply because it seems to me to be the most useful. I doubt that 99% of users will be using this for "firehose" style RSS feeds, mostly for their personal blogs or favourite writers. So it shouldn't be much of an issue to just automatically post them publicly without user intervention.

Though one could always implement both then give the end user the option :) The latter idea of notifying if a feed is already in use is certainly a good idea, though I'm not sure how it is technically possible with a decentralized service like Tent, unless you can find a way to crawl Skate.io when the API opens up.

@peakwinter
Copy link

@florianjacob He isn't maintaining it anymore, but ^iangreenleaf.tent.is (iirc) hosts a version of it at https://tentrss.herokuapp.com/

@mplorentz
Copy link

@jacook @florianjacob it seems to be down. I also downloaded the source code today and couldn't get it to work. Maybe it targeted 0.1?

@seanmonstar
Copy link
Author

Some interesting ideas though:

  • One is setting up a bridge to crosspost from an RSS feed to an entity, as his own status posts (or other type if you desire).
  • The other is "subscribing" to the feed, and wanting to get notifications when there are new posts, but not wanting to "own" the posts, like the first option would do.

I originally assumed we were only doing the first, but the second is interesting still.

@bnjbvr
Copy link

bnjbvr commented Apr 9, 2013

@seanmonstar: yes, the idea behind private feeds is to alert the user whenever there is a new item feed, plus avoids everyone to see it. Posted messages by the webservice entity would be limited to only the subscriber (even if the same item has to be sent to several users).

@seanmonstar, @jacook: Although private mode is easier to implement, I think public mode should be implemented first.

Let's go :)

@mplorentz
Copy link

Alright guys we have a repo. Let's move further discussion there. Let me know if you would like to be a collaborator.
smoke-signals

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment