Podcast Producer 2: Still a work in progress

I was eager to install Snow Leopard (SL) Server on the Mac OS X server I manage at work, primarily because of Podcast Producer 2 (PP2). This component of SL Server represents a major advance in functionality over the first version of Podcast Producer, which was introduced in Leopard Server. Unfortunately, after creating over 500 podcast episodes with PP2 so far, I’m convinced it’s still a work in progress. I’ve uncovered numerous little bugs that should have been caught in beta. I’ve reported these using Apple’s bug reporter (bugreport.apple.com), and so far I’ve heard back on exactly one of my bug reports with a terse message that it was a “known issue.”

Don’t get me wrong, I still think this is a great program. It’s much easier to configure and tweak than the first Podcast Producer, which was essentially unusable for my purposes. One great feature is the new Podcast Composer application, which makes it a breeze to create new workflows. The quality of the finished video podcasts is significantly better than what I was able to do previously with a combination of Drupal modules and the open source “Swiss Army Knife” of web video applications, ffmpeg. So all things considered, I think Podcast Producer 2 is worth the upgrade to Snow Leopard Server.

But I’ve discovered the hard way that it isn’t perfect, and some of the deficiencies are serious. I’m hopeful that Apple will soon release an update that addresses at least some of the issues I’ve identified. Until then, let me share a few of the annoying bugs I’ve found, and some of the workarounds I’ve discovered. I know from experience that when things go south, a webmaster’s best friend is Google, so perhaps some kindred webmaster will come across this blog entry and appreciate my documentation.

Earlier this month I documented three of these bugs with short videos that I posted to my MobileMe Gallery . If a picture is worth a thousand words, a video must be worth at least a few thousand more, so if you’re interested, I’d encourage you to check out these clips.

One of the biggest problems: PP2 doesn’t create episodes that reliably play back on Windows computers. This probably doesn’t come as a surprise; after all, this is a Mac program. But it’s a Mac Server program, and Mac Servers need to service Windows clients, so I would have hoped that this would have been better tested in beta.

Essentially, if you create a podcast from a video file using PP2, using a workflow that posts the podcast to the submitting user’s blog, the result is a blog entry that looks and works great on a Mac, but not on Windows computers with the latest Quicktime plugin installed. At first I thought this was an issue with Internet Explorer, and to some extent, the issues are greater with IE. But I believe the primary culprit is the Quicktime plugin, since I’m able to reproduce this bug with IE, Firefox and Safari for Windows. Yes, this bug even affects Apple’s own browser.

Thankfully, I’ve discovered a fix. The root of the problem seems to be the way that the podcasts are posted to the user’s blog. Rather than using an EMBED or OBJECT method, PP2 (and the SL Wiki Server that manages the blog service) links to the podcast via an ALT attribute to the IMG tag of the thumbnail, with a ROLE attribute added so that the thumbnail acts as a button for the video file. This is pretty slick coding, except for the fact that it doesn’t quite work right on Windows IF the HEIGHT or WIDTH attributes don’t match the dimensions of the video. And PP2 doesn’t insert the full HEIGHT or WIDTH attributes, presumably because the goal was to provide a thumbnail, not a full-size image. On a Mac, this is not a problem, as Quicktime on a Mac can play back fine within the scaled-down dimensions. But it’s a deal-breaker with the Quicktime plugin for Windows. If you click on one of these thumbnails on a Windows machine, the file loads, but you only hear the audio; no video appears. As best as I can tell, this is because the video doesn’t scale down to the dimensions provided in the IMG tag. Audio doesn’t have to scale so it comes through, but what’s the point of a video podcast if you can’t see the video?

The workaround is to delete the width and height attributes. While the result are full-size thumbnails, at least they work on Windows. Since I’m only deploying the iPod/iPhone resolution files (640 x 480), the thumbnails aren’t that huge. But it is a rather huge task to manually have to delete these width and height attributes. I would like to just delete this in the templates so that I didn’t have to do this every time a podcast is posted. And I can see where the templates are on the server. Unfortunately, editing the templates available in the Wiki Templates folder does not have an effect on the resulting code. Apparently, PP2 (or perhaps Wiki server) doesn’t read the contents of this templates folder when creating the pages. Perhaps there is some way to synchronize changes in the templates with the actual code produced (one would think there would be) but I’ve yet to discover it. If I find out, I’ll be sure to post an update. Until then, I’m manually editing the code of each podcast so that the majority of users who use Windows can actually see the videos.

It also would have been nice if the developers had included (or at least made available as an option) a Javascript player for the Quicktime videos posted to the user blogs by PP2. I find it interesting that nearly everywhere you see a Quicktime video on Apple’s own website, it’s presented in a Javascript player. Note only do such players look a heck of lot more “Web 2.0-like” than the standard OS 9 look of the Quicktime plugin, a more modern player might have alleviated the big problem of cross-platform playback. Indeed, one of my early efforts to develop a workaround for this problem was to present the videos using a Flash-based player (Dash Player by TMT Media). The Quicktime videos produced by PP2 will indeed playback quite nicely in an embedded Flash player (at least one that can handle MP4 files). But because making such a change would require extensively rewriting the code produced by PP2/Wiki Server, I eventually settled on the much easier (although still time-consuming) method of deleting the width and height attributes. I can understand why Apple wouldn’t include a Flash player with SL Server, but they could have at least put in a Javascript player.

Another small annoyance (and an almost humorous faux pas) is the fact that the “Subscribe in iTunes” link that is posted prominently on a podcast-enabled blog page doesn’t actually work. The workaround I’m using for that is to simply delete the button in the Theme files (which are honored by Wiki Server, at least if you’re careful to follow the rules carefully). For those users who want to subscribe to a podcast using iTunes, I send or post a link that does work, using an appropriate RSS feed from the Podcast Library (another nice addition to PP2).

One very serious bug I discovered has to do with overwriting files. I’ve always felt that one of the cardinal sins of programming is to create something that destroys data. But if you’re not careful, PP2/Wiki Server can do just that. It probably won’t happen very often, but given the volume on my server (between 500 and 1000 videos a month), it didn’t take long for me to find this bug. If a user submits a video with the same name as a video submitted earlier in the day, the older video is overwritten by the newer one. Actually, the older video still exists in the Podcast Library, just not in the podcast directory that is referenced in the code posted to the user blog. The workaround here is to manually edit the entry to point to the correct video in the Podcast Library. I’ve also taken some steps to try to enforce some naming conventions on PP2 users to help prevent this, although really, I shouldn’t have to do this. PP2/Wiki Server should be smart enough to not overwrite files, and I would hope Apple would squash this bug quickly, as it is genuinely serious.

Again, all things considered, I’m quite pleased with the advancements made with Podcast Producer 2. To be fair, most of the bugs I’ve found aren’t necessarily with PP2 per se, but rather reflect deficiencies in how PP2 works with Wiki server when writing podcasts to user blogs. My guess is that PP2 and Wiki Server (two very important components of SL Server) had largely separate developer teams working on them in Cupertino (or wherever the developers are located). Even so, one would hope the quality control teams at Apple would have tested this better before releasing it to the world. It would have been nice if “real world” users such as myself could have participated in the beta testing. As it is, I guess I am helping to beta test this product, since in some key areas, Podcast Producer 2 is still a work in progress.

One thought on “Podcast Producer 2: Still a work in progress”

Leave a Reply