I’ve been using WordPress for a very long time, and I’ve squeezed a lot out of it over those years. I’ve learned how to build entire sites using it, I’ve learned how to make it do little tricks, and I’ve learned how to work with themes to bend it slightly to my will. There’s one aspect of WordPress tinkering that I’ve avoided that whole time because it’s just been too intimidating, but I’ve decided that I need to push myself to learn some new stuff, and there’s no better way than to just dive in and see what I can do.

So it’s time for me to try writing a plugin. This is a frightening thing for me, but I have a plugin that I’d like to create. The plan is mostly-formed in my mind, and I know what I want to do; now I just need to figure out how to get those things to happen by writing it.

I’ve been working with podcasting and WordPress for a good while now. There are a lot of options for podcasting plugins for self-hosted WordPress. Unfortunately, I feel that most of them are trying to do too much and have too many options. They’ve become more difficult to use. Old ones have disappeared into development history, others have changed developer hands over time, and still others have claimed to be the biggest, baddest podcasting plugin on the block.

The goal here is simplicity. It doesn’t have to be a very complicated addition to a WordPress installation, and new tools are available with the upcoming release of WordPress 3.0 that can be leveraged to build something that’s even easier to use. I’ll be posting source as I work with it here. If you have feedback or can teach me a better way to do things, I welcome it, as I think I will need the help.

Let’s start with some goals for the plugin:

  1. It will use custom post types to separate podcasts from regular posts.
  2. It will allow podcast enclosures to be manually specified—only one per post, as iTunes ignores subsequent enclosures.
  3. It will provide an administrative panel for specifying iTunes feed metadata.
  4. It will alter and/or create RSS feeds and autodiscovery to make subscribing to it easy, either directly or through iTunes.
  5. It will look, feel, and act like it’s been part of WordPress all along—a consistent user experience.

That’s the basic set of needs for a podcasting plugin; leave a comment if you think I missed something.

I’ll admit that I may not have the skills I need to pull this off. It’s definitely going to mean a lot of reading, a lot of tinkering, and a lot of making mistakes and backing up to try again.