The article seems kind of light; all of the stuff I expected to read was summarized in the "The Tech Architecture" section, then the article suddenly ended. It felt like they spent three sections on background information and only one on details about the new player.
Yah I agree. There's almost nothing of interest in this article, which is a shame because I think it would be really interesting to hear more about the challenges, process and final product.
I don’t know if it’s incompetence or ignorance but Spotify has some of the worst apps going around. Remember the bad old days when the UI didn’t even support rotation on phones?
It's funny - I haven't tried Spotify in years so I have no idea if it's still bad - simply because Spotify burned their goodwill with me as a customer because of how bad their Android app was in the first year or so of their US launch.
Anyone have any idea what causes this? Establishing a more complicated type of connection type for streaming (excuse my networking ignorance), or something DRM related?
Based on a quick test of the web player in Safari with the user agent set to Chrome, something with promises is broken in Safari (relative to Chrome, that is).
Safari is terrible and I applaud all applications that are broken on it, when Apple breaks down and actually offers a cross-platform version of their browser for testing then my various things might start working on it... Until then, if you have an iPhone, download chrome.
I thought there was an HN post recently about how browsers on the iPhone need to use WebKit. They were not allowed to be better (from a rendering perspective). Or perhaps I misunderstood that.
1) I think you can build webkit on Windows? Either way, webkit is available on multiple platforms.
2) It goes both ways, Microsoft only recently announced that new versions of Edge are coming to macOS in the future, and only because they are moving to Blink/Chromium.
3) Chrome on iOS uses webkit, soooooooo
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've been doing quite a bit of webdev recently, and I've been testing things in both Safari and Chrome (on macOS and mobile), and both browsers have their own weird edge-cases, bugs and unexpected behaviours, but anecdotally I really don't find that one is better/worse than the other. I suspect the 'safari is a bad browser' notion is based on people's past experiences, rather than accurate view of the current state of the browser landscape. I also wonder if a lot of the safari-haters are developers who work on windows/linux, and just resent having to support another browser in general.
Ok, so I honestly do not understand this "safari is terrible" thing. I develop a fairly large web app (it's an inventory control + MRP system for electronics, https://partsbox.io/) and feature-wise Safari is on par with Chrome. I have no Safari-specific problems. Speed-wise, Safari is the fastest at running my JavaScript code (compiled from ClojureScript).
I have firefox-specific problems, I have Chrome-specific problems, but I don't remember the last time when Safari caused an issue.
People say Safari is terrible because Safari is the last to support useful web features. They only just added support for a non-royalty-encumbered video format. If you are not directly affected by these issues in your own applications, that's fine, but if you care about the web platform in general, it's hard to ignore how terrible Safari is.
I can understand (sort of) that thinking, but from my very practical point of view: I care about delivering a working application to my users, who should have a good experience. This is what they pay me for. And Safari delivers the best experience of all modern browsers, without any additional effort on my part (I do not have any Safari-specific workarounds, while I did require fixes for Chrome, and Firefox causes problems regularly).
I appear to have hit by a wave of downvotes so this comment may too be hit but I wanted to clarify that I don't think that Safari is actually more broken than any other browser but the ability to verify that features _aren't_ broken requires a higher investment - the lack of a compiled safari on windows makes it difficult to test features during development without using a browser emulator which honestly isn't worth spinning up for simple things.
> 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.
Judging by its performance on Android, Spotify does not feel led by engineering at all. Then again judging by its UX, it cant be led by UX designers either.
The article does not explain anything on their new app organization, on challenges they faced when redesigning, does not give any measured metrics.
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 am a paying Spotify customer since 2010 or so and have also spent countless hours developing software for personal use integrating with Spotify. I've used e.g. their old (now deprecated) C-library and now rely on the web API. Therefore I have no qualms on calling them out on some of their hypocrisy.
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.
The way they’ve handled the deprecation of libspotify is appalling. As you said I’m grateful that they opened their API up to use by others, but ever since libspotify got canned developing native apps around Spotify has become more and more dicey and restricted, with the most notable feature omission being streaming. Worse, they’ve been promising a replacement for years now and it still has yet to arrive.
It’s disappointing that the only truly developer-friendly music service on the market has decided to clam up like they have.
Completely agreed. Libspotify/libcspotify was one of the most promising parts of Spotify’s API, and it was left to die in a hole, with promises of revival, but no actual intent.
There was a time when Spotify was the underdog—a scrappy music startup fighting the good fight trying to legitimize streaming. I remember jumping through hoops to get a prepaid European debit card and using a VPN just so I could sign up for Spotify back when they blocked US users from using it.
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.
>
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.
Absolutely this. The Web API is oddly crippled in a number of ways which make it oddly difficult to develop many interesting apps for the platform. You can't fetch the users a logged-in user is following, for example, hampering the ability to make any kind of "Spotify native" social functionality. Very odd, there's an API developer advocate but he seems toothless within the company.
I was a paying customer until I got too frustrated with the lack of a real desktop player. Forcing what should be real applications into the browser is awkward as hell.
I prefer playing local files and having the feature set of a real player like foobar2000. I was on premium Spotify for a year and found some value in having access to a wider library than my own. But ultimately I got too annoyed with the compromise of low-effort software.
I'm waiting for the stream of "OMG but it's not a _native_ app it's Chromium-based garbage."
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's also fair to think that since it's so up in the air if the app will keep existing or what features they'll even be able to build, they're probably not sure wether they should keep investing on it or not /:
57 comments
[ 4.3 ms ] story [ 110 ms ] threadThis 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.
[1] https://testflight.apple.com/join/7lt2tesn
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".
> It drops Flash in favor of Encrypted Media Extensions (EME) for music playback
Although I thought they did that ages ago.
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.
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.
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.
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.