First off, some history.
Back in July/August of 2011 when I first decided to take on the task of creating a Windows Pandora client, I contacted the developers of Pithos and pianobar to get their input on Pandora Inc’s stance on their unofficial clients. At the time, the message I got was that, while the clients were wholly unsupported, Pandora never directly opposed the clients. With the exception of the very occasional API change that would break something, everything was fine. So, I decided to go for it and got to work on my client.
As I made progress on the code for Elpis, I had no problems for months. But then, between early November and when I released Elpis, mid December, the API changed 3 times, breaking something a little worse each time. Each time it was relatively trivial to work around the issue and it generally seemed like infrastructure updates on their end. But then, a little over a week ago and about 1 month from when I first released Elpis, came very significant change. Suddenly, regardless of being a Pandora One subscriber or not, you would be locked out of your account via Elpis after often only playing a few songs. Messages from the server said that a skip limit had been reached.
For several days, no one really knew what changed, other than the server now looking for some cryptic value when logging in. Apparently, without this value you would keep hitting this skip limit. Well, now we know what this value is. I’ll save the technical details for a great post written by the author of pianobar, but the gist of it is that, this time, they were directly targeting unofficial clients like Elpis, Pithos and pianobar. Not only that, but it was made exceptionally hard to fix this time.
There have been a few workarounds suggested by the other developers, all of which could definitely get things running again. But, honestly, it would only be a matter of time until they upped the ante and clients stopped working again.
I wrote Elpis because I am a huge fan of Pandora and sincerely wish there was a way we could work with them to allow clients like these to exist or at least get the added features in their official client. But I’m also not about to push forward when there is such obvious opposition. It was fun while it lasted and I learned a great deal in the process but, effective immediately, I am discontinuing work on Elpis.
Technically, in some instances, as long as you never change stations or skip a song, Elpis will still work, but I will no longer provide updates to the code or any fixes if the API breaks further. The download links to v0.9.0.0 will remain online for the time being, but I will put a message on the project page that Elpis is now defunct. I do not do this without hesitation. This was my first ever public, open source project and I take a great deal of pride in it. I sincerely appreciate all of the support I’ve been given so far.
Elpis will not totally die, however. To be honest, the actual Pandora piece of Elpis is only a very small part of the whole. I designed it from the beginning to be very modular. I’ve got some ideas for some other things I could do with the rest of the code and interface and will actually be looking into refitting the interface and audio handling code to work with either another streaming service or maybe even local files. Life is become very busy at the moment, so it may be some time until this happens, but I will surely be doing something new before long.
So, thanks again for all the fun and stay tuned…