Podcatcher - Requirements
One of the goals I set for myself in the New Year was to gain experience with Lean/Agile software development. My test project will be a fairly simple podcatcher to manage the podcasts I listen to. Here is the initial set of requirements for this tool...
I guess that's it. On the surface this looks like fairly simple and straightforward project with a useful set of features. I think the next "Lean" thing to do is to prioritize these requirements and set the minimum criteria set needed to meet these requirements, but I'm going to start reading to verify this approach.
- Subscribe to podcasts (obviously). All of my current subscriptions are RSS, so I'll focus on this first. Once I have something functioning, I'll add support for Atom feeds. It will also support importing OPML files. This is the format exported by iTunes.
- I currently use iTunes to manage my podcasts and the default is to retrieve the latest podcasts on startup. This is OK if you generally listen to all episodes you subscribe to, but for some subscriptions, I like to pick and choose the shows I want to listen to. I know this behavior is generally configurable in iTunes, but I'm not sure this can be individually configured per show. The default behavior for my podcatcher will be to download only show descriptions, with the option to automatically grab the latest shows. This will be configurable by show.
- Ability to set the genre (or other metadata) for the shows. This will provide a greater ability to automatically group shows I'd like to listen to.
- Playlist creation - a manual way to group shows together for listening.
- Allow the creation of a "favorites list" with user notes or labels about the show. This will offer a way to bookmark the URL of favorite episodes along with some notes and tag information. If you want to relisten to an episode at a later time, the episode can be easily downloaded again.
- I'd like the podcather to "live" on the player (or any portable storage device). I've switched computers a lot lately and each time I import my OPML file into iTunes, I've needed to manually check for new episodes not downloaded by another iTunes installation. Also, since I've never had an iPod, syncing with the player has always been a manual process. By living directly on the mp3 player, these synchronization issues won't be an issue. Even when switching mp3 players, the podcatcher software can be simply copied between players. This requirement requires that the software footprint be as small as possible.
- And finally, delete podcasts (including descriptions).
I guess that's it. On the surface this looks like fairly simple and straightforward project with a useful set of features. I think the next "Lean" thing to do is to prioritize these requirements and set the minimum criteria set needed to meet these requirements, but I'm going to start reading to verify this approach.
Comments