Building Spotify’s New Web Player
labs.spotify.com
labs.spotify.com
Many music streaming services have no API:s, and those that do have (to the best of my knowledge) worse API:s than Spotify. I'm very grateful that they provide any means of integration. However, that doesn't get them a free pass to get on as high a horse as they try.
Now for the part where I gripe. They recently created a dedicated site shaming Apple for, in part, not exposing the same internal API:s/abilities/possibilities to Spotify as they did to their own and perhaps some other third party apps. That's pretty rich.
Where is the protocol specification or available-for-everyone library for creating a Spotify Connect endpoint? Locked behind Hardware Partner Applications, NDA:s, Evaluation Agreements, New Product Applications, Device Certifications and Distribution Agreements (yes, all of those, according to their own site). Talk about subjectiveness and forcing people to jump through a thousand hoops -- like they accuse Apple of. "and final approvals for commercial usage will always be left up to the discretion of Spotify and its partners". Three cheers for transparency and a level playing field.
Where is the web API support for folders, a feature that you clearly use yourself in the desktop application? The web API has been launched for years without folder support. This feature is completely private and unavailable to others. In the GitHub issue about it that they closed with WONTFIX the motivation was in part that folder support didn't fit well into their REST API, which is some of the weakest sauce I've had in quite some time. I used your C library and I know that you implemented folders as "begin" and "end" markers in the huge, flat playlist list. Perhaps you regret that design decision, but if that makes it an expensive API call then rate limit it accordingly. Make it subject to change as you evolve. Just don't close it off and keep it private for your own apps.
Yes, I'm annoyed. I've been a loyal customer, user, developer and fan for almost a decade. They get to expose or not expose any API they like, that's their prerogative. But what they don't get to do is gripe about the subjectivity and closed off-ness of others if they don't practise what they preach. I hate hypocrisy.
If you've read this far, I apologize for spouting bile. Time to sleep, probably.
It’s disappointing that the only truly developer-friendly music service on the market has decided to clam up like they have.
This is the internet. You don't need to preface your criticism with any sort of justification.
Spotify isn't that company anymore. It's a public company that isn't profitable and now has to answer to investors every quarter.
They are trying to build a moat around their business. It wouldn't surprise me at all if they shut down API access entirely. Their investment in podcasting is another example of an attempt to put a walled garden around content (i.e. public radio).
Spotify isn't little. Sure, it's not as big as Apple… but literally no one is. Spotify is a $25 billion company that doesn't care about you or artists. They care about finding a way to be profitable. That means putting up walls and ramping up ads.
I think what pisses me of about Spotify is how they still want to pretend like they are the small startup, full of designers with their cute hand drawn graphics, being bullied by evil corporate American shills. It's all bullshit. They are just as corporate now as anyone else.
Fantano actually investigated this: the record labels rejected a higher artist % of streaming revenue from Spotify in favour of the labels owning more Spotify shares. Spotify is literally (to the extent of that ownership) the record labels.
The whole article can be summed up in a sentence or two:
We've redesigned from plain js and iframes to the stack we used for our TV app - react+redux, this made the app easier to develop. We also switched from flash to EME.
I _love_ the Chromium/electron-based stuff because that's exactly the reason we have postman, Slack, Spotify, Skype, VSCode, etc. for Linux. Because it's minimal effort to make them work across platforms. A
I'll buy an extra 8GB of RAM if it means I can run all the apps I want. RAM is cheap.
It no longer works, but I really appreciate the engineering effort in this piece. It was created by the same guy who wrote uTorrent.
What actual complaints do you have about safari? I definitely don't think it's perfect, but Chrome has it's own weird issues and inconsistencies (and is much less efficient on macOS). Chrome is widely chided for its poor memory management.
I occasionally hear “Safari is the new IE”, but as a designer, I could use a little developer education as to what is actually deficient.
I have firefox-specific problems, I have Chrome-specific problems, but I don't remember the last time when Safari caused an issue.
> Safari is terrible and I applaud all applications that are broken on it
What you meant to say is that testing in Safari is inconvenient for you, so you don't like it. Which is fine, but does not mean that "Safari is terrible".
1) The extent to which how Spotify organized as teams completely affected the technical architecture and user experience. This is a situation where being deliberate about culture really matters!
2) Spotify feels very lead by engineering with design taking a back seat. You see this in the post by addressing the experience as more of a collection/list of features vs. a holistic experience.
This new player misses a lot of features that old web.spotify.com used to have.
For example, you used to be able to sort songs by popularity in search results.
Or you used to be able to start playing artist songs from all the albums.
Now when you "play an artist", all you get is 5 tracks, and to listen for the rest you have to listen by-album.
> It drops Flash in favor of Encrypted Media Extensions (EME) for music playback
Although I thought they did that ages ago.