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.

Podlove @ re:publica 2014

At re:publica 2014, project founder Tim Pritlove gave a talk on Podlove, the project’s recent achievements and future directions. It’s a good summary of how we think about Podcasting and what we think the podcasting infrastructure should evolve into: The Podlove Matrix.

We get by with a little help from our friends

Podlove is an open source project and is creating truly free software (under the MIT license) to be used by anybody. And in the last two years we have come a long way.

The team has grown step by step and the software has been improving steadily. The most recent release of the Podlove Publisher has delivered a ton of enhancements and we are still not running out of ideas on how to improve and solidify the system to be even more versatile.

Last year we started our first round of crowd funding to get the financial support we need to keep our core developer Eric away from boring jobs (he spent around two days a week on Podlove and wants to continue to do so this year) and to fund the infrastructure, other expenses and travel costs needed for the rest of the team.

This has worked out really great: in the last year we collected around 10.000 EUR which was more or less exactly what we needed. But now the funds are mostly used up so we’d like to ask you for your continued financial support of our project to be able to proceed with our quest and deliver even more cool stuff during 2014.

Our Agenda

Release 1.10 of the Podlove Publisher has already brought a long list of improvements and bug fixes featuring the amazing new programmable templates that will make setup and customisation of your podcast site much, much easier than before.

So what’s next? It’s always difficult to make promises and define roadmaps but we have a good grasp of what kind of problems we’d like to tackle. So here is what we like to do in the near future.

Top of the list is the need for viable statistics. We are planning to come up with a complete tracking framework with beautiful download statistics in the admin interface. And we also want to provide the necessary glue for detailed statistics on the server side by third-party scripts like Pentastats (or other log file consuming monsters) by associating URLs with episodes. We have thought about this a lot and we think we have an approach that can workand that you will all like.

Another top priority is the Podlove Web Player. This baby hasn’t been upgraded a lot recently but we are now making good progress as we have spent a lot of time on mockups, UI scenarios, discussing timeline metadata and refactoring the code. We are planning big changes to the player to make it more flexible, more reliable, much nicer to look at and enriched with great metadata that will once more redefine how podcasts are published and consumed on the web.

We also have plans to make the overall system much easier to set up (adding some initial wizardry for first time users), make migration from other podcast installations easier (including migrating by reading a podcast feed), track internal errors and configuration mixups and to improve both the user experience and the documentation significantly. We are also planning to translate the user interface to many other languages once we feel we have stabilised the overall UI.

And that’s just the work we’d like to put into the Podlove Publisher and the Podlove Web Player. There are some other ambitious experiments in preparation that we’re going to talk in the future (“when it’s ready”) and that even address areas beyond podcasting.

Until then, thanks for your support. The podcasting community has supported us in a way an open source project can only dream of. We hope you will be pleased with our results.

Donate to Podlove

Podlove Publisher 1.10

After a series of significant but officially “minor” releases in the 1.9.x branch we are proud to announce that version 1.10 of the Podlove Publisher has seen the light of day and while the release notes might not strike you as particular revolutionary, it has been one of the most effortful and sophisticated updates yet.

Let us introduce you to the new features we have baked for you.

New template system

At the center of this release is a completely reworked template system. Podlove Templates are made to create well-defined automated appearances for episode postings and pages but their capabilities have been limited so far as they were just static blocks of code that were able to insert information here and there.

No more: we have now integrated the Twig template engine into the Publisher. This enables much more complex templates than before as we are also exposing the podcast’s metadata via an internal API to the template system. You can iterate over internal data structures and optionally include or exclude information depending on other values! It is really, really flexible.

We have also replaced all internal code for generating lists and other things invoked by our internal shortcodes with the new template language. So we are eating our own dog food here to make sure the new API makes sense to everyone.

Advanced users should be able to come up with new styles of lists and overviews for their podcast content to accommodate their needs. Templates can be shared with other users so we are expecting a vivid exchange of nice templates among podcasters. Let us know if you have made a nice template that others might be interested in!

Along with the new template system come a lot new shortcodes that you can you use to create overview pages. [podlove-feed-list] creates a list of all your podcast feeds and [podlove-episode-list] generates an archive page of all episodes for you. Similarly [podlove-podcast-contributor-list] lists all the people behind a podcast. There is more to explore. Read more about it in the template documentation.

Other changes

One of the more visible changes is the new input method for social media accounts and donation buttons. You can now create a list of accounts and change the order among them. We have significantly extended the list of supported social networks, contact addresses and creative platforms and you can even add multiple accounts per network (if you like).

Social media accounts and donation information can also be applied at podcast level in addition to contributors alone. This allows a more logical specification of meta data and together with the new templates, you can make more parts of the website auto-generated including team and donation pages. It’s a treasure hunt.

Turn to the release notes for the full monty. There are a ton of small fixes regarding better usability, clarification of texts, slightly tweaked UI behaviour and other niceties that are usually not worth talking about individually but that make for a much better overall user experience. We like it cosy.

Our Roadmap

We have spent quite a lot of time thinking about our roadmap for the Podlove Publisher. Nothing is set in stone, but we have a plan. For the next releases we have taken aim at few “big” features that many people have been asking for (including ourselves).

A big focus is the Podlove Web Player. It hasn’t seen much love since version 2 but we want to take it to the next level very soon. We are working on a thorough technical and visual redesign that enables fancy stuff like embedding and displaying sophisticated timeline-based metadata. We think some minds will end up being blown.

Then there are statistics. We are going to put a sophisticated statistics framework into the Publisher that will enable both internal and external collection and evaluation of download statistics. More on this once we have made significant progress here. It’s complicated and we don’t know how good our progress will be.

Another huge target is a fancy conflict system that will change how the Publisher will deal with all kinds of errors and external failure to ensure a proper state of the system and a decent way of notifying the administrator of necessary actions. It’s basically voodoo but you will be pleasantly surprised.

Last but not least we want to extend the help system, documentation and the out-of-the-box user experience (with wizards and other magically sparkling thingies) including translating the UI to other languages than English. We feel the overall UI will have stabilized significantly soon so that it might be time to finally do this.

You might think these are worthwhile goals. We tend to agree. However, this all depends on getting our next funding round to work. More on this in the next blog post. Up to this point we want to thank everybody who has contributed financially to this project.

Credits

Our core developer Eric has been behind the new template system including all the nice API work. Eric is also in charge of the releases incorporating all the changes brought in by other developers which can be a tedious task sometimes.

Alex has done a lot of housekeeping, bug fixing and enhancing of the system, especially the nice new way of adding social media accounts and donation information, better Bitlove integration and the new feed widget.

Others have helped a lot by sending in bug reports, feature request and actual code too. It’s good to see a community grow. Thanks to everybody who cares about this project. It really helps.

On Being German

flag-of-germanyIn a few months, we are hosting the next Podlove Podcaster Workshop in Berlin in May (3rd/4th). It will the third of its kind and the fifth Podlove Workshop in total so far. Target group for this workshop is podcasters and developers in Germany, Austria and Switzerland. So the event will be in German only.

Well, you might ask: “your website is in english, the plugin is in english and you present yourself in an international appeal – why is there no international event in english?”. Good question. Let me explain the reasoning behind this and how we want to proceed in the future.

We know we have embarked on a long trip here. Producing capable and stable software on the one hand and to create highly useful standards on the other side is no easy task. In order to achieve these goals, you need to build a strong community that is willing to test and use your stuff from the get-go and will provide quality feedback as you go along.

Being centred in Germany, this project decided to focus on the German speaking community first because this gives us the chance to deal with our initial growing pains in our native language and in a well-understood culture. It really helps. With our “local” workshops we also create new bonds among those who use the software and work with us on many technical levels. So far, this has worked really well for us.

But that doesn’t mean we are not open for anybody else. Our website, software, documentation and personal communication is all in Interlang (aka English). And we are really thinking about launching some kind of European conference in the near future. But before this will happen we want to have our strategy in place and our software in use by much more people outside the realm of the German language. Once we see enough interest, we might come up with something special.

However, this should not stop you from downloading and using our software, read into our specifications and open code and get in touch with us when you have questions, suggestions, criticism or if you want to offer your help. And in no way should you consider Podlove to be for Germans only, because it’s not.

Contributors: Groups and Roles

In version 1.9 the Podlove Publisher featured a brand new “contributor” feature that allows podcasters to represent people and/or organisations in addition to all the other generic metadata of a podcast episode. Since the initial release we have provided 12 minor updates to the system and we have improved and extended the contributor feature in many ways.

It’s now possible to assign contributors to both episodes and the podcast itself. Using the “Contributor Settings” menu you can also set up a default set of contributors to be included with each episode. This makes it easy to list everybody who has contributed in any way to your work. For Podcasts, the most personal medium on the Internet, this makes a lot of sense.

But many of you might have been confused by the option to also create a list of “groups” and “roles” and assign either or both of them to contributors. What is this all about? Well, let me explain.

While many people (or groups of people) might contribute to your work, there is some demand to properly express what kind of contribution it actually is and to decide which kind of support to show where and how. With “groups” and “roles” we give you flexible building blocks to make this work for your case. While the first version came with a set of “default roles” we have made a step back and now deliver Podlove Publisher with no default settings for either groups or roles as everybody will probably have a different approach to this and it is next to impossible to define a default set that works for everyone.

So what is a group, what is a role?

Groups are meant to express division of work on a podcast. Good examples for groups might be the people who are actually visible/audible on the show (group: “On Air”) or the team that prepares the content (“editors”) or takes care of the technical setup to make everything work (“backstage”). Once grouped, you can select which group to actually show on your website using the “group” parameter for the

short code.

Roles are meant to actually describe what kind of role somebody plays within the podcast. You could set up roles for “moderation” or “guest”, there might be one for people providing “shownotes” or other things.

So by combining groups and roles you get a very powerful way to actually express contributions to your podcast. How you decide to use it is up to totally you. You can also ignore groups and/or roles and they will never show up in the user interfaces.

If you still have the set of default roles of our initial implementation show up in the roles list and you don’t know how to use them: delete all of them and create new ones once you think you could benefit from it.

We are still not done with Contributors. They are going to be the building blocks for some cool future features and in the next release you will see some significant improvements to the user interface too.

Podlove Publisher 1.9

It’s been a while since the last major release but we have been busy behind the scenes and finally landed the 1.9 update of the Podlove Publisher and it’s a big one. Apart from a multitude of minor enhancements, bug fixes and improved behaviour, we have also some big new features we want to present and explain to you here.

Contributors

We have been thinking a lot about the meta data that is needed and might be helpful for podcasts in the last two years. And there was a big weak spot in the current infrastructure. While podcasts are personal media with a very direct and intimate relationship between sender and receiver, the whole distribution architecture was just dealing with podcasts and episodes. It was all about the “medium” and not about people.

We intend to change this in a big way and today’s release is our first step in that regard. Release 1.9 includes a brand new contributor module. While you could assign people to episodes before, this time you can create individual profiles for each person, assign “roles”, use your own avatars and also link to the social media accounts and insert donation buttons (Flattr for a start, PayPal will come later).

People now also show up in the feed giving crawlers and podcast clients a chance to actually identify contributors across podcasts. And you get new shortcodes to make nice lists of people and more.

This is just the beginning. We have a lot of ideas and plan to expand this area significantly in upcoming releases.

Protected Feeds

We acknowledge there is a certain interest in protecting feeds with passwords. There are actually a lot of scenarios where this might make sense. But it is also a very complicated issue as everybody has its own ideas how to integrate with subsystems, databases etc.

So we are not presenting a real solution here but just put our toes in the water to get a basic functionality running: you can now put a general login/password on a feed or let people authenticate against the WordPress user database.

Depending on feedback, we might expand this feature in other directions but this needs to be rethought and discussed.

Other changes

There a lot of other notable changes in this release: the new license selector makes choosing the right license for your podcast easy and you can decide to have a license setting on a per-episode basis if you need to.

The Expert Settings now allow you to configure temporary redirects in addition to permanent settings. Feeds are now delivered gzipped and you can define a global limit for the number of episodes.

And of course, we killed a lot of minor bugs.

More to come

There a bunch of other subsystems that is being worked at, both existing and new. Our roadmap is reaching out for into 2014 and hopefully beyond.

The advances of this year were made possible by the pretty successful crowdfunding which enabled us to pay one developer to spend a few days a week to work full time. Thanks to everybody who helped and will help in the future. We hope the quality of our code and ideas shows our appreciation.

 

 

Podlove Publisher 1.8

Last week, we have release version 1.8 of the Podlove Publisher which is a substantial improvement to the things we recently added to version 1.7 of the software, specifically we put some more work into our integrations of App.net and Auphonic.

App.net

The App.net (ADN) posting service now supports setting a language annotation and cross-posting to a Patter room. Patter is the “chat rooms” of ADN and so you can now deliver your announcement to both the public timeline and a chat room, encouraging users to subscribe to the podcast’s chat room in addition or as an alternative to following the podcasts’ ADN account.

app-net-module

We are still exploring the possibilities with App.net and so these changes are just more toes being tipped in the pond to test the temperature. However, we think there is more to gain here which is why we keep investing in this module. We are now also listed in the official App.net directory.

Auphonic

Version 1.8 strongly enhances the integration with audio post-production service Auphonic. While release 1.7 allowed to import meta data from existing productions into Podlove, the new release now enables you to create productions with the information already typed into Podlove, to upload audio files directly to Auphonic, start productions remotely and get the results without ever having to go to the Auphonic web site at all.

auphonic-production-step1

You can select the source of the audio file for your production as you are used to with Auphonic: all the external services defined in your Auphonic account show up and so you can pass along media files via Dropbox, Amazon S3, SFTP or whatever you have configured to be a source.

But we also offer manual upload to Auphonic if your media file still resides on your computer. Please note that the manual upload actually passes the file directly to Auphonic. We are not uploading the file to your blog but take the direct route so that you are not missing out on speed or have to provide extra storage on your system. This is the very same experience you would have as when dealing directly with Auphonic with the only notable difference that you don’t have to go there at all.

auphonic-production-step2

When creating a production, we take most relevant metadata from the Publisher and pass it along to Auphonic: title, subtitle, summary, the episode media file slug, license and publisher information.

If you work with chapter marks we recommend switching to “manual entry” (instead of using assets as a chapter source) so that you can benefit from the new integration too. The Auphonic module takes your chapter information and puts it into the production too.

auphonic-production-step3

We are currently omitting tags as these are difficult to access within WordPress.

We also do not support podcast and episode images to be uploaded automatically. You should set the podcast image in your Auphonic preset where you also define the output files and other settings. You can select the preset to apply to the production in the Auphonic module settings after authorization.

If you want to add an episode image or set other fields like the track number, you need to open and edit the production with Auphonic before starting the production. We currently discuss how we can improve these things in the future.

But the new integration should make working with Auphonic a lot easier, less error-prone and result in a much more reliable and quicker workflow for podcasters.

Interview about Podlove at Podcast Squared

On the July 8th, tech show “Podcast Squared” posted a new episode interviewing me about all things Podlove.

While we are busy producing more documentation in english including a longer series of screencasts to make setup and operation of podcasts with our tools easier, this interview might give you more insights into our general approach, how we see podcasting and what some of our future goals are.

Thanks to host Andrew Johnstone of Podcast Squared for the invitation. There is no better place to talk about podcasts than podcasts.

If you are running a show on podcasts or if you are interested in our work in general, feel free to contact us. We’d love to get in touch and explain what we do and what we are aiming for.