Summer’s coming to a close fast. Monday marks the end of Summer of Code and I begin my Fall Semester next week. While I’m disappointed summer is almost over, I’m not here to discuss that. I’m here to discuss my competed Summer of Code project.
I managed to complete every requested feature for podcasting support in WordPress. Well, almost every feature. A few features were simply not possible due to variables in server configurations. Other than those few technical issues, every other feature made it.
A Dedicated Podcasting Feed
One of the most requested features for podcasting in WordPress has been a dedicated podcasting feed. Rather than relying on WordPress’ main feed, the new podcasting support creates a separate feed found at /podcast/ or ?feed=podcast for the non pretty permalink users in the crowd. This comes in handy when podcast episodes are sporadically posted, ensuring the podcasting feed always contains episodes and is not filled with regular blog posts.
Another benefit of a dedicated feed is the ability to find podcasts based on certain criteria. If I’m on a month’s archive page, I can simply add /feed/podcast/ to the end of the URL and see all of the podcast episodes posted in that month. The same goes for category pages and the tag pages appearing in WordPress 2.3. Finding podcast episodes has never been easier.
With the new dedicated podcasting feed, native iTunes support logically comes next. WordPress users can easily configure iTunes variables from the comfort of WordPress’ options page. I did my best to explain what each and every option does, so the non-technical users can easily configure a podcast for iTunes use. iTunes support extends into individual podcast episodes, but I’ll cover that in a moment.
Multiple Format Support
Another largely requested feature has been support of multiple formats. For example, if I run a podcast that puts out both a MP3 and an Enhanced AAC version, I can manage both in WordPress with multiple format support. Each format receives their own dedicated feed and extends outwards to archives, categories, and tags. I developed formats to be as flexible as possible; that way someone can use formats to separate explicit and clean episodes, or even run multiple podcasts from the same WordPress installation.
One aspect of formats which I’m quite pleased with is no extra bulk is added to the WordPress database. Thanks to the new taxonomy system in WordPress 2.3, all the complex relationships are created by only using the tables available to WordPress. This makes for a much cleaner install and keeps the junk to a minimum.
A Simple Interface
Rather than loading the interface up with confusing junk (I’m looking at you podPress), I designed the episode management interface with simplicity in mind. The interface is compact, provides clear descriptions via a tooltip, and fits right in with the WordPress posting interface. If a user wishes to hide the episode interface they can. They can even rearrange the interface with other WordPress options.
While the interface is simple, it’s also powerful. Everything needed to configure iTunes options is available to the user. Not to mention, users can delete and add new episodes with ease.
A Podcast Player
Another requested feature for WordPress’ podcasting support has been a native podcast player. I managed to slip this feature in during the week. By clicking the “Send to editor” button in the episode interface, a new player is added to the current post. This player allows visitors to listen to a podcast right from their browser window without having to download the episode to their computer.
After reading this post, I hope you’re as excited as I am for WordPress’ new podcasting support. While the distribution method has still not been decided (native core support or plugin), podcasting support should land in a WordPress installation near you shortly. I’ll be sure to let everyone know when it’s available.
Before I bring this post to a close, I want to thank Google and WordPress for providing me this excellent opportunity. I had a real blast working with an open-source application I feel passionate about. Not to mention, I feel like I’m more experienced with PHP and WordPress’ plugin architecture. The rumors are true, you do learn something during Summer of Code. Thanks again Google and WordPress!