For Christmas, I was gifted a year subscription to Spotify. Up to this point, I’ve purchased all my music. I’ve used Spotify in the past using a free account to try it out, but never committed. I didn’t really get into the service much – I found my playlists got stale quick and didn’t invest time to make new playlists, listen to the radio or find new music.
Now that I’m a subscriber, I want to fully understand the software and community. To this point, I used the Mac client find more. Features being equal, I’d rather use the web client and avoid maintaining software on my macs. So I did a comparison of both apps.
First of all, let me say that I have respect for any company that supports all the major desktop, mobile, and web platforms. I live that reality and fully understand the challenges trying to accommodate all of them. It’s a huge effort – from engineering to support.
Their Mac interface isn’t terrible. It’s not purely mac, but it’s ok. Buttons aren’t Mac buttons, table views don’t bounce, etc. But it does the job. Looking at iTunes isn’t any better. Looking into Spotify.app, they are embedding Chromium, use C++, boost, Lua, SQLite, Flash (really? for ads?), Growl, have a few helper applications (for web, ads, it appears), run their helper under launchd, nothing too out of the ordinary here.
Spotify appears to be really OSS friendly. Much of their architecture is freely available online. One of their engineers, Gunnar Kreitz, posted a few papers that I’ll probably read to better understand their design.
I did notice Spotify took the chrome route and are forking multiple child processes to presumably handle plug-in “apps” or web views. They are aggressive with their subprocesses.
All things being equal, I would rather use the web version. No installation, no upgrades, no maintenance. And quite honestly, Spotify did a nice job with the web interface. Featurewise, it’s nearly identical. I listed below the list of differences I saw – most of them are minor.
One thing that stuck out – you can’t sort playlists on the web. The main function of any subscription music service is to discover and play music, right? The ability to discover, create, manipulate, and share playlists is essential. It’s eyebrow raising – here we have a cross platform music streaming service cut from the cloth of seemingly very solid computer scientists that lacks the ability to sort a playlist.
A quick google search later and it turns out this is a 2 year old new idea. I’m shocked it’s a known, unsolved, and 2 year old issue. I can sort a playlist on my iOS device, but not the web? Has web development stopped? Does nobody use the web client?
As far as the rest of the Mac/web differences. App Finder might be nice depending on what the apps have access to within Spotify.
I’m going to give the web player a try and use my iOS device for sorting. We’ll see how it goes. I’m looking forward to using the service in 2015!
- Native app has USB device sync. Does anyone need this?
- Native app has “App Finder”. Might be nice for discovery, recommendations, or analytics.
- Native app has Local Files section (surely for offline playback). (not relevant for web). I don’t need this – all my offline needs are handled on my iOS device.
- Playlist sorting, song sorting within a playlist.
- The left sidebar options are different:
* Native app – contains “follow”, “top lists”, “messages”, “play queue”, devices”
* Web app embeds most of this under the “browse” item.
- Your music :
* Native app has a section in the left sidebar (songs / albums / artists ..)
* Web app has a single “your music” icon on left, all content is broken out as submenus on the “your music” page.
- Right sidebar differences:
* Native app – “activity feed” – can hide.
* Web app – player + related items.