Hacker News new | ask | show | jobs
by dmitriid 1320 days ago
> the requirements for their application are pretty straightforward.

Surprisingly, not entirely straightforward. Source: working at Spotify.

Should the app be better? OF COURSE. But the scenarios it can be used in can be weird and complicated by legal matters.

If a user on free tier joins a group session over wi-fi at a friend's house, when the friend has premium subscription, what happens to queues, song skips, and what status is displayed on which devices? :) Note: even getting the device name is often tricky.

And there are hundreds of such use cases per device because different devices have different capabilities and limitations (on some devices you don't even have control over the UI presented to the user).

Without revealing too much, there's an ongoing work to make this stuff better, faster, more seamless, and from personal experience Spotify has been better across devices in recent years. But... It's still weird, brittle at times, and takes time to propagate to some devices and apps.

But it should get better (don't quote me on that :)) )

2 comments

I really do appreciate your view and want to stress that it’s not a personal attack on you or any other engineer at Spotify. Like any software project it’s very easy for someone outside to point at it and say “this is simple and you are bad for not doing better”, and that rarely reflects the complicated reality.

But the flip-side of that is that every single time I try to use this software—something I fork over money for every month—it fails in some baffling, opaque way. At that level it’s more of a management and prioritisation issue - this is exactly the sort of thing that is likely to make me throw my hands up and switch to an alternative.

> it fails in some baffling, opaque way.

It's weird that it actually fails in some ways, and constantly. But then, I myself use it only as a background music player during the week, and as a podcast player in my car, so I definitely don't use it in a variety of scenarios.

> At that level it’s more of a management and prioritisation issue

Actual failures are tracked and prioritised. Sometimes the fixes don't get propagated to all systems quick enough, or they are deprioritised because there's something that affects an even larger number of users (it could be anything from parity of features to bugs to certain behaviours).

Also, and I suspect that you would know better than I, there's usually an issue with The Corporate Library, in $BIGCORP.

Most corporations, over a certain size, tend to develop an internal SDK/dependency, that needs to be reflected in all their software. This can bring all sorts of issues.

And that, too :) One can't simply change X dependencies that are used by Y services used by Z apps.