Blog Your Podcast





Blog Your Podcast

Blog your podcast with a hosted blogging service, or with software on your ISP.

By far, the most popular method for podcasting is through a blogging service or through blog software installed on your hosting provider. This hack walks you through all the different options that are available to you.

3.1. Podcast with Blogger

Blogger is a free blog service, and that's a wonderful thing. It means you can get into podcasting with no financial commitment. The first thing to do is to set up your Blogger blog. Surf over to Blogger (http://blogger.com/) and follow the three-step process to set up your account.

After setting up your account, go to the Settings tab and the Site Feed section and select Yes in the box next to Publish Site Feed. That will set up your Atom feed.

Next, go to the Formatting section of the Preferences tab and select Yes in the box next to Show Link Field. Now you will have a place to put the URL of your MP3 podcast file.

Create a new blog entry that has a link to your podcast MP3 file, and publish it. You can't host your MP3 files on Blogger, so you will have to find another place to put them that is accessible to the Internet [Hack #39].

To save your sanity, check the blog home page to make sure the entry was posted. Then check the atom.xml file located at http://yourblog.blogspot.com/atom.xml just to make sure it's reasonable and seems to have the right entries in it.

3.1.1 FeedBurner.

The atom.xml file is a good start, but to be a valid podcast feed it has to be RSS 2.0. The next step is to use FeedBurner (http://feedburner.com/) to create the RSS 2.0 feed for the site from the atom.xml feed.

Surf over to FeedBurner and type the URL of your atom.xml file into the Feed URL field. From there, you will need to describe your blog and set up an account. Not to worry, though; it's free.

To turn your Atom feed into RSS 2.0 [Hack #37], you need to check the Smart-Cast button. Now you will have a new RSS 2.0 feed hosted by FeedBurner. Even better, FeedBurner also gives statistics for each burner feed so that you can see how popular your podcast is.

Use your podcatcher to subscribe to your new RSS 2.0 feed to make sure everything is in order. Then use the Template tab in Blogger to add a link to your FeedBurner RSS 2.0 feed.

3.1.2 Audioblogger.

Audioblogger is a very cool service for Blogger clients. When you hook it up to your Blogger account, it will give you a phone number and a PIN. You can call that number, enter your primary phone number and PIN, and then talk for as long as you want (long-distance charges might apply). The audio will be stored on their server as an MP3 file and your Blogger blog will be updated with a new entry pointing to the file.

Since Blogger and Audioblogger accounts are free, nothing can stop non-Blogger podcasters from using the service. Just download the saved MP3 file from Audioblogger and start editing it.

This service makes it very easy to record phone interviews [Hack #34] for later podcasting. Simply conference in your Audioblogger account and it will record the entire conversation. Then download the audio, and delete the blog entry from Blogger.

3.2. Podcast with Radio UserLand

Radio UserLand is a commercial blogging service with an easy-to-use client for Windows and Macintosh. It costs $39.95 per year, though there is a 30day trial period during which you can experiment and see if it's right for you. The first step is to download the client from Radio UserLand (http://radiouserland.com/).

Start up the application on your Windows or Macintosh computer and you will be presented with your web browser pointing to a page on your machine. From here, you can set up your blog. I suggest making a blog entry or two just to get a feel for the interface. The fact that your local blog and your remote blog are kept in sync can take a little getting used to.

Once you have your blog set up, click the Prefs button on the bar along the top of the web browser window. Then select RSS Configuration. Around the middle of the page is an entry for language; make sure your language is selected there. Then go back to Prefs and select "RSS enclosures." Check the last box on the page, the one that talks about adding enclosures to your RSS output channels.

Now go back to the Home tab and edit one of your previous posts. You will see that you now have an Enclosure item along with the blog text field. Use this field to enter the URL of your MP3 file.

If your podcast MP3 files are smaller than 1 MB, you can have Radio User-Land host a few of them for you. To do this, move your MP3 file into the www/gems folder in the Radio UserLand application's directory. This file will be uploaded to the server automatically, and you can put a link to it in the enclosures field.

If your files are larger than 1 MB, you will need to host them somewhere else [Hack #39].

Before you go out to the world with your podcast, make sure you test it using your favorite podcatcher [Hack #1]. In addition, you should validate the RSS feed using FEED Validator (http://feedvalidator.org/).

3.3. Podcast with Movable Type

Movable Type (http://movabletype.org/) is an extremely popular, commercial, Perl-based blogging system from Six Apart. A single-user, noncommercial license is free.

Getting started with Movable Type is straightforward. You upload it to your web server, unpack it, and then run an installation script. The Movable Type site provides a full walk-through of the installation. The requirements are Perl support and MySQL, which are satisfied easily by any reasonable hosting provider.

Movable Type 3 comes with RSS 2.0 support preinstalled, but it does not support the enclosure extension. To get enclosures in your RSS 2.0 feed, you will need to install a Movable Type plug-in.

3.3.1 Using the enclosure plug-in.

Movable Type has a cool plug-in infrastructure that allows you to add everything from surveys to weather reports to your blog. Brandon Fuller's MT-Enclosures plug-in (http://brandon.fuller.name/archives/hacks/mtenclosures/) allows you to add <enclosure> tags to the RSS 2.0 template. Installing the plug-in is a snap. Simply unpack the archive and upload the Enclosures.pl file to the plugins directory within Movable Type.

Now when you look at your Movable Type administration home page, you should see MT-Enclosures listed with the active plug-ins. That's a good sign. You are halfway home.

The next step is to add an MTEntryEnclosures tag to your RSS 2.0 Index template:

		<item>
		<title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
		<description><$MTEntryBody encode_xml="1"$></description>
		<link><$MTEntryPermalink encode_xml="1"$></link>
		<guid><$MTEntryPermalink encode_xml="1"$></guid>
		<category><$MTEntryCategory remove_html="1" encode_xml="1"$></category>
		<pubDate><$MTEntryDate format_name="rfc822"$></pubDate>
		<$MTEntryEnclosures$>
		</item>

After saving the revised template, you will need to rebuild the RSS 2.0 page.

With this plug-in installed, you will get enclosure tags for any media that are in the body of the blog posting. That includes audio, images, and movies. One potential gotcha is that many podcatchers will get only the first enclosure tag. So, if your blog entry has an image tag included before the link to the sound, you will get the image enclosure tag first.

I encountered this enclosure ordering problem on my site, so I edited the plug-in to remove any code that looked for GIF or JPEG images. It was easy just to comment out the lines that looked for these tags.

3.4. Podcast with WordPress

WordPress 1.5 (http://wordpress.com/) is a free PHP-based blogging system that you download to your ISP web account. Any hosting service that supports PHP and MySQL should be compatible with WordPress. Thankfully it already has support for RSS 2.0 and enclosures baked right in. Any time you include a reference to a media file within a blog entry, WordPress will create the appropriate enclosure tag automatically. Now that's service!

If for some reason you want don't want to add a link in the entry itself, you can add the enclosure tag through the custom fields mechanism. When you edit your blog entry, click the Advanced button and scroll down to the custom field area. Add a new custom field with the key named enclosure. Then type the URL of the enclosure into the value field, its size in bytes, and its type, on three consecutive lines separated by returns:

	http://www.boundcast.com/podcasts/bc_0131465759.mp3
	760465
	audio/mpeg

It's ugly, but it works out of the box. Obviously you will need to get the size of the MP3 file for this to work. Any directory listing should give that to you.

3.5. Podcast with Drupal

Drupal (http://drupal.org/) is a PHP-based blogging application. The 4.6.0 version of Drupal supports RSS 2.0 enclosures natively, but you need to configure the application properly. You start by enabling some additional modules. Use the Administer menu and select the Modules submenu. Enable the aggregator and upload modules by selecting the corresponding checkboxes on the righthand side of the window. From there, select the Blocks submenu and enable the Syndicate checkbox.

With these configuration items enabled, an attachment field will appear for new blog entries. Click the Choose File button to select a media file to attach to the blog entry, and then click the Attach button to complete the upload and attachment. If you just press Preview or Submit, you won't get the attachment on the blog entry.

Your blog's readers will see an XML icon above the blog's navigation menu. This is an RSS 2.0 feed, which any podcatcher can use.

3.6. Podcast with Libsyn, AudioBlog, or Odeo

Three new dedicated podcasting services are available on the Web. The first is Liberated Syndication, the second is AudioBlog, and the third is Odeo. These provide podcast hosting for accounts for a monthly fee.

3.6.1 Liberated Syndication.

Liberated Syndication (http://www.libsyn.com/), or Libsyn, is a hosted service designed specifically for podcasting. The company has a unique billing model. You sign up for a certain number of megabytes per month. The basic rate is $5 for 100 MB per month. This means you can upload 100 MB of new podcasts per month, regardless of how much you have uploaded in the past. If you figure that every podcast you make will be around 5 MB, that's 20 podcasts. You are not charged for any bandwidth fees.

To set it up, you surf to the Libsyn site and click the "sign-up for service" link. Follow the registration and payment steps, and within a few pages you will be editing your blog. To create a new entry, click the Podcast/Blog tab. You will get a blog entry form with a button on the bottom that allows you to upload your podcast file. You can also make a text-only blog entry if you want.

The service manages the RSS 2.0 feed for you automatically, with the appropriate enclosure tags.

As of this writing, you can control the blog's look and feel through templates. You can change the blog's fonts and styles by altering the CSS, and you can change the contents of the sidebar by using a simple Wiki-style syntax.

Libsyn is the easiest way to start podcasting if you currently don't have a web site or a blog.

Libsyn has a directory of all its podcasts at http://directory.libsyn.com/.You can subscribe your aggregator to them by following the RSS links of the main directory page.

3.6.2 Audioblog.

Audioblog (http://audioblog.com/) provides a service similar in form to Audioblogger, but extends the reach to all the various blogging platforms and services. For $4.95 you have a hosting service for your media that you can attach to your hosted blog (e.g., your http://blogger.com) account, or the Movable Type or WordPress blog you have on your ISP.

You can add sound to your blog through Audioblog in three ways. The first is by uploading your podcast MP3 file. The service also provides a Flash extension that you can use to record directly to the site, as well as a phone number you can call where you can leave messages that will be posted to your account. Disk space and bandwidth are unlimited. However, the size of any one media file is limited.

When you post through Audioblog, the system automatically will contact your Blogger account, or the blog on your ISP, and post the blog entry with the associated media link. It also posts a sexy Flash player that readers can use to listen to your podcast without leaving the page.

Audioblog also provides an RSS 2.0 feed for your audio that you can link to from your home page. This means you don't have to hack Movable Type to get it to put enclosure tags in the RSS 2.0 XML.

You can think about Audioblog as an extension service for your existing blog. If you already have a blog, and you want to add audio and are willing to pay a monthly fee to have someone deal with that for you, Audioblog is a service you should look into.

3.6.3 Odeo.

As this book went to press, the Odeo (http://www.odeo.com/) podcasting service was in beta and preparing for its launch.

Odeo is similar to AudioBlog (http://audioblog.com/). There is a Flash recorder tool to record your podcasts. You can also upload podcasts as MP3s, and phone them in on a phone number hosted by the service. Pricing specifics had not yet been worked out as this book went to press.

One innovative new feature is the OdeoSyncr application that you can download to your Windows machine or Macintosh. This is a very easy-to-use podcatcher that works specifically with Odeo podcasts.

3.7. Podcast for Free with Ourmedia

Ourmedia (http://ourmedia.org/) is the podcasting service of the Internet Archive (http://archive.org/). As long as the material you upload is licensed under a Creative Commons license, you can podcast on their service free of charge.

To begin using the service, simply request a new account by clicking the Register link on the home page. Follow the instructions and a new account will be created for you. Your password will be sent to the email account you specify.

Once you have your password, log in to the service and click "my page." From here you can put up a picture of yourself and flesh out your biographical information. To upload your first podcast, click the "post to my blog" link.

The top portion of the blog form contains the subject and an edit box for the entry. The bottom portion of the page is where you specify attached media files using the Attachments area. Once you have your blog entry and the attached MP3 podcast file, press the Submit button to post it to the Web.

There are some downsides to the service. The upload can be fairly slow, particularly if you have a slow connection to the Internet, and you don't get any progress information as it's going. In addition, you don't have much control over the look of the blog. But, free is a great price, especially when you just want to try out podcasting.

3.8. Categorize Your Podcast Feeds

Organizing your podcasts by category can help your listeners navigate to the shows that interest them. Both Movable Type and Word Press have category management built in. You can assign one or more categories to each post. The number and organization of the categories are completely up to you.

With Movable Type, you will need to create a new RSS 2.0 template for each feed. First copy the contents of the RSS 2.0 Index template. Then create a new template and paste in the contents from the original template. Alter the MTEntries tag to add a category filter using the category attribute, like so:

	<MTEntries lastn="15" category="fun" > 
	<item>
	<title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
	<description><$MTEntryBody encode_xml="1"$></description>
	<link><$MTEntryPermalink encode_xml="1"$></link>
	<guid><$MTEntryPermalink encode_xml="1"$></guid>
	<category><$MTEntryCategory remove_html="1" encode_xml="1"$></category>
	<pubDate><$MTEntryDate format_name="rfc822"$></pubDate>
	</item>
	</MTEntries>

You can also filter on author if you have multiple blog authors. And you can filter on number of days if you want to restrict it to the last couple of days or longer.

Once you have created your new template, you should rebuild the site and use your podcatcher to check out the feed. If that works, add some links to the category feeds to your Main Index template, which is your blog's home page.

WordPress has the category feed capability built in. Simply add a category qualifier to your RSS 2.0 URL, like this:

	http://localhost/wordpress/wp-rss2.php?cat=1

This is the RSS 2.0 URL with a category filter on it. To get the full feed, simply remove the ?cat=1 portion. To change the category, just tweak the value from 1 to the ID of the category you want. Category IDs are listed in the Categories section of the Manage tab.

You can add links to these category-specific feeds to your Sidebar template or Links template in the Theme Editor portion of the Presentation tab.

3.9. Hacking the Hack

To make it easier for your audience to listen to the show straight from your blog, you can use a free embedded Flash player, called MusicPlayer (http://musicplayer.sourceforge.net/). Download and unpack the player you want. You can choose the wide version or the slim version. I've used the slim version in this example.

First upload the xspf_player_slim.swf Flash player movie to your site in a directory that is visible to the web server. The next step is to create an XML Shareable Playlist Format (XSPF) file that references just the podcast. These files are given the extension .xspf, and their format is defined on the for-mat's home page (http://xspf.org/).

Here is an example XSPF file from my site:

	<?xml version="1.0" encoding="UTF-8"?>
	<playlist version="0" xmlns="http://xspf.org/ns/0/">
     <trackList>
      <track>
       <location>http://boundcast.com/podcasts/intro.mp3</location>
       <annotation>Boundcast Introduction</annotation>
	  </track>
     </trackList>
    </playlist>

The important details are the URL of the MP3 file for the podcast, and the name of the podcast. Since it's a playlist file, you could have multiple tracks, one with every podcast on the site. It's up to you.

Upload the .xspf file to your site in a place that is accessible from the web server, perhaps in the same directory as the podcasts.

The final step is to add the player to your web page. Here is some example code that you can drop in your blog entry or page template, depending on how you want to use the player:

	<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
	codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.
	cab#version=7,0,0,0"
	id="xspf_player_slim" align="middle" height="15" width="400">
      <param name="allowScriptAccess" value="sameDomain"/>
   <param name="movie"
        value="http://www.boundcast.com/podcasts/xspf_player_slim.swf"/>
		<param name="quality" value="high"/>
		<param name="bgcolor" value="#e6e6e6"/>
	   <embed
	   src="http://www.boundcast.com/podcasts/xspf_player_slim.swf?       playlist_url=/
podcasts/040105.xspf"
	    quality="high" bgcolor="#e6e6e6" name="xspf_player_slim"
	    allowscriptaccess="sameDomain" type="application/x-shockwave-flash"
	    pluginspage="http://www.macromedia.com/go/getflashplayer"
	    align="center" height="15" width="400">
	    </object>

The two places you need to tweak are the movie tag, which is a URL to the location of the player on your site, and the src attribute, which is the same but has the playlist_url argument added with the relative URL of the playlist. In this case, I chose to use the filename 040105.xspf for the playlist, and to put it in the same directory as the movies and the rest of the podcasts.

3.10. See Also


     Python   SQL   Java   php   Perl 
     game development   web development   internet   *nix   graphics   hardware 
     telecommunications   C++ 
     Flash   Active Directory   Windows