SongShift 3.0 and Switching Between Apple Music and Spotify

For the better part of this year, I’ve been using both Spotify and Apple Music. In my opinion, each service does a few things exceptionally well, but, unfortunately, I can’t have all of them in a single music app.

Spotify’s discovery tools for both old and new songs are simply unparalleled in the industry: Discover Weekly continues to surprise me on a weekly basis just like mixtapes used to do. Spotify is everywhere (including my Amazon Echo); I like how it organizes releases on artist pages; and, it’s got a richer selection of user-generated playlists. Apple Music, on the other hand, looks much better than Spotify (I love Apple’s focus on album artworks and large photography), features built-in lyrics, is deeply integrated with the Apple ecosystem, and I’m a fan of the social feed launched with iOS 11. In short: Spotify is superior when it comes to discovery for music aficionados and integration with third-party hardware, but Apple Music is nicer and easier to use for iOS users. I can’t choose because I happen to have a foot in both camps.

If you love music and want to make sure you listen to as much new and old content as possible, using two streaming services comes with a big trade-off: there’s no built-in option to keep your playlists in sync. Fortunately, thanks to the Spotify web API and MusicKit on iOS, third-party developers have created utilities to easily export playlists from one music service to another. Among these apps (such as jMusic, Houdini, and STAMP), I’ve been using SongShift since its first release last year, and I’m particularly impressed with the work of developer Juan Carlos Perez in version 3.0 of the app, introduced last month.

Compared to the original app, there are three major improvements in SongShift 3.0: you can automatically sync playlists from source to destination as changes are made to the source playlist; the main screen has been redesigned so shifts are easier to create and monitor; and, the app now supports batch processing for multiple playlists at a time. I didn’t find the first version of SongShift confusing, but I like how the app now features a simplified shift detail screen that neatly breaks down matched, pending, and failed songs.

Performance and accuracy of transfers have always been SongShift’s core advantages over similar apps, and both aspects have continued to grow since the app’s debut. In exporting my Discovered playlist (which contains new songs I’ve discovered either through recommendations or exploration) from Spotify to Apple Music, SongShift 3.0 correctly matched 148 songs out of 150, preserving their original order in the playlist. The entire process took about 3 minutes. The app’s new detail screen allowed me to see the songs that couldn’t be matched, which, however, were available on Apple Music. The developer told me the matching algorithm will be fine-tuned in future updates so that even those occasional tracks should be matched and shifted.

Notifications and the new detail screen in SongShift 3.0.

As someone who regularly switches between two music streaming services, playlist auto-sync is the marquee addition in SongShift 3.0. Here’s how it works: after creating a shift on one device and enabling auto-sync, SongShift will keep checking for new songs added to the source playlist and automatically add them to the destination over time. In my tests, SongShift indeed sent me notifications alerting me of new songs found in Spotify playlists I previously configured in the app, successfully resuming shifts to process new songs when I launched the app.

Behind the scenes, auto-sync checks playlists for new songs each time SongShift launches (as long as it’s been two minutes since the last check). Alternatively, auto-sync will check for changes through iOS’ background app refresh, which depends on the system waking SongShift in the background for a short period of time to check for updates and send a local notification. Therefore, there are some limitations to auto-sync worth keeping in mind.

At the moment, auto-sync doesn’t offer a server component that can constantly monitor changes to playlists and queue transfers in the cloud. This also means that shifts can’t sync across multiple devices; if you set up an auto-sync shift on both your iPhone and iPad, you’re going to end up with duplicate songs in the destination playlist because each instance of SongShift is processing matched tracks. For now, I’m using SongShift on my iPhone to avoid this problem; in the future, I’d like to see a move toward a web-based SongShift platform where my playlists are kept in sync by a web service that runs on top of the iOS client.

I haven’t been able to choose between Apple Music and Spotify (I’m not sure I’ll ever be fully satisfied with just one of them), but SongShift has alleviated most of the issues with switching between two music services and sharing playlists with friends. The design of version 3.0 makes it easier than ever to start shifts; auto-sync, while limited to individual devices, saves a lot of time you’d otherwise spend manually adding songs to existing playlists. If you also find yourself listening to music across multiple services and wishing for more consistency between your playlists, I can’t recommend SongShift 3.0 enough.