Out of the Nest – Birdie 2.0

A short while ago I came across news on Twitter and Google+ that Birdie, my longtime favorite Twitter client for Linux, would be shutting down development. I was extremely sad to hear this so I contacted Ivo Nunes, the main developer for the project, to see if he would be open to the idea of me taking over development. He was very agreeable, so I am excited to announce that I will be developing Birdie 2.0. Ivo will continue to be a part of the project working on other areas as he sees fit.

I’m also excited to announce that with this hand-off Birdie will once again be written in Vala, and that the existing 2.0 code will be ported back from Python.

I’m writing this just after my conversation with Ivo so I don’t have any other specific information to share. This will not interfere with the release of Vocal 1.0. Vocal is currently extremely close to the release candidate stage, and should be available within the next month or so. Right now I’m planning on working on Birdie throughout the summer and having a final release somewhere within that time-frame, but I’ve not yet looked at the code enough to make any accurate estimates.

I’m excited to help make Birdie as great as I possibly can and get the next major version in the hands of free software users as soon as possible.

Welcome elementary OS Freya Beta Users

First off, I want to extend my congratulations to all the elementary developers and contributors on a fantastic beta release! As most of you know, Vocal has been designed and developed from day one to work seamlessly with Freya. Unfortunately, that meant that it was unavailable for the majority of people to test until now (unless you were impatient determined enough to ahead and build your own unofficial, franken-Freya).

With so many new users trying Vocal for the first time I just want to say, welcome! I hope you enjoy using it! Please keep in mind that it is still in beta, so you will almost certainly run into problems every now and again (and when you do please report them here). That said, it should be fairly usable at this point.

Install Vocal

Add the Vocal daily PPA and install it by typing or copying/pasting these commands in a terminal (in this case it’s safe, but fair warning- always be careful when a site tells you to type something into your terminal):

sudo apt-add-repository ppa:nathandyer/vocal-daily
sudo apt-get update
sudo apt-get install vocal

What’s New?

Video playback:

Vocal Video Playback

A vastly improved episode browsing experience:

Episode Details Side Pane

Tons of improvements under the hood, including a simpler and more robust media playback backend, better offline support, faster imports, and much more.

What’s Next?

Soon Vocal will pick up exactly where you leave off, by remembering which episode you’re listening to after you quit and how far you make it in each episode. A new cleanup system that automatically removes old downloaded episodes is also planned.

After that development will primarily be focused on more polish and bug fixes. Once I feel that it’s close to being ready I will announce a release candidate. I’ll fix any remaining issues after that, at which point it will go stable with version 1.0.

As for version 2.0 and on, I have lots of exciting new features in the works. I don’t want to officially announce anything yet, but I am confident that you will all absolutely love it. But for now,


How Do I Get Involved?


If you enjoy using Vocal I would encourage you to consider a donation. Vocal is entirely open source and 100% free to download, and always will be, but it takes a surprising amount of money to create free software. Any donation, even $1, makes a big difference.

Visit this link to donate (and yes, we take bitcoin).


If you are bilingual, translations are fantastic way to get involved. Just visit the Launchpad Translations page for Vocal to get started.

Bug Reports

If you run into any bugs, have would like to suggest an improvement or new feature, please report that here at Vocal’s bug tracker on Launchpad.

Let Me Know What You Think!

If you use Vocal I would love to hear your thoughts about it (both good and bad)! You can contact me:

Vocal Beta Released, Daily PPA Now Available

Screenshot from 2014-06-26 19:38:31

The first public development release of Vocal is now available!

Please keep in mind that this is a preview release. Vocal is still a work in progress. You should only use it at this point if you are comfortable running into unexpected problems and crashes.

That warning aside, I have been using it for a while now and I believe that it is starting to feel fairly stable. Your mileage may vary (and if it does, please let me know).

Most of the features of the final release are implemented in this beta, with the only major exception being embedded video support.You can manage video podcasts, and technically you can play them in Vocal, but the experience is not what I want it to be yet. Proper video playback will be added over the next few weeks and will be included in the 1.0 release, following a period of additional testing and bug fixing.

If you’re brave enough to give it a go you can add the daily (unstable) PPA by entering the below commands into a terminal:

sudo apt-add-repository ppa:nathandyer/vocal-daily
sudo apt-get update
sudo apt-get install vocal

Vocal will only work on elementary OS Freya.* The best course of action is to wait until the Freya Beta is released before trying out Vocal. For the impatient among you, however, you should be able to run it either on a copy of Freya you have built yourself, or on Ubuntu Trusy or Utopic after installing elementary-desktop from the elementary Daily PPA.

Get Involved

Please report any bugs you come across at the project’s Launchpad page:


If you enjoy using Vocal, and you want to continue to see cool stuff being added, please consider a donation here. Even small donations can have a HUGE impact on the project.

Keep in Touch

Let me know what you think! If you give the beta a try I’d love to hear from you. You can contact me in several different ways:

I hope you enjoy Vocal!

Vocal Development Update #4

We are getting close to the first beta for Vocal! Despite a few minor setbacks that caused me to miss three or four days of planned coding, everything is still right on schedule and it looks like my initial goal of having a beta out by the end of June will be possible. At this point all the core features that I want implemented before the first development release have been added, which means the next few weeks will be focused on fixing a handful of remaining bugs and then additional polish before I release it into the wild for the first time.

Please keep in mind any screenshots you see may very well change between now and the final release. This is still a look at a work in progress.

Screenshot from 2014-05-22 22:02:28

Screenshot from 2014-05-26 15:35:06Vocal feels a lot more functional as of late. For one thing, the downloads system has been added (although there are some small problems I need to fix). Active download information is presented in a new popup available from the toolbar. Files are downloaded to the local library, and Vocal knows whether to play the local or remote version automatically. Users are able to tell whether or not a file has been downloaded by looking in the episode view. Not only that, but now unplayed episodes are marked with a star so you can always tell what you have and haven’t listened to yet.

It has also received further integration with the desktop. Once episodes have been downloaded, or if it discovers that new episodes are available, a system notification gets sent. The dock icon also displays information about the number of unplayed episodes and total download progress.

Screenshot from 2014-05-23 18:40:54Lots of other fixes have been implemented, including a critical fix for a bug in the the feed parser that prevented certain podcasts from being added. I also fixed an issue where only certain episodes were added to the library.

The beta is still a few weeks away, but the most challenging parts for this pre-release are behind me. That being said, I want to make the app feel as solid as possible before I let others kick the tires.

Vocal Development Update #3

Big features and new improvements have been added to Vocal this past week, including two of the most critical components: the database and the episode updates. While there are plenty of bugs remaining to be squashed, those two parts are now operational.

Check out the latest screencast:

Although development this week has been primarily focused on those two features, additional bug fixing and polishing has been underway. The welcome screen text has been reworded to be more clear and concise. A new error message has been added when a feed cannot be parsed (as opposed to simply crashing). Overall, Vocal feels much more stable than it did just a week ago.

But there is still quite a lot of work to be done before an alpha or beta release will be available. I still need to add downloads, which also means adding local podcast file management. Additionally, I need to add OPML support so that you can transfer your subscriptions over to Vocal.

So stay tuned! We’re getting closer and closer to Vocal’s first public development release.

The Search for Vocal’s Icon

Want to contribute to Vocal? Know how to make gorgeous icons? Then this post is for you!

Lots of progress is being made with Vocal, and now I’m at the point where I’m in need of a great icon. Unfortunately, my artistic abilities are sorely lacking, so I’m reaching out to the community to see if anyone would be interested in creating an awesome icon for it.

The icon would be the official icon for Vocal, and would appear in the dock, the launcher, and in the app itself. It will also be used on official pages like the project page on Launchpad, and social media sites such as Google+.

I am looking for something elegant that visually makes you think of a podcast or audio/video subscriptions. If you are interested in contributing an icon, please send it to me in a number of different ways:

The more at home the icon feels in elementary OS, the more likely I am to use it. If I end up using your icon I will give you a design credit in Vocal’s about dialog. Please just make sure that the content is original, and that it is freely licensed (Creative Commons Attribution-ShareAlike (CC BY-SA)).

Any and all submissions are greatly appreciated!

Vocal Development Update #2

The past week has been primarily focused on completing my final projects for courses this semester, but tonight I turned in my last two projects. I can finally start focusing on Vocal 100%.

Despite focusing on school assingments, I still managed to make a fair bit of progress with Vocal. The main improvement is that album art now rearranges itself properly when the window shrinks or grows! The screencast that I recorded (sorry, no audio) should give you a good idea of how Vocal looks and behaves right now.

I initially started out with my own custom widget in a Grid, and threw in some voodoo on the backend to make it work, but I couldn’t find a good solution to fixing the resize problem. So in the end I decided to try a Gtk.IconView, and in only an hour or two I had it looking and working exactly how I wanted. Awesome!

There was some additional work on the parser to make it be able to detect audio vs. video. I also started working on integrating video, and have had some success. Vocal is actually able to play video right now, but the experience is nowhere near what I want it to be. I’m going to set that aside for now while I implement more critical features.

For the next few days I am going to work on cleaning up some of the code, fixing a few minor issues, and getting Vocal into a relatively stable state with its current minimal functionality.

And then, the library management.