Before we get the year marching ahead with full-on lengthy blog posts on topics I (as of yet) know very little about, I thought it would be a good idea to introduce something I’ve been working on in secret the last few months of 2018.
I’ve started a podcast called Relatively Productive with topics that might include productivity (surprise), time management, technology, life, goals, fitness, programming, and honestly almost anything else.
It’s early stages for the podcast, so we are excited to see it grow and mature into the something that we want it to be. Along with your help.
Co-hosted by unsurprisingly, my friend and no stranger of being mentioned here on the blog, Daniel van der Merwe. While I’m mentioning him go check out his fascinating blog September Zero where he quantifies life one blog post and git commit at a time.
Pugging aside I can share some more interesting technical details, seeing as I promised this would be a somewhat technical blog - right?
The technical details
Before we got anywhere near launching the podcast (which I’ll refer to as RP from here on) we needed something that could:
- Host the actual audio file (.mp3 in this case)
- Serve a podcast player/directory friendly RSS feed
- Provide us with some form of play/download analytics
- Not be outrageously expensive
There are loads of so-called “podcast hosting” companies that provide at least three of the above four requirements, but in almost the exact same way this blog came to be, they were all just a little sucky or priced as if the acronym HDD scares me. Seriously, who pays $20 p/m for 250MB “monthly” storage, I can have a terabyte on Azure for that.
You know what this means don’t you? I had to come up with something of my own.
Starting a podcast is a lot of work, there are seemingly endless tiny things to do and services to sign up for. Honestly, I wanted to focus on the content instead of the technical side for once.
Also, creating a full podcast hosting system from scratch would be too much work. I want this podcast to be a long term project which means as little recurring effort as possible. That rules out yet another new codebase to maintain.
Some careful investigation later and I found that SoundCloud does all that we need, for free. Now that was what I’m after.
We decided to host the RP website on BlogFull, since it actually does everything we need as far as a website goes.
The simplicity of its Content Management System (CMS) would be absolutely fine, and I know the codebase so well I could tweak it for podcasts with minimal effort. Enter PodFull, the BlogFull codebase tweaked for exactly that - released for your fine eyes if you so please.
We launched the RP site on PodFull with SoundCloud as our audio backend and submitted the podcast for review on all the major players. Things were looking great.
Eventually, RP was listed on everywhere that made sense and we ran into one snag. The SoundCloud RSS feed has two main limitations:
- Links (or any HTML for that matter) in the episode description are served as plain text. Meaning we couldn’t have links or images in the show notes for people to click on to see what we are on about. Fairly crucial.
- The “Summary” and “Description” fields are the same. Meaning you would see a wall of text on some podcast players when you just want a brief intro about the episode. Filthy.
<soundCloud:feed>
<itunes:summary>Daniel is afraid of launching stuff in public. Jacob tries to convince him that it’s not a big deal. Both awkwardly introduce themselves badly. https://relativelyproductive.com/episode/1</itunes:summary>
<description>Daniel is afraid of launching stuff in public. Jacob tries to convince him that it’s not a big deal. Both awkwardly introduce themselves badly. https://relativelyproductive.com/episode/1</description>
</soundCloud:feed>
I’m all for finding workarounds and at this point, I would even pay SoundCloud a bit of cash to give me those features we need, but we had come too far and that isn’t even possible.
“Well done for having your podcast listed on iTunes son!” - My Mom, probably, if I had told her; and she knew what iTunes is.
I got to the nearest browser and started ducking[1] the heck out of RSS feed specifications. I found this Podcast Feed Best Practice writeup by gPodder to be incredibly insightful. I rolled up my sleeves and wrote a custom RSS feed into the RP adapted PodFull feature set.
Since we’re going to be posting about each episode of RP on the website anyway, it made a lot of sense to have the website content be the source of truth for the RSS feed as well.
PodFull already converts the markdown formatted show notes to HTML so we could simply send that on through, and each episode has a short description used for search engines which would be perfect in podcast players. Sorted.
One incredibly stressful publish to the live environment later and I could start changing the feed URL on all the podcast aggregators. Turns out Spotify doesn’t really like this, but their friendly-yet-incredibly-slow support staff were able to get everything sorted eventually.
So there you have it, the story of how BlogFull (essentially) now runs the RP website and RSS feed with features that surpass some paid “podcast hosting” providers.
[1] What is the term for searching on DuckDuckGo? Their version of “Googling”; Duckducking? duckduckgoing? Quacking? I went with “Ducking” for now since it made me laugh the hardest. I won’t blame you for imagining someone sitting at their desk quacking and splashing water everywhere.
The Relatively Productive podcast is available everywhere you expect it to be, feel free to give it a listen on Apple Podcasts, Google Play, Spotify, Youtube, Overcast, or subscribe to the RSS feed in your player of choice.
Thanks for stopping by.