I'm here to talk about something I built with my bare hands (using a computer) to enhance one of my favorite applications (Spotify) and how I learned my lesson and will never write code for a closed ecosystem again.
A few months ago I wrote a Spotify app called Bleep. Bleep allows parents to play their playlists and skip the dirty songs when their kids are around, or at work, at parties, etc...
There are about 20 pages of this. Thousands of people on various mediums asking for this features.
I am an Open Source Software contributor.
That means I build software that I need or my customers need and then I give it away. We have a phrase for this: "scratching your own itch". If the collective fixes their own problems, eventually we all benefit.
So the next thing I googled was "Spotify API". Bingo. There is a way to create apps for Spotify that allow you to augment the program. I am a really busy guy, but I felt like writing some code, I had a long flight coming up and I really wanted this feature. For those who are not aware, an API means a way to interact with the program.
It always takes about 10x longer than you expect, but eventually I had something I was pretty proud of. It isn't the perfect way to implement it, but with the limitations of the Spotify API (and some of its suspect documentation), this was the best I could do.
I didn't intend to make any money from this, nor did I want any kind of control over the code. But I figured I should give back to all the thousands of people who have been clamouring for this feature over the past several years. So I followed the painfully detailed instructions on the spotify developer site. I made a PDF, formatted just so, I included appropriately named and formatted archives of the code I was giving away, signing over creative control to the Spotify corporation and bundled it all up in a polite and enthusiastic email to the app store managers at Spotify:
And the PDF:
App Name: Bleep
Name: Jacob Singh
Company: Jacob Singh
Bleep allows you to skip explicit songs by turning on a filter when using the desktop app.
For mobile, it's a little more complex. It creates copies of selected playlists without the songs marked explicit and will keep them in sync.
There have been several requests for this type of functionality:
Although the implementation could be cleaner with APIs on mobile that allow tighter integration, this is the best I could figure out.
I wrote more about the reasons for using it here: http://jacobsingh.name/content/bleep-kid-friendly-playlists-no-explicit-songs-spotify
The code is all done, I have attached an archive to this mail. Please let me know if I can publish it. I’m just a programmer with a kid who loves music, this isn’t a business for me or anything - I just want to share with others.
A couple days later I got a canned reply from a man in a hat not befitting his historical time period. His name is Henrik, he works for Spotify, I don't know what his job title is exactly, but he's some kind of design consultant. '
Great... and now we wait. A mere 9 days and 22 hrs later, I got a response:
Oh really... What about the thousands of responsible, caring gangster rap enthusiast parents?
Ah I see, by not interesting to our users you meant "Our tools don't allow you to do this shit right, so we'll just not allow anyone to solve the problem, until we do, which we won't", *eyes shut, tongue out, hat tipped, turns on heel and exists scene*
Let's back up a minute and look at Spotify App store. As of today there are 108 apps in the app store. Here are some of the ones which made the cut instead of bleep which "doesn't have a broad use case"
Right. There is a Blur app! REALLY?!
So I'm a little indignant at this point. I put a lot of effort into this thing, wrapped it up all nicely, put it under the tree and Henrik (politely) just takes a big dump in my stocking.
And finally, my last ignored email:
It's Spotify's world, and hey can certainly have a McDonalds, a Warner Bros and Reebok app in their app store. The sad thing is, I can't even share my code with anyone. If they want it, they would need to get a developer key from Spotify which needs to be manually approved, and go through some arcane setup instructions to even run the thing. My work will be used by me and me alone. My daughter will grow up without having to hear the RZA, the GZA and ol' Dirty Bastard in her formative years, but she'll be surrounding by all your foul mouthed kids, so what the fuuuudge...
There is a larger issue here. We need to stop participating in markets where we cannot protect our ability to create. I'm not talking about making money. If Spotify wants to decide who can sell software on their platform I don't care. But it is essential for the future of software that open platforms allow the free exchange of add-ons, content and identifies.
Platforms which seek undue control over speech should be shunned by creative communities and left to rot in their obsolesces. The others will reap the benefit of exponential innovation that comes from a gift economy. This isn't going to happen through any regulation or law, it will happen via the free market when companies realize that platforms are tree houses, not museums.
Do you want to help?
Send a mail to Spotify asking them to add Bleep to their appstore. I've included some sample text below, feel free to modify it as you see fit. It only takes 2 minutes, what the bleep? Why not?
Send a polite email (opens in your mail client)
As a Spotify user and believer in open platforms, I respectfully
disagree with your decision to exclude the Bleep! app
from your app finder. It is a useful piece of functionality which has
been requested by thousands of users as you can see from the links
These are just a few. Google it, there are dozens.
While it is true that it isn't the most elegant or comprehensive way to
address the problem of filtering explicit songs during playback, it is a
start. The code is open source, free and you don't lose anything by
allowing users to use it in the interim.
Spotify is a great product and a great service. To be a great platform,
you need to encourage innovation. Obviously there is a balance to be
struck in regards to quality of execution and allignment to mission, but
I strongly feel you have erred on the wrong side of that line here.
You can read more about this topic from the author on his blog:
Tweet to Spotify
Share this post on facebook
Sign a Change.org petition