1416 users have visited this site in the last 24 hours It’s a real pleasure to see something you worked on getting used. I just wanted to take a minute to express thanks for the great group of people at Sloan Technology Services and in the OpenACS community that I get to call colleagues. Now let’s keep cookin’.

BitTorrent + RSS, step 1

I’m just chuckling to myself. Last night I was telling Dave Winer about how we could bootstrap BitTorrent downloads into the Radio aggregator. At lunch today it occurred to me that there was a much simpler way than what we talked about. I get back from lunch and there’s an note in my inbox from a fellow named Dan Gould who is doing the exact same thing on his homegrown aggregator, in the exact same way. I’ve asked him if there’s a writeup I can point to. I’ll point to it if there is.
So here’s the idea. BitTorrent (BT) downloads are typically initiated by launching the BT client against a file. To Web browsing software, BT files look just like any other MIME file. You click on a hyperlink to a file having a Content-Type of application/x-bittorrent, typically ending in .torrent, the browser downloads the file, and launches the appropriate helper application. A key point is, the .torrent file is small, just a descriptor that tells BitTorrent how to get a much larger file. The question is, how does this all fit into RSS?
In the news aggregator world, file downloads are specified as enclosures. It’s a funny idea, downloading 1kb file using a system that was designed for 100MB media files. But the funniness is a red herring. We download the (small) .torrent file as an enclosure, and then launch the BT client against that file to get the (large) media file. The same motivator for enclosures—to have the downloading happen overnight when you’re (hopefully) not sitting at the computer—applies. It’s just the details that differ.
BT has a nice command line interface, btw. We need to feed it appropriate –responsefile and –saveas arguments. An open question, at least on Windows, is dealing with client software that spawns windows who don’t know how to close themselves. Ideally we’d have a client that didn’t spawn a window and that accepted a parameter that told it how long to continue running after completion of the download, to help other downloaders.