I’ve been listening to podcasts for nearly a decade now. They’ve kept me entertained and informed for half my life. Despite my love for podcasts, until now I’ve always been very disappointed with the podcast managers available for Linux. Many of them are just too darn clunky, bloated, unnecessarily complicated, or feature-lacking to use day-to-day.

For a while now I’ve been working on developing a new podcast app, which I have named Vocal. It’s a project that I am extremely passionate about, but I didn’t want to talk about it too much or make anything official prematurely. I’ve never coded anything this complex before. There are a lot of pieces that have to fit together just right. I didn’t want to announce anything until I was sure that it would be something I could actually deliver on.


I am now confident that I can deliver the experience with Vocal that I have always wanted with a podcast manager on the free desktop. The above screenshot is from the most recent build of Vocal. It’s not a mockup, that’s actual code (although the final look could, and probably will, change in some ways).

Right now I’m targeting it primarily for elementary OS, but once the main features are implemented I am going to explore making it friendlier with other Linux distributions. elementary OS will always be the number one goal, though (at least in the near future).

It’s open source (GPL v3), written in Vala, and makes use of the latest functionality in Gtk 3.12.

Some features for the first release include:

  • Video and audio podcast support
  • Streaming and downloading
  • Automatic checking/downloading new episodes
  • elementary OS system integration (notifcations, launcher badges, sound menu, etc.)
  • Importing/exporting subscriptions (individual podcast feeds, as well as entire libraries).

I also plan on implementing podcast discovery and one-click subscriptions for future releases. Device support may also be something I work on in the far future, but there are no official plans right now.

I’ve not had as much time as I would like to work on it this year while at university, but this summer I hope to devote a good portion of my time to making Vocal as stable and impressive as possible. I’m expecting a first release (at least a beta) by the end of June.

Stay tuned for updates!


49 thoughts on “Vocal

  1. Hey ! I really like how this is going, your project looks really impressive so far. What languages and API are you using to build that awesome looking experience ?

    1. Hey, thanks! It’s written entirely in Vala, uses Gstreamer for media playback, and takes advantage of the Granite framework to make it feel at home in elementary. It also implements the latest Gtk features like HeaderBars and (before long) PopOvers.

    1. I’m hoping your book app will be based on Calibre. An Elementary OS spin on Calibre would be a grand and worthwhile endeavour.

    2. Looking forward to an ebook management app that is simpler and more stream-lined than Calibre. Calibre is great, but I think it tries to do too much. Also, it would be great if your app could manage eBooks stored in Cloud drives like GDrive or OneDrive or Dropbox. As I, like more and more people, move our media files into the cloud for safekeeping, it is a pain to have to duplicate them locally just to be able to sync them.

  2. Looks great. I think gpodder.net integration would be really nice for podcast discovery and subscription syncing.

    1. Thanks! gpodder.net is definitely something I’m looking into, especially for subscription syncing. I’m also really impressed by http://podbay.fm/, but I’m not sure if it would be possible to integrate it into Vocal. One way or another it will have podcast discovery.

      1. The great thing about gpodder is that the whole thing is Free Software, even though it is a web service. Not many web services are like that. Podbay is not, as far as I can tell.

        Gpodder also has some neat features in addition to syncing subscriptions (between the webservice and Vocal and other devices, and even across devices), like syncing your position in single episodes and syncing favorite episodes (mark an episode as a favorite in Vocal and it will be added to a list of favorites in gpodder), etc.

        I really hope you will prioritize gpodder for all of these reasons, and try to implement as many of its features as possible.

        Thanks, Vocal looks excelent!

  3. I love Pocket Casts on my mobile, but nothing has really cut it on the desktop. This looks very promising!

  4. Hey, this looks nice! One feature I would like to have are bookmarks. So I can pause listening and continue another day without taking care, where I stoped the last time.
    Another question: is it only for podcasts? I’m a big fan of audio-books and I would say, they are much closer to podcasts than to music (at least in some way). Will it be possible to manage these in Vocal (they will just be on the hd)?

    1. Those are great ideas! The first release won’t have bookmarks, but it will remember where you left off on each episode so you can pick back up. Bookmarks (as in, multiple ones per episode) may be added in future releases.

      For now the plan is just for podcasts, but that’s not to say audiobook support won’t be added in the future. With so much functionality focused entirely on podcasts, I’m not sure if having audiobooks tied into the same app would be the best experience. But I will certainly think it over and consider it for a future release!

      Thanks again for the feedback!

  5. You are my hero.
    I’ve been looking for a good podcast only app for so long… My eyes are sweating a little from happiness.
    Keep up the good work, man.

  6. This looks great. I’m currently a gPodder user and find the app satisfies most of my needs. However, being written in python, it is quite slow and bloated and doesn’t fit into the elementary desktop all that well. If the core feature of gPodder could be combined with the looks of apps like Beatbox/Noise, I’m sure this would be a hit with many users!

    I look forward to trying out the beta when it becomes available!

  7. Thank you for trying. It looks good, and simple is definitely good when it comes to podcasts.
    I use gpodder 2 at the moment, and it is very reliable. The main reasons I like it are support for my iPod (via libgpod), and a fairly intelligent ability to get rid of old episodes. It would be great to have iPod support.

    I second the request for audiobook management, as no software for linux does that very well at the moment. The problem is that most people like their podcasts to be sorted most recent episode first, whereas most people listen to audiobooks starting from the earlier chapters.

  8. First, your application looks really promising. There is no good, native podcast solution for linux, but I hope this will be one. As a fanatical podcast listener and curator, the two most important features missing from nearly every podcast application across platforms I’ve tried are 1) allow me to rename the podcast based on the metadata, to make it easy to organize on my filesystem (many podcasts deliver cryptic filenames with no id3 or other metadata in the file) and 2) let me re-tag the genre of each podcast to ‘podcast’, so my portable device can easily tell the difference between a song and a podcast.

    The only programs that I’ve found to do this are foobar2000 + podcatcher plugin, and iTunes (or at least it did, years ago when I last used it). gPodder and one early point had this functionality but it mysteriously disappeared, not sure if it ever came back into existence.

    Good luck with your project and I will be following, or happy to donate!

    1. Thank you for the feedback! Those are some really cool suggestions that I’ve not seen before. I’m not sure if these features will be available in the first release or not, but I’ll be sure to put them on the list for future releases.

  9. Congratulation to this program! It looks really nice.

    A few features I would love to see in a future version:
    – Support of chapter marks. This is used in aac, ogg (vorbis) [http://wiki.xiph.org/Chapter_Extension], mp3 [http://id3.org/id3v2-chapters-1.0]. More information: http://podlove.org/simple-chapters/ and an example: http://freakshow.fm/ (click on “Show/hide chapters” in the web player).

    – Paged feeds (RFC 5005, http://tools.ietf.org/html/rfc5005). More information: http://podlove.org/paged-feeds/

    – Alternate feeds (http://podlove.org/alternate-feeds/)

    – BitTorrent feeds (e.g. http://bitlove.org/help/podcaster)

    – Include shownotes (http://shownot.es/). This is a crowdsourced “transcription” service for podcasts.

    – Integrate flattr (http://flattr.com/) as the podcast app Instacast (http://vemedio.com/) did it for some time. [By the way, do you have a flattr account or a amazon wishlist?]

    Every feature of this list could make vocal a bit more outstanding than it is by now.

    1. Thanks for the suggestions! They will all be considered for future releases. And to answer your other question, I don’t have a Flattr account or really use my Amazon Wishlist. Thanks again!

    1. Hi!

      Right now I’m working on it alone, but in month or two when I post the code I plan to accept contributions from others. At that point any and all contributions will be greatly appreciated! I just want to get it up and running first before I let others start looking under the hood.

      Thanks for the support!

  10. I love the look of Vocal, and I certainly plan on trying it out, especially since I want to try Elementary OS as well after Isis drops.
    Two questions: 1) Will it support syncing to iPods or other portable devices? And 2) Will it support importing/exporting feeds via OPML?
    Lack of iPod support is the major reason I haven’t switched to gPodder 3.x yet, and with 120+ podcasts that I follow, I would certainly hate to have to enter every feed manually.
    Good luck with the rest of your development efforts!

    1. OK, I looked through your post again and saw that you answered both questions, just in a more general way than I asked. My fault for reading through bulleted feature lists too quickly!

  11. This looks very exciting and cool, but unfortunately I wouldn’t be able to use it unless it supported exporting podcasts into 32kbps MP3 files. I consider such functionality “required” in a podcast client, and sadly, that is why I have been “forced” to use VLC. VLC takes longer to use and to navigate, but it is the only application that I know of that can re-encode audio podcasts as MP# files with a 32kbps bitrate.

    Could you please add this functionality? Ideally you would want to just add a “custom bitrate” option when exporting MP3 files, but please make sure that you support 32kbps.

    This concept looks beautiful, but unless my requested features are added, then I will not be able to use it.

    1. I’d be interested to see what you’d need audio with a bitrate of 32kbps for, because I’d think it makes no sense to use such a low bitrate. Even the first mobile phones used 64kbps for GSM calls, so I’m not really sure why you’d want to have even less quality than that.

  12. this is really awesome so gj there :) i was just wondering, did you already have some experience with coding before undertaking the project, or did you start from scratch?

    1. No, I’ve been coding for a few years now. Started out teaching myself, but then got serious a few years ago when I started university majoring in CompSci.

      1. Just do it! If you’ve never learned to program before don’t let the idea of it intimidate you. It can be difficult sometimes, and it takes a lot of work, but in the end you absolutely CAN learn how to code and make something awesome. If you want to learn to code, I would recommend getting started with http://codeacedmy.com

    1. I’ve had several requests for it, but I think it’s more beneficial to focus on adding new functionality and stability to the project instead of investing the time and effort to downgrade the design or limit functionality. Keep in mind that Vocal is still in beta, as is the next version of elementary OS (Freya), so both should be stable at about the same time.

    1. I’m afraid that it is only available elementary OS Freya. It uses a lot of newer features that aren’t available in Luna. Sorry!

  13. Just wanted to tell you this is a wonderful application! It looks very promising and beautiful.
    Just a note: The “cancel” button on the add podcast window doesn’t close the window.

    1. Thank you! I’m glad you like it. Also, I should have a fix for the cancel button not working soon.

  14. this looks great!!! could i install this on Fedora? if so, are there any instructions/repo for ? thank you and keep up the good work!

    1. Hey! Thanks! Vocal will run on Fedora, provided you have Granite installed. Once the first stable version is available (which should be soon) I’ll post better instructions for installing in other systems.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s