Or: I should probably make some kind of roadmap.
My thoughts on what Icepodder should be, and what it can reasonably be expected to do have changed quite a bit since I first started this project. BitTorrent functionality was one of my first priorities when I took this project, and I failed in doing that because I was unfamiliar with the code base, and the legacy code from ipodder. Then, iPod syncing became a focus, which I implemented hackishly via post-download scripts, which current functionality allows, but that’s not really an elegant solution.
One common thread unites the two, however: the more feature specific Icepodder is, the more code there is to update and fix when things change or break. The bittorrent libraries included in the initial CastPodder import were outdated when Icepodder was first released, and they’ve been updated again since then. I went from using an iPod shuffle to one of the newer Nanos, to an older Nano, and now an iPod Classic, all of which have different utilities that require syncing. New nano syncing hadn’t been implemented when I was first looking at Gnupod, and even though it was quickly added, I just don’t have the time or resources to incorporate the latest changes from those projects into Icepodder.
Moreover, a lot of you probably have an app you already use for syncing (Amarok, iTunes, bash scripts), and a feature-filled BitTorrent client that lets you use whatever listening ports and filtering sidestepping and smart bandwidth throttling you need, so half-implementing BitTorrent downloads through Icepodder doesn’t seem like a good deal for anyone.
What I propose is making Icepodder better integrate with external applications by fixing any play functionality that’s broken, and expanding it so that it will work with video and document podcasts rather than just mp3. Similarly, adding connections to BitTorrent apps on OS X and Linux will also be a priority. Here are the features I’m looking to add personally, in order of importance:
- iTunes player support in OS X. This should be easy, because the code should already exist in Juice.
- Better player functionality for playing video and other non-audio podcasts.
- Automatic sending of torrent podcasts to the user’s preferred bittorrent client
I’m currently working on some patches to eyeD3, which will allow tagging of mp3s as podcasts for the newer versions of iTunes (so podcasts show up in the podcasts section of iTunes and iPods), but after that, I’ll turn my attention to these changes. As always, any volunteers of help on these or other features you’d like to see would be greatly appreciated. And if you can’t code, you can still help us out by running the latest SVN checkout on your box, and report any problems you find via the “Contribute” link at the top.