Podlove Publisher 2.3: Improved Foundation

When making decisions on what to work on next is one of the big challenges especially when thinking about the upcoming versions of the Podlove Publisher. There are so many places where we could extend and enhance the system so we need to carefully choose our battles.

With Podlove Publisher 2.3 which was released a couple of days ago, we decided to focus on stability, compatibility and integrity of our foundation. We addressed a couple of things that look minor in the release notes but are important fixes to make sure our features are built on stable ground and behave properly in the wild Internet.

Foundational work

For instance, we are now making sure we are following internal WordPress settings regarding the composition of feed URLs regarding a trailing “/”. This slash will either be removed or enforced now (depending on your settings) and the other version will reliably redirect to the configured URL with a HTTP Permanent Redirect (code 301). While this does not look like a big deal we are making sure that podcast directories can reliably identify your feed and prevent and remove duplicate entries.

We have also integrated more closely with WordPress’ cache strategies, opened up the Publisher to non-admin accounts, added a small button to automatically generate the duration from existing media files (even if hosted on another server), improved analytics and fixed numerous other small issues.

For developers, we are now opening our internal system to theme developers. The API is exactly the same as our template system so if you want to recreate features made possible by Podlove Templates in your WordPress theme you can do so now. We can’t wait to see Podlove-optimized themes for podcast-optimized blogs.

In addition to that, we have unbundled support for the Flattr micropayment system in a separate module and removed our reliance on the Flattr WordPress plugin so that the Publisher can now support Flattr completely on its own. And if you do not want to use Flattr at all for some reasons you can now turn it off completely. However, we still think Flattr is a great addition for the podcasting ecosphere and strongly suggest you use it.

Metadata features

While most of the things above are mainly improving the system and offer new options for developers and blog administrators, we have also upped the support for podcast metadata by offering two new data types: seasons and related episodes.

Seasons are basically what it says on the tin: you can now specify time ranges that represent certain phases your podcast has had. Be it a genuinely seasonal structure (like a sports podcast focusing on each season) or a transitional period of change (like a change of the team, renaming your podcast or changing its structure) that you want to communicate to your audience: seasons let you do that. While you can specify seasons internally, you currently need to explore the power of Podlove templates to bring this to the website. We are waiting for your feedback and will introduce proper defaults for archive pages etc. later on.

Related episodes are a feature where you can let episodes point to each other expressing they are related. We have decided to keep this feature simple. There is no “relation type” and the relation is always bi-directional. If you say A is related to B, then B is automatically related to A. Good thing: when new episodes point to old episodes, old episodes automatically refer into the future. Use the [podlove-related-episodes] shortcode for easy inclusion of the feature in your posts.

Both metadata features might be extended in the future but we want to keep it simple for now.

So upgrade to Podlove Publisher 2.3 today and while you are at it make sure to upgrade your PHP to version 5.6 too. PHP 5.4 as reached end-of-life status recently and won’t get any security fixes any more. The more people move to modern PHP versions the earlier we developers can build on the new features and capabilities these versions bring. This makes developing complex tools like this much easier which is good for all of us.

Podlove Publisher 2.2: Say hello to image caching

Four rotations

Hello everyone: a new Podlove Publisher release is out and it’s again an incremental update that focuses mostly on a single area: this time it’s all about images.

Because we are making use of WordPress latest image subsystem we have also upped the requirements to WordPress version 3.5 (however, we recommend using the very latest version of WordPress which as of today is 4.2.2).

As usual, feel free to discuss the release with the Podlove Community.

Images: URLs, caches, sizes and retina

As you might know, we have decided to go with external URLs when it comes to things like images. Podcast and episode image as well as avatars are all configured by providing external URLs. Problem was that it was difficult to control image and file size which can lead to huge load times for episode and archive pages etc.

We have now added an internal and automatic image cache that not only caches images but also automatically resizes images depending on the usage context. This should reduce image load times significantly.

We have also added new Podlove Template accessors to easily include those images in your templates. Use expressions like podcast.image.html, podcast.image({fallback: true}).html or contributor.image.html({ width: 32 }) to get proper <img> tags for your HTML.

Not only are these accessors easier to use than the old ones (which are now deprecated), they also bring the added benefit that we automatically provide “retina” images (the same image linked in 2x and 3x versions) to make the picture look nice on higher-resolution displays. Social and donation service icons have also been refreshed and are provided in higher resolutions.

The whole cache is put in the ./wp-content/cache/podlove directory and is properly marked so it can be automatically excluded by your backup plugin.

What about the Media Library?

We know that some of you would like to see a tighter integration with the WordPress Media Library to lessen the dependencies on external URLs and we have been discussing that. We might tackle this in a future update but it needs a lot of second thoughts in many ways.

Right now, Podlove Publisher is aimed at advanced users but we’d like to bring it all to a level where the tool is nice and fancy for starters too. This would include making the setup much much easier, automate the selection of hosting providers, handle direct uploads and make the setup of assets and feeds simpler and mostly automatic. We’re getting there eventually.

But we know we have demanding users that also want to see advancements in many other areas that are currently our focus.

So on the plus side you can be assured we have neither a lack of ideas nor a lack of todo items on our lists. You can help us getting to all these places by making a donation (or even better, subscribe to our professional support) and promoting our projects to other podcasters and podcast app developers in particular.

Introducing paid Podlove Publisher Support

Hi, I’m Eric.

I’m the guy who started developing the Podlove Publisher plugin more than three years ago with this commit. A year later, Podlove started to get significant support by donations and crowdfunding — from you. As I am the one who got the biggest chunk of it: Thank you!

Today, more than three years after the Podlove Publisher project started, I’m still here. And I’m just as excited to get us through the Roadmap as on day one. We have plenty ideas for how to improve the Podlove Publisher. The main constraint is time.

My aim is to make working on the Publisher, or other projects in the Podlove universe, a sustainable endeavor for me. Ideally full-time. Today I am taking the first step in that direction. Let me explain what I have worked on recently:

Professional Support for Podlove Publisher

According to WordPress we reached over 1000 active installs. Woohoo! While user numbers increased, so did the time we have to spend in our support channels. We have high standards to the quality of support we provide, but time spent answering questions is also time spent not working on the plugin.

Starting today, we offer private, professional support at publisher.podlove.org/support. I set up a ticket system where you can ask questions and get help in a confidential environment. All conversations will only be shared between you and our Support Agents (a fancy term for “me”). As of right now, every support request will be handled by me, the plugin developer, directly. So no matter if your questions are technical or not, I will be able to help. The support interface is english only, but please feel free to speak german.

There are three tiers for different requirements:

Basic — 5€ per month and podcast is the entry package for hobbyists. You get full access to the support system and your questions will be answered.

Business — 15€ per month and podcast is for professional podcasters who need quicker responses. This package includes “Backend Support”. If you like, you can let us login directly into your WordPress to find bugs and misconfigurations quickly.

Premium — 55€ per month and network is like the Business package, but for professional podcasters who are using WordPress Multisite for podcasts, no matter how many.

On a side note, this is a great way to regularly support Podlove Publisher development. Especially if you stayed away from traditional donations because you don’t get an invoice. With Podlove Publisher Support, you receive a proper invoice and can book it as an expense.

Get great support while helping to sustain continued development of the Podlove Publisher.

What does this mean for the existing channels?

GitHub Issues, our main support channel until now, will just be the bug tracker in the future. Free public support will always be available in our Podlove Community.

Oh, and before I forget, the Podlove Publisher has a cozy new home at publisher.podlove.org.

If you have any thoughts or feedback, please let us know in the comments or on Twitter (@ericteubert or @podlove_org).

Podlove Publisher 2.1 is here

We have finally released Podlove Publisher 2.1. Despite it’s “minor” release number, it’s a packed release with more than 200 changes to the core.

We have already hinted at some of the new features but let’s give you an overview of the major milestones version 2.1 represents:

WordPress Multisite Support

As some of you might know, WordPress can be installed in a way that you can actually run multiple blogs with the same code base on one server. This is handy for everyone who needs to run more than one blog – or more than one podcast.

You can activate Podlove Publisher now system-wide and not only get support in each blog but you also get a network-wide dashboard, the ability to create “lists of podcasts” that can be used for overviews and a network-wide installation of Podlove Templates.

We see this as a feature for advanced users and blog administrators but we tried to keep it as easy to use as possible. This area will most probably be enhanced and evolved over time.

Podlove Widgets

WordPress has a simple system to put information in sidebars, footers etc. called widgets. The Podlove Publisher now adds a few Podlove-specific widgets to make it easy to display your podcasts logo and description, license information or invoke a Podlove template.

More template power

For the experienced user, Podlove templates are a powerful tool to enhance your website and create a consistent presentation of your podcast information. Release 2.1 contains various new accessors, direct support for the Podlove Subscribe Button and Flattr buttons and much more minor enhancements.

Other changes

There are more changes that might be of interest to you. There is also a fancy new dashboard widget telling you more about gender distribution in your podcast team.

To get the full list, move over to our Podlove Community where we you can discuss the new features and ask us questions about it. We are happy to answer and give you tips on how to make use of the new stuff that’s in 2.1.

Integrating the Podlove Subscribe Button

A while ago we have released the Podlove Subscribe Button. Hundreds of podcasts and some podcast directories have integrated the button in their web site and reception has been generally good.

We have done some improvements under the hood but as the button in centrally hosted, each button out there automatically gets upgraded to the latest list of apps and cloud services.

If you find something that does not work, please report it to us so we can fix it.

New PSB plugin for WordPress

Integrating the button in your web site is easy, but it can never get easy enough. In Podlove Publisher, we have included a WordPress widget called “Podlove Publisher Subscribe Button” that you can use to put a PSB in your sidebar announcing your podcast. Using a WordPress shortcode you can put a button in pages and articles too.

But what if you are using WordPress but not the Podlove Publisher? Or what if you want to provide a list of buttons for other or related podcasts? Well, we have you covered too as we have just released a separate WordPress plugin where you can set up your own buttons as easy.

If you install the plugin, you can set up your buttons in settings and then use a separate WordPress widget (or shortcode) to place your buttons whereever you want. So no need for HTML wizardry or Podlove Publisher to simply include the button.

Advanced activation schemes

People have also asked how they can activate the button using a simple link. It is possible too. Just refer to our technical document too see how to create proper links and also how to customise the colors of the button if you wish to do so.

Future versions of the button will make customization much easier and all those options will of course be rolled into the plugin too.

Podlove Analytics

With little fanfare we released Podlove Publisher 2 a few weeks ago. While major version numbers usually bring a lot to brag about we kept it quiet because we wanted to be ready to adjust bugs that could have stemmed from a huge new feature: Podlove Analytics.

But it all worked so we should talk about it. Podlove Analytics brings you statistics about your podcast you always wanted. There is still work to be done so we have just started with what everybody was desperately looking for in the first place: download statistics.

Actually, we have brought tracking of download to Podlove Publisher a while ago. It silently sneaked in your Expert Settings and those who found it and enabled it have already started to collect information. With Podlove Publisher 2 you can now visualise the data in your blog.


How to activate Analytics

In your admin interface, go to “Podlove -> Expert Settings -> Tracking” and enable the “Tracking URL Parameters & Analytics” setting. The day you switch that on, Podlove will start collecting information about downloads.

When tracking is enabled, you get a new menu called “Podlove -> Analytics”. After a day or so, you will get the first results and can start exploring how your podcast is downloaded.

Download Intents

What we actually track is something we call “Download Intents”. Podlove Publisher does not manage media file delivery so we do not have access to actual download log files. But when tracking is enabled, download links are routed via a redirect mechanism that starts counting when a client wants to access the file. This mechanism seems to work much better than we expected.

So while the user interface simply calls it “downloads”, it’s actually “download intents”. But our tests show that this seems to be in line with reality.

Interactive Visualizer

Right now, you can dive into download statistics for each episode. You look at the total downloads over time but you can also break it down by operating system, client used, download source (download via feed, web player or direct download), download context (which feed, which page etc.) or episode asset.

Please play around with the options and let us know what you find useful and interesting an in what way you want this to evolve.

Future Development

In the future, we will add geo information (which already gets collected) and we will further enhance the way you can break down numbers, compare averages, detect exceptions and how clients will be detected.

In addition to download statistics we will also tackle feed subscription statistics. This still needs some work as we need to research realities with feed proxys and statistics services (like FeedBurner or FeedPress) but it’s definitely on our list.

The Podlove Community and support

At Podlove, we use GitHub issue pages for bug reports and in the last years there have been a lot of helpful feedback. We have also received a lot of support questions which was fine.

But in order to get to a more sustainable model for support we have recently opened the Podlove Community web site. This is the place where you can not only get in touch with developers but with all the other Podlove users too. So it should be your first address for posting questions, finding answers, sharing solutions, workflows and templates too.


There are categories for all major Podlove projects and we are also posting information about major releases there too so you can discuss and ask questions about it right there.

We hope you all join the Podlove Community and make it an ever better place to share your experiences. We closely follow the discussions and use the feedback to further improve our software and standards.

Get ready for Podlove Publisher 2.1

After having spent many releases in the 1.x version branch we are changing the way we release features since version 2 of the Podlove Publisher.

In the future, we will release in a more focused way, adding new features only in 2.x releases and let 2.x.x versions provide bug fixes only. It should have been like this all the time but that’s just how life works, right?

So now version 2.1 is around the corner and one of the big news is that it’s coming with extensive support for WordPress Networks (also called multisite installations). We add some new stuff but we are also going to move some existing features to the network level making them more useful in the future.

Necessary incompatible changes for templates

The first and most obvious candidate for networks are Podlove Templates: Publisher 2.1 allows you to install site-wide templates and use them in every single podcast within the same WordPress Network. This should make it much easier to maintain a general feature set and/or look.

But be prepared: we needed to make a backward incompatible change to how Podlove Templates integrate with WordPress’ shortcode system.

If you call templates via [podlove-template template="my-template" arg1="foo" arg2="bar"] then the system passed the arguments as twig variables arg1 and arg2 to the called template.

However, with Publisher 2.1 these variables will be renamed to option.arg1 and option.arg2 respectively so you will need to change your own templates as they might stop working properly once updated to the new version of the Publisher.

All internal templates are of course automatically adjusted so you need to be aware only if you have created your own templates with parameters. If you don’t yet use these, nothing will haunt your sleep. If you do, please make sure to apply proper changes right after having updated.

Template name changes

In order to be compatible and side-effect free when you also install the new Podlove Subscribe Button plugin, we have renamed the shortcodes for displaying the Subscribe Button within Podlove Publisher.

What used to be called [podlove-subscribe-button] is now [podlove-podcast-subscribe-button] for consistency. The dashboard will tell you that but we thought it might be worth noting up front.

We apologise for the inconveniences. We hope the new release will otherwise entertain you and make you happy.

Introducing the Podlove Subscribe Button

The Podlove Subscribe Button — One button to subscribe them all

Podcasts are becoming more and more popular for many reasons – the subscription model being one of the more important ones. Automatic downloads make podcast content easy to access and flexible to use and create an important bond between creators and the audience.

However, to actually subscribe to a podcast has proven to be a confusing and error prone task. No more: because today, we are going to change all this with the introduction of the Podlove Subscribe Button.

The idea is simple: present one simple button that makes selecting a podcast feed and passing it along to your favourite podcast app (either on your computer, mobile phone or in the cloud) a no-brainer. To subscribe, your audience just clicks the Podlove Subscribe Button, selects an app and there is (usually) no step three.

One button to subscribe them all

Okay, so we say it’s simple. Let us walk you through this to prove our point.

On the podcast website, you see the Podlove Subscribe Button somewhere. We use the established term “subscribe” and the well-known generic Podcast logo (once popularised by Apple) to make clear this button is all about subscribing to a podcast and not to be confused with blog subscription which is a totally different thing for the user (although being technically similar).

That’s how the button looks up-close. Please note, the button comes in various sizes to be able to fit various contexts in web sites. We like the big smashy version that combines with podcast cover best:


Once you activate the button by clicking it, it displays a summary of what you are about to do. We do this to ensure you know what you are going to subscribe to. This is how this looks on an iPhone 5:


When you select “choose app” the button automatically detects the OS you are using and presents a list of well-known apps for that particular platform.


In this example, we choose to open the podcast in the Castro app for iOS which brings up the app’s subscription dialog window. Here you can review your decision once more and proceed to actually subscribe to the podcast (or cancel the process). Please note that some apps just go straight to subscribing to the podcast without asking. This depends on the App and can’t be influenced by us.


What if launching failed or if the app is not yet installed? Well, then you get some strange OS-dependent error, but the Podlove Subscribe Button still has you covered: you can retry or just proceed to the primary location to download/install/buy these chosen app (or go back and choose a different one).


Alternatively, you can change to the “Cloud” tab and get a list of web-based services where you can log in with your account and subscribe to the podcast there. This means you can actually subscribe to a podcast even if you are not using your or your primary podcast device.


In the rare case that you use an app that is not yet supported by the Subscribe Button, you can also choose “other app” and copy the usual feed URL that you can then manually transfer to the application. This is somehow still the tedious old way of doing it but at least there is a defined way how to present the URL to the user.


The button has been translated in many languages already and we will provide as many translations as the community is willing to contribute.

The button is hosted by Podlove and will silently be updated to accommodate for new or updated apps and services. Podcasters simply have to set up the button once and they’re set. When new podcasts app surface: we will include it. If new platforms become important: we will support it. When things break and change: we will take care of it.

Supported apps

As of today, the following apps and cloud backends are actively supported by the Podlove Subscribe Button (with more to follow):

Working with the developers

Behind the scenes we have been reaching out to almost every podcast app developer on every popular computing platform. We have pushed for simple changes to their apps (while many have been compatible from the start) and we have seen many small updates in the recent months to prepare for the launch of the Podlove Subscribe Button.

While we cover most of the current podcast app ecosphere, we are going to add new apps and services as long as they are compatible with the Podlove Subscribe Button. If you are a developer and your app is missing, please review our technical guidelines and contact us.

We provide extensive documentation on how to properly integrate with the Subscribe Button and there is also a fancy testing page to make sure your integration works the way it should.

Loose ends and future plans

Currently, the Podlove Subscribe Button only supports audio podcasts but we will extend it so that you can actually subscribe to video (and even ebook) podcasts as well soon.

We are also thinking about how to support explicit selection of specific formats (like MPEG-4 AAC, MP3, Vorbis, Opus) or feed variants (high and low quality versions etc.). Right now, we automatically choose the right format for you which should serve most customers properly.

There are some issues with new podcast websites that (understandably) go https-only as many podcast apps have problems dealing with podcast feeds via https properly and/or have just trouble subscribing to them once the Subscribe Button presents an actual https URL to them.

We are also working on a solution to make the button blend in more friendly in your web site design so that colours can be easily customised.

Podlove Publisher 2: phasing out PHP 5.3

As of today, PHP 5.3 has reached “end of life” status with the release of version 5.3.29 which means that the PHP community will no longer bring out any updates and wants everybody to move to either version 5.4 or – even better – 5.5. This also means no more bugs and/or security issues will get fixed.

Therefore we have decided to move on with Podlove Publisher and require PHP 5.4 starting with the next major release (2.0) which might be ready in a few weeks from now. This also allows us to use some nice new language features in 5.4 for upcoming features of the Publisher.

We know that there are quite a few web hosters out there who neither care much about security nor regular feature upgrades. Locked in a “legacy world”, these companies do not provide timely updates and are unable to provide you with a modern foundation for your web applications. Just to be clear: PHP 5.3 is now FIVE YEARS OLD. On the Internet, this means ancient. If your hosting company can’t help you, leave them asap as they are not worthy of the name “host”.

Even the initial release of PHP 5.4 is now two and a half years ago and that version will be phased out in a year from now (as it stands today, March 2015). Expect us to require PHP 5.5 then and we will probably continue to dump outdated versions quickly in the future.

Podlove Publisher 2 will also be a change in how we orchestrate and choose version numbers. Don’t expect version 2 to be a huge change: it’s going to be as incremental as recent releases in the 1.x chain have been. But we are going to drop the “alpha” in the version string once and for all as for sure have left the alpha stage and are even beyond beta right now.

Major release number will then increase more often than before, denoting significant feature upgrades while “x.y” releases will be more about a reorganisation of these features and “x.y.z” releases mostly about bug fixes.

Finally, we’d like to encourage you to upgrade often. We know we didn’t manage to make the upgrade process flawless in all cases but we have always responded as fast as we can when things were messed up. We think everyone who has asked for help using GitHub issues can tell that we care a lot about system stability and compatibility and try to be as responsive as possible. Please use this path for any bug reports and feature requests. It really helps.