iPodder for Radio UserLand

Current version: iPodder.root v0.2. See the blog for the most up to date information.

Adam Curry's idea to have audio enclosures automatically transferred to your iPod or any other MP3 device has triggered some developers to create tools that do this. Most of these tools are called iPodder, after the example script by that name that Adam had created.

I have been listening to Adam's stories, and reading his blog, and checking out the tools that are created, and I thought of this: my aggregator, Radio UserLand, already downloads enclosures, so why create another downloading aggregator? Why don't use Radio, and extend it so I have my existing aggregator transferring the files to my MP3 device? That shouldn't be too hard, since Radio has a complete scripting environment in it.

The project
So, that's what I did. I started a new tool, called it iPodder, and built into it the Synchronize script. That script is based on the threadscript that can be found in Dave Winers myPictures Tool, which checks a folder for image files.My script also checks a folder, but instead of scanning for images, it looks for .mp3 files. And instead of running continuously, it only runs when you tell it to.That's because your MP3 device just isn't constantly hooked up to your computer.

Allright, so how do I use this?
First, you need to be a Radio user. If you don't have Radio installed, install it, or just don't use this script. Use one of the other iPodders instead, they are all good scripts.

Second, download the tool. Save the tool in the Tools folder in your Radio UserLand installation. Within a few minutes, the iPodder will show up on the Tools page. When it does, you can find the iPodder functionality in the Radio application. Bring that to the front, and choose the Tools menu option. Then point your mouse to 'IPodder'. You will see three options:
  • Synchronize
    This option transfers the files to you MP3 device
  • Edit preferences
    This is where you need to set some variables
  • Empty pending table
    The pending table is used internally by the iPodder. It maintains a list of already transferred files. It's okay to choose this option every now and then to keep your object database clean. (Note: at this moment, it doesn't seem to work (correctly). It will be fixed in future versions.)
Now, choose the second option. You will see a table with two items: deviceFilePath and method. The latter isn't used by the current version of iPodder, but it will in some time. The first is the path to your MP3 device in the filesystem. On my computer, it's the H: drive, and I chose a folder 'radio' to put the files in. Change this to match your MP3 device. Just enter the path and press enter to confirm.

Now you're set. Before you start using the iPodder, let me explain a small detail. For ease of programming and because this is the first prototype-like version of the Radio UserLand iPodder, the script only checks today's and yesterday's enclosures. So if you haven't downloaded any .mp3 files on the current date or the day before, nothing will happen. Of course this will change in a later version. (Version 0.1 only checked today's files, future versions will work differently, see this post.)

And now, the actual thing
To start transferring files, make sure your device is connected correctly and click Synchronize in the IPodder file menu. A popup message will tell you it has started, and the About Radio UserLand window will tell you about the files that are being transferred. When eveything is done, another popup will tell you so.

So, that's it. My first shot at creating something that might be useful for the iPod platform. I would really like it if people test it and give me feedback, so I can improve it. Also, this script won't work on an iPod, I think. I don't own one, so I don't really know. Feedback on that would also be more than welcome.

And, if it works correctly: great! Have fun!