I have made the decision to officially end development of Vocal, the podcast app that I created and have been (nominally) maintaining since 2014.
At the start of the year I gave myself an ultimatum: either release a new version before the end of the year, or wind down the project. I figured if I couldn’t get a release out the door within a year, then I had no business maintaining it.
Just like it’s important to know the right time to start a project, it’s equally important to know when to end it gracefully. For Vocal, that time should have been around five years ago. I’ve been in denial about it for a while, just because it’s so important to me.
I started the project as a sophomore in college. I had never really written a GUI application, and had no idea what I was doing, but I was in love with podcasts and felt that we were sorely missing a decent podcast client for Linux. In the evenings I would sit and study the Vala documentation, look at source code for other apps, and read the elementary OS developer documentation. I was a huge fan of elementary OS, and thought that their Granite framework was the future, so targeting Vocal for that platform was an obvious decision. With time and lots of effort, it started to come together. I was also fortunate to have a ton of encouragement and support from Danielle Foré and Cassidy James Blaede, as well as my podcast co-host Dane Henson, UX help from Sam Hewitt, and code and icon contributions from lots of different and amazing folks from around the community.
I didn’t know anything about what it means to be a good maintainer. I wasn’t thinking of Vocal as a project, so much as a product. I was young and inexperienced. As the years progressed I learned more about what it takes to foster a community around a project, how to keep it healthy, and how to be a better maintainer. But unfortunately, Vocal never saw any of that progress.
Part of the reason why is that I got sick; sicker than I really ever acknowledged or was willing to come to terms with. Living in kidney failure, I don’t have the time or energy it takes to maintain such a large, intricate application with so many moving parts. I also work full-time for a job that I deeply, deeply care about, and it takes precedence.
And there’s also the fact that getting Vocal into shape again has been a huge undertaking, because I’ve let it fall into disrepair so badly. I’ve spent hours upon hours, especially over the past summer, porting it to the latest version of GTK and Adwaita, hoping to have it ready for a launch this year.
So why do I now, all of a sudden, decide to end things? Because truthfully, Vocal is no longer needed. I lived in denial because I still felt that Vocal had a place in the world. It had features that other apps were missing. It supported things that other apps didn’t. And I had even bigger plans for what it could be.
But the truth is, GNOME Podcasts and Kasts are both now fully-featured podcast apps, and provide a better experience than Vocal. GNOME Podcasts now has support for searching podcast directories, support for marking episodes as read and unread is in the nightly build, and it’s way more responsive and stable than Vocal ever was. I use it every day, and love it more and more with each update. It lets you import/export OPML files, and aside from a missing queue (which I expect will be coming in the future), it has roughly all the same features as Vocal. I hope that one day it will adopt some of the better features from the Podcasting 2.0 spec, especially chapter support, but as it stands it’s a very usable app. I wish them, as well as the Kasts maintainers, the very best.
(I do, however, hope that some day the GNOME Podcasts project considers changing its icon - I for one have never listened to a podcast on casette, and find the metaphor baffling.)
I’ll be archiving everything and working to get the existing Vocal Flatpak marked end-of-life as soon as I can, but I wanted to make the announcement first. I’m sorry I didn’t end the project sooner and give Vocal the dignified end that it deserved. Thanks to everyone who ever contributed to the project or donated to keep it running, and everyone who used it over the past decade.