NNTP + RSS = RSSTP

I got an email from a fellow named Daniel Smith who seemed to agree with my idea that RSS needs to become more RSS-like.. here’s the response I wrote him, which is a little more fleshed out than some of the other stuff I’ve written on this.

Yes, my thinking is reviving NNTP and making it more accommodating to blogging. To reuse some NNTP concepts:

A newsgroup is now a feed.
An article is now an item.
A follow-up article is a comment.

You’d have to change the protocol slightly to support some RSS concepts and add the authentication that would be required, but the core of NNTP – distribution of articles to a huge network of servers – and most of the protocol details (gimme a list of feeds, gimme the items in this feed, give me this particular item) – are intact.

If you set up an RSSTP (RSS Transport Protocol, a name I just made up :)) server, then the questions are how do you get articles into it, and how do users read articles from it. Both of those are pretty easy to answer:

To get articles into it, “phase one”, you could simply write a standalone program that pulled an RSS feed and sent new articles to an RSSTP server. Or configure the servers to poll themselves. “phase two” would be to support a common blogger API like the MetaWeblogAPI and let users configure their blogging software to send articles directly to the server.

To get articles out of it, you could use NNTP to work with existing tools (which works pretty well – I used my Syndicache NNTP and Outlook Express as my blog reader for a while) until RSS readers supported something better. You could also have the server itself expose RSS feeds – a URL like
http://rsstp.somewhere.com/rss?blogid={uniqueidentifier} would pull the feed from the database and render it as XML for the client.

Once the tools were on board you could have the user subscribe to “http://www.somewhere.com/rss.aspx”, but have the reader query the configured RSSTP server to see if it has that feed, and pull it from there instead of from the source URL. Users don’t really need to see any difference, and the publisher benefits from not having to pay the bandwidth bill.

You’d have to come up with a way to prevent forging posts, and forging blogs (ie, I say I’m “Scripting News” at www.scripting.com, when I’m not). These are problems that can be solved acceptably I think, by having the reader tools cooperate with the protocol (for example, by retrieving the feed from the RSSTP server, and then verifying it’s public key with the home server).