The State of the Streaming Union
Lately, I’ve grown tired of the HTML5/Flash based nature of Rdio, despite all of the other things that I love about the service. The desktop ‘app’ is basically a wrapper app for the website so that you can use the media keys, but is otherwise a webpage. Right clicking and selecting ‘reload’ is a dead giveaway. HTML5/Flash certainly has its benefits - it allows for quick, platform-agnostic iteration and that’s huge for a company like Rdio, who is outgunned a bit by Spotify and now Beats. However, I decided to stray out to Spotify land to see how green the grass is these days. I left fairly impressed.
At this point, I think that Rdio has put all of its chips in the consistent web-style direction and the technical debt they’ve incurred thus far might do them in. The future are native apps everywhere that use a unified API (which I’m sure they have on some level, but even their mobile apps make heavy use of webviews), and relying on Flash on the desktop is a throwback to 5 years ago. While that’s all architecture talk at this point, the fact that it was bothering me helped nudge me to give Spotify a try and I’m glad that I did. I learned a lot about what other services have to offer.
In fact, once Apple announced they were buying Beats, the maker of the overpriced headphones and the fledgling streaming music service, I decided to take a trial run of that as well to see what the future looks like according to Apple & Beats. I was surprised by some of the features and it really made me rethink what I like about any streaming service.
Devices used: iPad mini, iPhone 5s, iMac, and MacBook Air.
I feel like this is an area that Rdio was leaps and bounds ahead of the others on until recently, but as of late I’m not so sure who leads the pack. Spotify recently went through a redesign that unifies their product offering but it’s very skin deep - they put a pretty coat of paint on things, but it feels overly complicated at times, isn’t easily scannable, and the way the apps ‘work’ don’t make a lot of sense to me at times. However they did manage to close the gap in the aesthetic side of the design and I think it’s a wash between the three services at this point. Why is that? I think each one has it’s own personality and there are UX issues on any of the platforms, so it’s hard to pick a winner. Rdio does a great job of making artwork come to the forefront and keep buttons and UI elements out of the way for the most part, with a clear navigation hierarchy in all of their apps. However, the web-ness of their apps come through, so I ding Rdio for UX reasons. Everything is kind of slow and doesn’t quite feel right at times, despite looking great and being logically organized. Beats has a very strong design as well, but sometimes navigation can be clumsy in their mobile applications. However, awful icon aside I think that Beats might have the best foundation to build on. The user experience in their apps is really solid, which I’ll detail more below.
This term is getting overused but one of the things that does set Beats apart are their ‘influencer’ created playlists and the recommendation engine that suggests playlists to you based on what you like or have listened to. At first I didn’t think I’d see much value but over the past week I’ve grown to appreciate some of the great lists that have been recommended based on either an artist (for example, Talking Heads: Deep Cuts was suggested after I listened to a Talking Heads album) or a genre (90s Suburbia, a playlist with tons of grunge hits, was recommended after I listened to Alice in Chains). These all show up in a ‘Just for you’ section that loads when the app fires up and it keeps you listening to new stuff. The fact that beats allows you to ‘love’ or ‘hate’ any song or playlist further helps their recommendation engine, and over time it’s almost eerie how good the suggestions are.
Spotify has a similar feature, but they recommend artists and songs more than playlists. This works quite well, but most of the playlists Spotify promotes are 200-song monstrosities that are just a collection of every song that fits a certain category. While this is good for an all-day cookout or something like that, it doesn’t really get as specific as something like Beats does, which is offer up very focused playlists (one of my favorites so far is ‘Best of Chipmunk Soul’, which if you don’t know is what some call the early 2000s Kanye West style of sped up soul samples in songs) which are maybe 10-20 songs long. Spotify still does a good job of suggesting music I might like and I’m usually agreeing with what they have to offer.
Rdio has a recommendation feature but it’s kind of buried and the suggestions are very programatic. I rarely use it and I’m sure most folks feel the same way. Most music discovery on Rdio is via the ‘Heavy Rotation’ feature, that allows music your friends are loving to bubble up. It works pretty well if you follow the right people, but it’s a different approach. Your best bet for discovering music on Rdio is listening to the you.FM feature, which plays a custom radio station based on your collection and listening habits.
Playlist / music management
Rdio wins this category, but it’s basically a toss up between all 3 services. On Rdio’s desktop app and the mobile app, you can select to add a song/album to your library, sync it to your mobile device, or add it to a playlist. One of the best things about Rdio is that you can manage what is on your mobile device from anywhere - this doesn’t sound like a useful feature until you try the way that others handle it. If you choose to sync a song to mobile from the desktop, it will do that the next time you open any of your mobile apps. Another great feature is in the way Rdio allows you to add songs to a playlist from the actual list view. A search box exists that allows you to type in a track name and the result will be added to your list if you select it. Great if you’re taking a lot of random requests for a playlist and want to quickly assemble a track listing. The biggest issue again comes from the fact that Rdio uses a lot of webviews. You can’t select or edit multiple songs in a playlist. Drag and drop is slow and just plain clumsy. Other than that, it’s the best for managing music and playlists.
Spotify has its ups and downs - it’s difficult to know what songs are queued to play, and how to save a song for offline playback. If you search for an artist or song and land on the album that way on your phone, you’re unable to sync for offline. If you go through your ‘collection’ you can sync but the iconography is very hard to see. Spotfiy does make it easy to add songs to a playlist or your collection, though. Same for quickly jumping to the artist page or the album page. This is helpful for if you’re going through a long playlist and want to jump to the album the song is from. I also particularly like how you can use a search box to filter an existing playlist to find a certain song. Since everything is “native” the speed to edit playlists is the fastest of the bunch. Recently Spotify added the ability to filter by offline and alphabetical within your library listings, which is huge for mobile usability. This finally brings them on par with the others and for me makes using the mobile app a viable option, despite it being solid in most other ways to begin with.
Beats is really solid on the mobile front - there are filters to see what songs are on your mobile vs your entire collection, and it’s easy to add songs to a playlist, to your collection, or add to your mobile device for offline playback. However, the offline config is a on a per-device basis so you can’t get the benefit of Rdio’s universal management.
Rdio allows you to build custom stations and also provides you with a you.FM feature that is a station built on your tastes and listening habits. In fact, all radio stations allow you to customize on a sliding scale from ‘popular’ to ‘adventurous’ which allows you to specify exactly what you want to hear.
Beats learns your history and suggests albums and playlists you’d like, and the recommendations are really solid.
Spotify offers a similar approach to what Beats does, but it offers a few nice touches that put it above the others. When you see recommendations, it offers up why it is suggesting the artist as well as a very quick way to add the song or album to your collection, as well as play the item.
Spotify wins this round mainly because it’s the only one with a true desktop client. Everything is fast, track lists pop into place and dragging and dropping is snappy. Songs are cached for offline playback automatically as well as giving the user the option to cache specific playlists or albums for offline, just like the mobile clients.
Rdio’s is a good app but it’s essentially a web player wrapped in a native client. It does everything the website does, only it can respond to system keys like play/pause, which is nice. It’s simply slower than a native app, especially when editing playlists or loading lots of content. Dragging and dropping feels clunky (as it’s web based), and basically it’s just a really good web app. Unfortunately, that’s not what people want. Overall, performance on Rdio’s desktop app is pretty poor, and I have no confidence that they’ll ever get away from the web-based model. It’s a shame too, as a native Rdio app that did the exact things that the web version does right now would be unbeatable by the competition.
Beats … they only have a web player and it lacks almost all of the features you’d expect it to have - it’s nowhere near on par with their excellent mobile clients nor does it even have the basics of the other competitors’ web offerings. It feels very rushed and I hope it gets addressed with a true native app eventually (I can see Apple influencing this, as they think of ‘the cloud’ as a conduit for native apps to talk to each other, instead of web-based services). It currently never remembers my login, it takes 10 seconds to add a song to my library, and the connection is frequently lost. They need to up their desktop game, and fast.
I use the mobile app for whichever service I choose a ton, and as such I have some fairly specific things I look for:
- Offline sync
- Filtering lists
- Searching lists
- Sort by play count or recently added
- Speed of adding, finding albums
- Ease of use while driving
- Background sync
Each of the 3 major clients I tried offer their own take and have strengths and weaknesses, but Spotify comes out ahead (barely).
Spotify allows for offline sync (up to 3,333 tracks!) and recently also added the ability to filter playlists and album listings based on offline only, A-Z, or recently added. This makes it a lot easier to fire up the app and only stream music you have on your device. Spotify has had a search box at the top of the playlist that allows users to find the specific track you’re looking for - and recently they’ve added a dialog that warns you when you are trying to add a track that already exists on a playlist. Spotify makes it easy to view the album a track is from as well as add the track to your playlist. The biggest issue is how quickly Spotify stops syncing in the background when you close the app. I wish that it would take advantage of background sync and try to complete at intervals. Also, it should be noted the iPad app is outdated compared to its iPhone counterpart. I don’t listen to much music on my iPad though, so that’s not a big issue.
Rdio suffers from the same issues that the desktop app does - removing a track from a playlist causes the entire list to refresh, losing your place. The odd placement of the dialog when trying to action on a track means you have to scroll down a lot to add a song to a playlist or queue it. However, Rdio does offer a good ‘offline’ mode as well as some solid filtering options.
Beats has a really great mobile app, and it has solid filtering, offline sync and playlist action controls. The only odd thing about it is how slow the dialog is to determine if you have a song in your library or not. So, if you click on an album you want to add to your library, it might take 2-5 seconds to show the correct icon. Odd and confusing at times. I wish that data would be cached on app launch somehow. Beats also makes it really easy to remove all synced music from your device, while the others don’t offer this.
I love setting up a playlist or a station of music at home and using Airplay to broadcast to all the speakers we have in our house. I use iTunes Radio for this a lot, but I’ve also tried using streaming services to see if they can match that feature set.
Another feature that Rdio offers that I truly love is the remote control feature. If you’re playing Rdio from another location (say, you’re desktop) and you open your iOS app, you see a notification at the footer saying that Rdio is playing in another location. You can basically use your iOS app as a remote control, queueing up songs, changing tracks, giving a song a thumbs up/down if you’re playing a station - basically, anything you can do on your app. It’s a really great feature that is only missing the feature of letting you control which device is playing. I’d love to pick up my iOS device and just select my Mac from there, and press play. Currently, you have to initiate the play from the place you want to control remotely.
Spotify does this feature right but they also have an exception - currently the desktop app doesn’t support the Spotify Connect feature that allows for users to remotely control their music. So, if you have an iPad, an iPhone or a supported speaker (I have a Pioneer SMA3K speaker that has this functionality) you can fire up any app and find other supported playback destinations on you network and begin playback on your device or any other device. For now, you’re forced to use 3rd party remote control apps that are generally pretty awful.
Beats doesn’t do anything like this currently.
For those keeping score at home, here’s how each of the categories turned out: Spotify: 3 (personalization, desktop app, mobile app) Rdio: 2 (remote control, playlist / track management) Beats: 2 (design, curation)
Every time I’ve ditched Rdio for another service, I end up coming back. I think that despite a lot of the implementation detail issues that drive me bonkers, Rdio just is built the way I want a streaming service to be built. I like that I can choose a bunch of music from anywhere to sync to a mobile device, and it’ll just happen the next time I open the app (I wish it’d happen in the background but alas). I like that, when I’m at home I can play music from my Mac on all my speakers and control it from any device without some hack workaround. I think Rdio has the best radio station feature by far, and the heavy rotation / personalized station features are also unique and top notch.
All that said, this time the bad has outweighed the fact that it is built the way I expect it to. The UX on the desktop and mobile apps are just atrocious and slow and I’m going to stick with Spotify for now. Their recent design refresh closed the gap with Rdio enough for me to be ok with the look and feel of the app, and the UX is mostly better than Rdio’s right now. Further, I just can’t shake the feeling that Rdio is the long-term loser here. Development and new features seem to have slowed lately, and I can’t see them keeping pace with Spotify or even Beats once the Apple acquisition is in full swing.
I do think that long term I’ll end up being a Beats customer - I have a hunch that Apple will eventually get their new division on board with creating a desktop app that (hopefully) stands alongside iTunes separately, but at worst will integrate into the iTunes app. If they handle the desktop app part correctly, bolt on some remote control functionality as well as flesh out their ‘sentence’ feature, I think that in a year I’ll be a Beats user. But for now, it’s on to Spotify - warts and all. Thanks for the ride Rdio - it’s a solid service that hitched their wagon to web technology and as a result just can’t offer the native experience that I’m looking for.