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.
iTunes Support
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.

Coming Soon
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!
68 Comments
congrads man, looks fantastic!
That looks fantastic! Good work!
Might even get me to work on a podcast…
This looks like some very impressive work and I’d encourage you to push for inclusion of this in the core distribution. Not only would core inclusion see this code used more frequently, but it would solidify the relationship between Google and WordPress by providing a prominent example of a successful collaboration between the two entities. Plus, if Hello Dolly can be included by default (fine, that’s a plug, but still), why not this?
Thanks everyone for your support! A new Trac ticket has been created to bring podcasting support directly to WordPress. If you’re interested in seeing this accomplished, voice your opinion over at the Trac ticket. Thanks!
Very exciting stuff, glad to see it’s all done! But shouldn’t this post have an embedded podcast?
I was think the same thing, but my project requires WordPress 2.3, and 2.3 is still under active development. As much I trust WordPress, I don’t want to be running alpha software on my production site.
Wow. This looks great. Nice & clean. I currently use PodPress, and you’re right about interface “junk” but on the other hand, PodPress supports more than audio playback. As much as I love what you’ve done, I’ll have to stick with PodPress until, hopefully, your next summer of code adds support for video podcasts with full iTunes support including the ability to designate video as being for the iPod, iPhone, or AppleTV, and the ability to generate different podcast subscription feeds for each video format. I want the world, don’t I! But what you’ve done is wonderful. Congratulations on getting it all done, you should definitely be proud of your work.
Actually Cheryl, excluding a video player, all of the functionality you mentioned would work with a video podcast. The formats are generic and would work with different format video feeds. The only thing lacking is a video player, but if I can find an open-source player (maybe what podPress uses), it wouldn’t be hard to add the player to the plugin.
Would it also support other file types such as for 3G phones, flash video and windows media? I’m prepared to launch a sandbox blog for testing purposes and see if I can get it to “videoblogger heaven” level. Maybe it would work with Enric Teller’s vPIP (videos Playing in Place) WordPress plugin for displaying videos in the web page (http://vpip.org). I’ve also been using Jeron Wijering’s JW FLV Player (http://www.jeroenwijering.com/?item=Flash_video_Player), which is licensed under a Creative Commons Non-Commercial Share-Alike license, but that’s not the same as an open-source player. It’s dead simple and nice-looking though. Thanks for the prompt reply – I’m very intrigued!
My podcasting solution will work with anything WordPress supports as an enclosure. I don’t know if the mentioned files specifically work, but I can’t see why they wouldn’t.
I’ll look into the two video players you mentioned.
Very nice! I can’t wait to use it on my site. Granted, I don’t podcast but once every couple weeks or so, but this will make it much more easy.
Please! Please! Please! include support for assigning both a pre-roll audio clip and a post roll audio clip just like Martin Laine’s audio player at http://www.1pixelout.net
Ideally you’d be able to do this per player but even if the existing global setting remains that’d be fine.
If we want to start getting sponsors to advertise on our podcasts, this is essential.
Thanks… When will this be released?? I need it yesterday!
Tag, while I agree pre-roll/post-roll may e a great feature, if you’re looking to do advertising, that would not be the way to go. Listeners using podcast clients would never hear the ads. I’m sure any potential advertisers would much prefer the ad included in the podcast itself.
Regarding a release date, once WordPress 2.3 comes out next month everyone will be able to use the new podcasting support.
What’s so bad about podpress? It seems to work perfectly on my site. Is there something I’m missing?
Harris, I don’t think there’s necessarily anything wrong with podPress. It certainly has all the features that most podcasters would want (including some features which my plugin doesn’t have).
I just feel for most people podPress can be overkill. With all the advanced features the interface has become quite cluttered and confusing. Not to mention podPress caused memory overload issues for some users in the past.
I took feedback from several users before I started my Summer of Code project and found that people were looking for the following functionality over podPress:
- A less confusing user interface.
- Better WordPress integration.
- A plugin which is not so hard on server resources.
- Multiple format support.
That’s what I set out to do with the Podcasting plugin and I hope I delivered. If podPress is working for you, that’s great. Stick with what you like. My plugin is designed to be more for people who are new to podcasting or simply want something a little cleaner than podPress.
Ronald, real good work. We just are getting into podcasting and this is a breath of fresh air for us. We installed PodPress, but couldn’t get it going. We’re going to install 2.3 next week (when some of our plugins catch up) and we’re looking forward to this.
Peter, glad to hear that. I’ll finally be releasing Podcasting later tonight, so stay tuned!
Am I missing something or is this NOT included in WordPress 2.3
No you’re not. It was decided to not bundle it yet as there was not enough testing time before WordPress 2.3 to migrate it into core. However, you can download it as a standalone plugin on the WordPress.org Plugin Site. Hopefully Podcasting will make it into core for 2.4, but you’re not missing anything so long as you have the plugin installed.
I have already installed it as a plugin, and it is great. The only thing missing is video playback
I’ve read you are looking for a free video player, how about this one: http://www.jeroenwijering.com/?item=JW_Media_Player ?
The JW_Media_Player isn’t open source. I think FlowPlayer is, you might want to check this one out for adding a video player: http://flowplayer.org/ – it’s got lots of skins and can be further customized.
Thanks for the video player suggestions guys. I’ll be looking over them shortly, deciding which one works best, and requesting the proper approval (if needed). I’m hoping to have that done in the next couple of weeks.
This looks fantastic man, is there any easy way to convert posts to this from podpress?
Not at the moment, because I didn’t think that far. I’ll see if I can whip up a conversion script in the next week or two.
Great Plugin! I have to admit, I’m new to this and it took me a while to figure out all the steps. But I eventually figured it out, and I’m glad. It is a far superior interface to Podpress.
If anyone needs a “step by step” process, I’ve recorded what I did on my website, Podfree.net
http://podfree.net/how-to-upload-your-podcast/
Feel free to link to or use the instructions for your own purposes.
Keep up the good work!
Thanks for the kind words Greg, I’ll certainly try my best!
How can I get a statistic about downloading of podcasts?
You can use really any download tracker on your podcast episodes, or setup your podcast feed to run through Feedburner.
Thanks for your work!
Hi Ronald, thanks for your work!
Unfortunatly I does not seem to work. I can add an episode into the post and it even plays. I can even see that a feed is beeing created. But the feed is empty, containing just the blog name.
I seems, like the meta data is not being saved in the DB. I even had a look at it, and there is not podcast specific data in wp_postmeta.
As you can imagine, i do not get the opportunity to edit an existing episode. I can only add one. But as i saw in your code, there should be chance to edit one.
I am using WordPress 2.5, Podcasting plugin 1.61, on a PHP4 Apache.
P.S.: I’d really like to be able to publish video-podcast, but i could implement that by myself (I also want to add chapter support with markers, so i need my own FLV player).
Florian, let me make sure I understand your issue correctly. When you add an episode, you can use the edit interface to edit the episode, and are able to use the Send to Editor button. However, once you save and reload the post, the interface disappears like you never added the episode. Is that correct?
Thats correct. After i save the post, i still can the the shorttag [podcast]file.mp3[/podcast] in the editor, but i cannot edit file settings, the enclosure. I just see the ADD URL form again.
I tried another installation on another server, but still the problem remains. I really would apreciate your help.
Could you email me the URLs of the files which are causing you trouble? You’re not the first person to report this, so hopefully I can get a fix out shortly.
Hi Ronald,
Where do we stand with the video podcasting at the moment? Have you managed to incorporate a flash player into it yet?
Awesome plugin – it’s truley great work,
Panda
I have a Flash video player in my current development version. You try it out yourself if you’re up for beta testing. If not, I hope to have the final version out sometime in May, most likely right after my finals next week.
Dude, you rock!
I’m gonna use this for video podcastng so I have to add a player. How can I get hold of the podcasting specific data in “the loop” (without digging into the db)?
The following code should give you access to the Podcasting specific data in a PHP array:
Anything you need to do from there can be done in PHP.
I forgot to mention, Podcasting 2.0 (due this month) will include a video player by default, so if that’s all you need to do, just sit tight for a bit.
And it is going to rock!
How are you getting on?
I’ve been unfortunately backed up with client work these past few weeks, so not much progress has been made. However, that changes on Monday as all my major client work wraps up, and I begin working on WordPress for the Google Summer of Code again this summer.
While my project does not entail Podcasting this year, I will be devoting a small portion of my time this weekend and next week to work on Podcasting. The work backup has made my original expectations for 2.0 doubtful, but I promise you at least a version with video will be released sometime next week. The rest of the planned features will be trickling in over the next few weeks.
Wow, that’s great news – thanks very much.
If you we were in prison, I would protect you in the showers. A++++
Did you take that line from that Digg story a few weeks back or are you the guy who leaves those comments on eBay?
Thank you for developing the plugin, Ronald. I was initially looking into Podpress, but i truly wanted something less bloated as you mentioned. This works great in the front page of my website. I hope your future release will include the video player. Question: Can this plugin work with Shadowbox?
I don’t see why not. If you manually enter in the HTML for shadowbox, everything should work.
Thanks for the enclosure code (at #38). At first I found this code harder to mess with than the simple podpress code. I’m rather picky about flash video players so I’ll probably hack my own. And from this point of view the lack of video player in version 1 is actually a benefit. Besides I can now easily hack support for poster frame (image), exif data, and multiple versions of the video clips based on filename. It’s perfect for what I need. But of course I’ll check out 2.0 when it’s out. Thanks.
Perhaps you could be so kind as to release your “hacked” version to the public?
I’ll probably release the flash based video player, but I’m not sure about the altered Podcasting plug-in. I’d have to clean it up a bit for it to be of any use to others. And it’s closely related to the theme I’m using. Much of the code is in the theme, which is mostly in Norwegian
Ronald,
I successfully posted a podcast but I am not seeing a dedicated podcast feed. The podcast feed at the top of the Write Posts page is simply : http://the-straight-line.com/feed/podcast/. itunes was unable to find the podcast. I’m using WP 2.5.
Ronald,
I successfully posted a podcast but I am not seeing a dedicated podcast feed. The podcast feed at the top of the Settings page for Podcasting is simply : http://the-straight-line.com/feed/podcast/. itunes was unable to find the podcast. I’m using WP 2.5.
Brian, look at the first FAQ item (Help, the podcasting feed is resulting in a 404!) on Podcasting page. That should be your solution.
Any news regarding Podcasting 2.0 ?
Yes. Current beta versions of Podcasting 2.0 can be found here. The betas are stable, but not feature complete, and therefore changes in the file system and/or interface may occur over the beta cycle.
Great thanks.
where is the data for this plugin stored? im creating a theme for a client and if there is a podcast added, i would like to display a link to it after the post however i cant figure out where they are stored to check if one exists.
Nevermind i found it. i guess the podcast i added before wasn’t being added because of it being an m4v file. so i tried an mp3 file and found the data i needed.
Hi !
I am using Podcasting and I’m loving it !
I just have a little problem and couldn’t figure out the answer.
As my website and podcasts are in french, I want to change the podcast language attribute. It’s not in the options and I couldn’t find it in your plugin’s code.
Any idea on how to change that (even if it’s a hack for now).
Thanks you
OK, i found the answer… It’s using the rss_language option from wordpress.
Updated “Podcasting” is great. The mp3 player is very neat and attractive – love it.
Having a problem with the podcasting feed though. An RSS2 feed is obviously generated as it appears as available in the browser but when clicked the browser doesn’t want to open http://www.therevster.com/feed/podcast.
Sometimes the browser displays “Internet Explorer cannot display this feed because it uses an unsupported communication protocol.”
Any help you can give would be appreciated.
I do use Feedburner but until I know that the newly generated feed address is valid I can’t link it to my Feedburner account.
Thanks
Thank you for this! It’s all the more welcome now it looks like Podpress may not get updated again.
Question: how to get the mp3 player working? It doesn’t for me – just ‘buffers’ indefinitely, never plays. Could this be because the mp3 file is hosted at Amazon S3? For now I’ve just added a download link, but an mp3 player would be nice.
Other, less vital question: the plugin description says the podcast feed can be associated with a category. But since it can’t be edited in ‘settings’, how is this done?
Re-question 1 – forget I wrote it, sorry. Turns out the problem is in my browser.
Just add /feed/podcast/ (or &feed=podcast for none-pretty URLs) to the end of your category page URLs.
Thank you. Is that any different from blog.com/category/categoryname? (As I have a category just for the podcast.)
Technically you wouldn’t need to do that. If you have only one podcast, the regular podcast feed is fine. Categories are just helpful for more podcasts or the formats option I have aren’t your cup of tea.
Podcasting works wonderful. I got a three day headache, read this support over and over and found no solution to my troubles. Even though I had upload the messages using an FTP client, and I had the mp3 files listed in a “page”, I kept getting an empty RSS Feed.
The problem was that the MP3 files were not within a post. Once they are in post then they are processed by Podcasting.
So creating a post and publishing in a hidden category, solved the problem.
Hope it helps someone else.
I feel I have a silly question, but here it goes. Does this plug in submit my initial podcast to iTunes? Or do I need to go through the iTunes store to submit my podcast first. Thanks for all of your support.
No, you have to manually submit your feed to iTunes (or other directories).
4 Trackbacks/Pingbacks
[...] WordPress Podcasting Support is Complete. Absolutely fantastic news. This feature would be a great addition to the WordPress core. This entry was written by Ben and posted on at 11:37 am and filed under url. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Both comments and trackbacks are currently closed. tagged: podcasting and WordPress « chicken waste [...]
[...] WordPress Podcasting Support is Complete · cavemonkey50.com This entry was written by Vonye and posted on August 21, 2007 at 1:04 pm and filed under 链接. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Post a comment or leave a trackback: Trackback URL. « 大地啊.苍天啊.我终于把绦虫养活了. How to make a tumblog with Sandbox » [...]
[...] addition to updates, my Summer of Code project, Podcasting, saw a release this week. After some discussion on WordPress Trac, the general [...]
[...] WordPress Podcasting Support is Complete · cavemonkey50.com – One of the most requested features for podcasting in WordPress is a dedicated podcasting feed. Rather than relying on WordPress? main feed, podcasting support creates a separate feed found at /podcast/ or ?feed=podcast for the non pretty permalink users [...]