Published on ONJava.com (http://www.onjava.com/)
 See this if you're having trouble printing code examples

The Java Podcasters, Part 1

by Chris Adamson

Listen and you'll hear the voices of Java: talking about success stories and embarrassing failures, great innovations and over-engineered monstrosities. This could easily describe the realm of Java blogging, but now it applies to the audio space as well. In the last year, a number of Java-related podcasts have sprung up across the Web. The Java podcasters employ a variety of formats--one guy's opinions, group conversations, interviews with prominent developers and authors--to say nothing of sub-topics, rants, reactions, and audible musings.

All you need to listen to a podcast is an MP3 player--iPods are nice, but your PC will do just fine--and the RSS feeds to get the new shows to you. In this article, we're highlighting five interesting Java-related podcasts with brief interviews of the podcasters. As you'll see, the field has already diversified, so tune in to discover something that might just catch your ear.

This week, we talk with the voices of two of the best-known Java podcasts: The Java Posse and Swampcast. Next week, we'll continue with three more Java podcasts you might not know about, but should.

JavaPosse: Dick Wall

Java Posse home page
Java Posse podcast feed

Possibly the best known of the Java podcasts so far, The Java Posse offers a three-sided discussion of current events in the Java world. Just looking at the show notes for each episode reveals a huge number of topics, frequently flitting from server to desktop and back again. To cover this, it helps to have three hosts (or four--see below), each bringing a different perspective to the discussion. Dick Wall answered our questions about the Posse:

1. Can you tell us where the Java Posse came from and how you guys got started?

The JavaCast was the first Java podcast I was involved with. I had been thinking about putting a Java-related podcast together because there wasn't one just devoted to Java, but at the time didn't really know how to deal with the bandwidth requirements of a runaway success. I then came across Brandon Werner, who was putting his own Java podcast together, and I emailed him to see if he wanted a co-host. He said yes, and we put out four episodes. Unfortunately, Brandon had some bad luck with work and he also generously got heavily involved with the Red Cross after Hurricane Katrina. In the end, he decided that the podcast was not what he wanted to spend his time on, so I started looking around for other options.

Related Reading

Podcasting Hacks
Tips and Tools for Blogging Out Loud
By Jack Herrington

By that time, liberated syndication was pretty well-established, and more importantly, I knew about them (they have excellent podcast offerings, by the way, and you pay for the data uploaded, not for the downloads). Anyway, that gave us a way of delivering the content, but I knew I had to find a co-host.

I asked Tor Norbye--who I knew from my work on the Java Studio Creator EA program--to see if he would be interested, and suggested that we add a third, Carl Quinn, an engineer and friend at Google. I thought that was a great idea and so the posse was formed.

As for the name, I will admit I was somewhat inspired by the Gillmor Gang, so I wanted a group name that didn't specify a particular number (so that we could add people, or if someone was missing for a week). I went through a list and basically it came down to the highest preference that had a domain name that wasn't taken. As it turns out, the name has grown on us and it gives us a kind of fun alter-ego.

In the last couple of episodes, we have now added a fourth regular posse member: Joe Nuxoll, who is a Java developer at Apple. He fits in well with the group--everyone knows him and likes him, and he offers a little more controversy.

2. Where are you located, and how do you do your group conversations and interviews?

Carl, Tor, and Joe all live near San Francisco, while I live in Atlanta. We actually recorded episode 25 all together in a room for the first time when I was out in SF on business, but usually the whole process takes place over Skype.

For interviews, we all get together on Skype with the interviewee either on Skype or called via SkypeOut to a normal telephone. I then record the Skype conversation directly. These tend to be of variable quality, because when you get four or five people on a Skype call, it starts breaking down and Skype can start giving you trouble. A lot of time there are drop-outs or long delays, but it is the best we have to work with right now and the price is right (we don't make any money from the podcast, so price is always a concern).

For newscasts, we still use Skype, but this time we capture our own mic feeds and record just those, so we always have high-quality audio. The guys then upload their mic-feed MP3s to my home server, and I mix them together using Audacity. Having the separate feeds means I can mix and balance the volumes, and enhance the audio for each of us depending on the needs. Then I add some stereo separation (so Tor sounds like he is on the right, Carl in the middle, Joe on the left, etc.) and downmix to a single stereo track.

3. You guys often discuss a lot of different things in one show--how do you collect items and decide what to talk about?

Primarily the hero of this story is Bloglines. I have set up a section of about 20 RSS feeds from different Java news sites in Bloglines, and I scan it daily for a few minutes to pick out stories to cover, and just mark those stories as "keep." Then, at the end of the week, I run through the stories, do a bit more background on them, and put them up in a wiki along with some discussion points and the link.

Anything that the guys want included they email me with a link, and these get put in the same place.

As for deciding what to talk about, there are the big stories every week--these get covered all over the place in the media and are easy to pick out. Apart from that, we go by feel--stories that have had a good response before, and we always try and include some stuff that may have slipped below the radar. Free resources, particularly for beginners, always go over really well.

One thing we don't have a shortage of is news. Before I started doing this, I had no idea how much happens every week related to Java. It's just amazing how active this community is.

4. Since you've been going for a while in this format, are there trends or themes you find yourselves coming back to?

Since we started doing the podcast, one of the recurring themes is the demise of Java--in particular, the rise of Ruby on Rails. There are lots of prophets of doom out there saying that Java has had its day, but one thing about doing this podcast is, as I mentioned, that you get to see the incredible energy and vibrancy in the Java world every week. This does not have the feel of a dying community; quite the opposite. There are so many new things being tried, new devices that Java can run on, and new projects coming to fruition all the time.

Apart from that, every time we do segments for beginners we get a tremendous response (another sign that Java has a good healthy future). We get lots of email thanking us for pointing out some beginners' resource, a lot of interest in beginner and learning tools like the BlueJ IDE.

Of course, there are also the IDEs. It's tempting not to talk about IDEs too much because they are such a passionate subject and we always seem to get complaints when we mention one IDE over another. I actually use multiple IDEs regularly and while I don't know any of them inside out, I believe I have a pretty good feel for the strengths and weaknesses of each. Anyway, IDEs are a subject that generates a lot of feedback.

One thing about podcasting to developers is that, for the most part, developers are fairly strongly opinionated. This means that we do get a lot of quite energetic feedback at times. When we make a mistake, we are careful to correct it in the next podcast.

5. What has your listener reaction been like? Do you have an idea of how many listeners you have?

Listener reaction is, on the whole, very good indeed. To start with, we were getting a fair number of complaints or negative comments (and not helpful negative either), and we mentioned this in one of the podcasts. It turns out that the people who were happy with what we were doing were just keeping quiet. Now we get a lot more feedback and it is overwhelmingly positive. We do still get complaints or corrections but for the most part they are constructive and something we can use. I think also people realize that we are just four ordinary engineers doing this stuff, not some kind of slick spin machine. We make mistakes and our knowledge and research time are not infinite. If we make a mistake we fall on our swords, that kind of thing.

For numbers of listeners--Libsyn shows that we are averaging a little over 2500 downloads for each episode right now, and it continues to grow. One of the big problems we have is letting people know we are out there. So many people, after reconnecting, express surprise that we were out there and wondered what happened to the JavaCast. Recently we have been trying much harder to get the word out any way we can, and we have seen a rise in the number of listeners.

6. Do you use any Java-based tools to create or distribute your podcasts?

The main Java-based tool that is essential to the creation of the podcast is Gmail :-). I draw on a lot of web-based tools (I hate the term "Web 2.0," but if I say that you will catch my drift), like Gmail, Bloglines, Netvibes, and others like that.

I did at one point start creating a Java-based podcast producer, but dropped the project for a couple of reasons. One is that I am predominantly a Linux user, and the Java multi-media story on Linux is still a bit patchy at the moment (I think this is a critical market to pay attention to, if Java is going to try and make another assault on the desktop space). Also, I discovered that Audacity did everything I needed and a lot more, and decided that time was better spent working on the podcast than working on a podcast-creation tool. Maybe I will go back to it at some point, but I think I will wait and see what the new JMF initiatives turn up first.

I also lean on one tool very heavily that is Java-based, for both the podcast and my article writing. Freemind is an excellent pure Java mind mapper/outliner tool which really helps me get my thoughts organized and produce something that actually flows rather than a random stream of consciousness.

I am still hoping/waiting for a Google calendar/PIM tool to help close some of the organizational functionality I am missing. I know there are other web-based schedulers out there, but the problem with those is one of critical mass. Like Gmail, I hope that a Google PIM would become somewhat ubiquitous, and hence be much more useful when trying to schedule newscasts and interviews than the other offerings out there right now. With Google's focus on Java web apps, I would imagine any such thing would be based on Java.

7. Is there anything else you'd like to tell the readers about the Java Posse?

Yes, come and give us a listen! We cover Java news and we have been lucky enough to get some great interviews with all sorts of folks. Jonathan Schwartz was on an interview a couple of months ago, we interviewed Josh Bloch and Cedric Beust from Google, and we just finished an interview with Howard Lewis Ship of the tapestry project (that will go out in the next week) just after Tapestry 4.0 was released (something of an exclusive scoop by our standards).

Despite the name, you don't need an iPod (or indeed any portable media player) to listen; anything that will play an MP3 (i.e., your computer) will work. Just go to the Java Posse website and click on the latest episode link to have it streamed down to your computer. Alternatively, it's dead easy to subscribe and get the episodes delivered automatically.

We intend to keep the interviews coming, and that is getting easier as time passes (people have actually heard of us now, so we are not just some kooks emailing people out of the blue and asking them to interview with us). All of this is dependent on our time, and interviews take the longest to set up, but we will keep them going.

Also, if you like the podcast, please visit our home page and check out the AdSense ads. We make a small amount of money off of them, which helps defer some of our expenses (like Libsyn), and it's an easy way to show your support.

Swampcast: Michael Levin

Swampcast home page
Swampcast podcast feed

The Swampcast is an outgrowth of Michael Levin's blog, which he describes as being about "software development, technobuzz, and everything else." The story behind it is, well, pretty involved.

1. How did the Swampcast get started, and what does the name mean?

I'm from Texas, but have spent some time in some other pretty cool places, like Prague right after the Velvet Revolution and Ireland during the dot-com boom. I worked with the Czech and Slovak American Enterprise Fund in Prague on several proposals. The Enterprise Fund was set up to promote joint ventures between Czech nationals and American entrepreneurs and the idea was to stimulate innovation and friendship. And, check out RiverDeep dot com. A team of us coded the prototype for RiverDeep in a loft above the Quinnsworth grocery on Baggott Street in Dublin! We often relaxed after work in Toner's pub across the street to traditional Irish music and cold pints of Guinness. I've always tried to surround myself with smart, fun people and I am a true believer in the adage that you don't have to know everything, just know people that do. So when I came back to the States from Ireland, I wanted to live in a fun place that was full of smart people and had lots of outdoor things to do. Enter beautiful Florida, "The Swamp."

Here's how I got involved in podcasting: I read an article by Dave Winer that described a new XML tag for Really Simple Syndication (RSS) called an "enclosure." Dave started a website based on music by the Grateful Dead. The idea was that music took too long to download in real time, and you could subscribe to this website and wind up with some Grateful Dead music downloaded automatically, in the background, every morning. He did it with XML and called the MP3s "payloads."* I loved the idea. I read up on RSS later and loved it even more, because his "payload" idea, known as an <enclosure> tag in RSS, let people record audio and syndicate it. Then, Dave teamed up with Adam Curry and I started listening to his podcasts. Finally, I ran across an Engadget article describing how to write your own RSS for podcasting. So I tried it. I'm a ham radio operator from way back (WB5GYF and EI9IR) and I like talking. In high school, I took typing for about two weeks and decided wood shop would be more useful, so I never learned to type fast. Podcasting gets the message across so much easier and opened up the door for some interesting multimedia, like adding an introduction and music. It's interesting to hear a voice rather than reading.

I started blogging in 2003 when a friend asked me to set up and host a Moveable Type weblog for him. I loved the concept of Really Simple Syndication and a user-updatable website that you could publish and subscribe to. The extensibility of the weblog itself appealed to me, too. The software for my first blog was a Python plugin to a Zope web server and it is called Squishdot.

I moved here and discovered magic places like Cedar Key. I was blogging there and telecommuting and the most incredible things happened! There I wrote "The fish that didn't get away."

I wanted to get plugged into the community in Florida, especially since I am a freelance software consultant and small business owner. Cambridge Web Design has been my business since about '95 and I do website and custom software development. So first I looked around for computer and software user groups. I looked on the Web while I lived in Ireland and found that a very sharp guy named Tilak Kasturi had founded the Orlando Java User Group and met him. I was amazed to find that there wasn't a JUG in Gainesville, so I started it! I called it GatorJUG, referring to all the alligators in Florida, and on that theme, I began the GatorJUG Podcast from the Swamp. Later, I became chairman of the OrlandoJUG, too. I also started the JUG Jobs mailing list. It's a free resource for employers and candidates. The only requirement is that a rate or salary is posted with each job. That takes the some of mystery out of the recruitment process, because you know what the rate is up front and not after a long interview process. On Podcast from the Swamp I talk about the Java user groups and their speakers, sponsors, and the people who come to the meetings. I take pictures and post them on the Swampcast weblog.

I was interviewing Andrew Davey, the creative mind behind Skookum, an incredible podcatcher that works on cellphones that run Windows for SmartPhones (Windows SP) during a podcast interview (MP3) and he suggested I shorten the name to Swampcast. It stuck.

2. What do you think makes for a good programming-oriented podcast?

People do better in pairs, and I believe in the community thing. So, first and foremost, don't be an island. Invite people who can add interesting things to the mix. I thrive on hanging with positive, motivating people who have fun and make little distinction between work and pleasure. Programming is a mix of the tools and the concepts. Ever meet an analyst that didn't code? Well, they're all over the place, and they are half the pie. Programming isn't just bits and bytes and complicated algorithms. It's a way to address processes that we can call user stories. That's what use cases are about. Remember the parable about stone soup? About the wanderer that came to a strange town hungry and alone? He went to a stranger's door and said "I have a soup recipe that starts with this magic stone. It's called stone soup. If you add something, we can share it." Well, little by little the people in the town added ingredients to his stone soup and it turned out great! A good podcast can appeal to a broad range of folks, and with a little help from your friends, you can put ingredients into the podcast stone soup that make it appetizing to a lot of people, including yourself.

I try to mix in bits about not just Java, but the business end of things, like with the interview with Serge Beauregard, a person I consider a mentor. Serge did so much in his software career and helped so many people. And he retired at 55! He's just old enough to be my dad, but he's more like the big brother I never had. Someone once told me that the Beauregard Swampcast was his favorite.

I also like talking with deeply technical people like author and teacher Bruce Eckel. Bruce wrote Thinking in C++ and Thinking in Java. I learned about Bruce while struggling to get my head around C++ and object-oriented programming as a poverty-stricken programmer. I found his Thinking in C++ on the Web and it was free! Skeeborski! I couldn't believe a $50 book would be available in a pristine little HTML format and it helped me so much. Most of all, it helped me because Bruce treats his books like projects and he compiles them as he writes them. Like, in other words, every bit of code in them compiles and runs! So many times I've thought it was me when an example I tried to compile wouldn't work, only to later find out the book was buggy. I was lucky to be involved with the "Collections" chapter and a few other bits of Thinking in Java, 3rd Edition as Bruce wrote it, and we've become great pals. He's got a new conference scheduled in March called "Programming the New Web" and I plan to be there. It might even turn into a special Swampcast! A few podcasts will appeal to the very technical crowd.

I have a "Dissecting the Frog" code walkthrough series. E.B. White once said, "Explaining humor is like dissecting a frog. You can do it, but the frog tends to die in the process." The point, of course, is to not be dull like many code walkthroughs, and instead be interesting and help the listener understand the software architecture of the piece of code.

And, I think there's more to life than just seriousness, so there's some humor. Check out the "One Funny Guy" Swampcast featuring Jay Hewlett (MP3) and "So Many Things in my Mind" (MP3). My good friend Mike Shea wrote the guitar piece on "Jobless Still" (MP3) while on the bench, as many of us wind up from time to time. I met Mike at one of Bruce's fabulous conferences in dreamy Crested Butte, Colorado. We coded some pretty cool stuff up there at 9,000 feet, like a traffic simulation program that one of the attendees wrote that demonstrated some design patterns. He'd code a little and then run it on his laptop in his backpack as he rode his bike down the main street past the chrome bumper art benches to meet us at the historic bed and breakfast called the Elk Mountain Lodge on the river, which is fed by ice-cold water melted from snow on Mount Crested Butte.

A good podcast has an intro, an outline, and accompanying notes.

I believe the metadata in RSS is very important. Metadata allows the aggregator or podcatcher to show the reader notes about the show. It also works well with podcasting directories like PodCast Alley to annotate the podcast archives.

I add hyperlinks to the RSS like this:

<description>Today's Podcast from the Swamp features &lt;a href="http://www.onefunnyguy.com/"&gt;one funny guy&lt;/a&gt;, Redondo Beach comedian Jay Hewlett... </description>

You have to substitute &lt; for the < and &gt; for the >.

3. It seems like interviews are a big part of your format. Is that critical to what Swampcast is?

Yes, because Swampcast is for both you and for me. I get a lot out of interviews and the people I talk with keep me hopping. Technology like Voice over Internet Protocol (VoIP) makes overseas stuff a breeze, like the Swampcast interview with Garth Kidd in Australia (MP3), one of the minds behind iPodder. I used Skype and CDex to record that chat. I learn from the Swampcasts as much as the audience does. And, that's what it's all about, isn't it?

4. How do you put the show together? Do you use any Java tools to create or serve it?

I code the RSS XML by hand. Basically, I cut an old <item> section and paste it using an editor, usually Windows WordPad. Then I modify it according to the topic and metadata for the new podcast.

I've used Audacity and CDex, HotRecorder, and Skype. I use Windows Soundrecorder to splice together shorter .wav files and then use CDex to convert them to .mp3 format. Audacity is good for editing audio files. HotRecorder lets you record Skype conversations. The Swampcast website is on a Java-based weblog called JRoller, which is such a gift from Dave Johnson and the Roller gang. The podcast directories that feature Swampcast are often Java websites. That's a testament to the power of XML, since it's so easy to read programmatically. Simple and easy. Now, there are a slew of books about podcasting and Java, and lots of other tools to build them. I'm tech editing a book called RSS and Atom in Action, by Dave Johnson, all about cool blogging, podcasting, and wiki tools you can use as a basis for your own stuff, and the examples are all in Java. Dave's versatile enough to complement the Java examples with C# and Python, too. It's due to come out this spring. You can see some pretty elegant code in RSS and Atom in Action, and you'll be amazed at how few lines of code it takes to parse XML, serve up blogs and podcasts, and even back up your blog from a commercial blog server if you use the libraries Dave teaches you to use. It's been a lot of fun following RSS and Atom in Action's characters Rangu, Kate, and Otto as they work through the process of writing their own podcasting and blogging tools. I use a cool tool called ActiveWords, too. It's a tool that lets you write scripts to do things like annotate your podcasts with custom HTML you think of yourself.

I use Ping-o-Matic to alert lots of aggregators and portals when I publish a new podcast. Of course, the best way is to write a little script to use XML-RPC to do it automatically. Dave Johnson's RSS and Atom in Action will show you how.

Annotating podcasts is key, so people will have some links to follow, and I like to annotate my RSS with hyperlinks in the descriptions. That's easiest to do by looking at the Swampcast RSS feed and just imitating it.

Tod Maffin did the intro. I wanted something upbeat and I liked the idea of mixing in shortwave broadcast. That howl from "I Feel Good" by James Brown really wakes you up!

5. Do you have a feel for your audience? How many people are listening and what do they think of the shows?

I can tell a little from web statistics, and I like to see where people live and what they're thinking when they find Swampcast. Roller is the Swampcast host. It tells me what searches bring people to Swampcast, and the eclectic mix of topics I blog and podcast about attracts people from many disciplines all over the world. I can also see what people blog about regarding Swampcast using a custom RSS feed from Technorati. Trackbacks also provide feedback. Swampcast gets a few hundred hits per day on days I don't publish a podcast and more when I do. Various websites give insight into how many people are listening. GetaPodcast.com shows the number of times a podcast has been played from their site. JavaBlogs.com also shows statistics. ExtremeTracking.com is possibly the most useful stats engine. They show searches that brought the user to your site, geographical distributions, and more.

Some people think it's interesting. I've been told that the mix of news and descriptions of technologies and programming tips is entertaining.

Some people don't like it. I was informed that I'd been "Biled" one day and read a blog by Hani called The Bile Blog (whose motto is "If you have nothing bad to say, say nothing"), entitled "Poocasting." Hani flamed podcasting in general and Swampcast in particular, in big way. So did John Dvorak regarding podcasting, specifically, in his PC magazine article entitled "Podcasting: Not Ready for Prime Time." I had a little fun with John in a letter to the author here, and bet him he'd wind up with his own podcast. Shortly afterwards, This Week in Tech was born. The rest is history! My buddy Jim Moore (Spring contributor) told me, "some people come across better in print," and Blaine Transue of Virtual Garage said, "Ya gotta listen to yourself over and over again, and work on it." That's hard! It's so hard to listen to yourself. I was recently a guest on Blaine's show (MP3) in Sonoma, California. Blaine Transue is my favorite music podcaster and he invited me to talk about podcasting, technology, and programming.

Michael Hauser and George Coates do a video blog, BetterBadNews.com, all in Python and Zope. I've gotten interesting feedback from Michael and George.

I've made some great friends through the podcast. I was invited to give a talk on podcasting in Belgrade, Serbia! The students at the university gave me the supreme compliment: they asked for more the next day and I continued my talk over two more timeslots. I hear from them from time to time. Marko and the students invited me to a wild party and dance on the lake outside Belgrade after my podcast talk, and I bet we see some podcasts coming out of the Former Republic of Yugoslavia.

I met Behrang Saadeeza from Tehran, a bright Java programmer at the Polytechnic University of Tehran, because of his hilarious comment to a joke I put on my blog about a Texan in a bar and a bet. He responded with the same joke in Iranian terms using bread as the vehicle instead of beer. Behrang writes the blog Blogtime Exception and is working on his podcast (which might be called "'RanCast") as I write this.

I've gotten email from Malaysia, Peru, Russia, all over!

6. Is there anything else you'd like to tell potential listeners?

Disintermediation. What's that 50-cent word mean? Well, disintermediation means not having to have something like a radio station approve what you want to broadcast. That's the magic of podcasting. So, we hear podcasts from China.

Podcasting is all about the people and the technology, all about expression and breaking away from repression. "Radio? We don't need no stinkin' radio!" (Adam Curry Daily Source Code quote)

Atom is growing in popularity and worth learning. So are the metatags you need to learn to properly annotate your podcasts for iTunes. (Gotta do that!)

Fortunately, I have some volunteers through GatorJUG and OrlandoJUG, like Dan and Jen Lackey, and Anye Guevara, who help me with web development. I could use more help.

Follow the links. Send me comments! Do your own podcast. Join a Java user group. Do a presentation. My motto is "A little a day, every day." Coding takes practice--get yourself an Elmer and work the examples when you read to exercise your active imagination and memory. Java, XML, RSS, Atom, SourceForge: these are your tools.

We would like to thank Michael Levin and Dick Wall for their extensive and thoughtful replies. Next week: a NetBeans-only podcast, ZDot, and DrunkAndRetired.com.

Chris Adamson is an author, editor, and developer specializing in iPhone and Mac.

Return to ONJava.com.

Copyright © 2009 O'Reilly Media, Inc.