Zbox and OneMusic are two of the best Windows Phone Music players. They do their job really well, and that’s a shame because I really find myself unable to recommend them.
First, let’s talk about design. Zbox and OneMusic take very different approaches to design. Philippe Maes’ OneMusic has a minimalistic design in the style of Cal. It is very different from the Zune inspired Xbox Music. It’s more of a traditional music player with no frills or ribbons added. You can theme the interface, but that’s about all the customization you have.
In contrast Zbox looks –as its name implies- like a merger of Xbox Music and Zune. Aesthetically, the result is fantastic. We get the more modern aesthetics combined with the Zune design language from a designer who gives a crap. UI wise, it works.. The app is intuitive . It respects the Windows Phone design language without being restricted by it.
Unlike OneMusic, this app has far more extras which make it stand out. It supports Last.FM integration for album and artist image. It has a vertical swipe to change feature. Its now playing screen can be customized to show either just the artist image, the artist with small album art or the artist with large album art.
Both apps are incredibly fast. OneMusic is slightly faster though, its screens just pop into view and slide around, But again, that’s simply because OneMusic is simpler. Zbox is slightly slower to start-up (the dev admits as much in the store listing), but you probably won’t notice because you’re too busy oohing and aahing.
Both apps aren’t perfect. Not at all. OneMusic has issues with queuing. Whether you choose to shuffle or not, the songs displayed in the queue tend not to match whatever is playing next, making each song a surprise (how pleasant of a surprise depends on whether or not there are kids around). Its also crashed a few times, although the developer has tweeted that he will fix that soon.
Zbox on the other hand, seems to love keeping its library up to date. Even if you haven’t added any music at all. This results in the app scanning for music when you just want to play the next song. OneMusic does it as well and it is equally annoying. In my experience however, the app scanned for music three times in as many hours. Now that was not fun, especially when I just wanted to play music. Also, after each scan playlists created in the app were rendered useless. None would play.
Overall, both OneMusic and Zbox are great apps. What they set to do, they accomplish and do it well. But the frequent library scans I experienced make it really hard to recommend them.
Now I know that I’ve gone over the music experience in Windows Phone 8.1 over and over, but it bears repeating. Aside from the horrible first party Xbox Music app, third party devs are working with two hands tied behind their backs. There are two types of music apps in the store. The first are 8.0 Silverlight apps which effectively serve as a skin for Xbox Music / music hub. You can check this by starting a song, jumping to the start menu and tapping the volume controls. How bad were the APIs? I went to Reddit to ask and got a few answers. The dev of Sharkphone says
“SharkPhone developer here. All this is very true. I haven’t looked into the 8.1 APIs (and don’t intend to until Verizon decides to push it) but here are a few things I ran into when developing against 8.0.
The background player, AudioPlayerAgent is bizarre:
(cutting out dev speak here, follow the source link to learn more)
There is no “playlist” construct, the PlayerAgent is very dumb and you will have to do a lot of plumbing depending on how complicated you want things.”
Well then you may think “8.1 has certainly fixed things API wise”. Yes, the WP 8.1 apis are certainly different. But they aren’t necessarily better depending on how you use your music. For instance, suppose you add a song or two to your collection. On any other platform and the main XBM app, you can find this song by yourself without doing a thing. It’s just “there”. On 8.1 you manually have to scan all the songs again to find that one song, rendering that app unusable till all the scanning is done. I ran into this problem a lot when using 8.1 apps; one can only scan 2000+ songs so many times. This isn’t the fault of the devs. The OS literally doesn’t allow that, even Xbox Music only updates when the phone is on the charger.
“Firstly, making gapless playback is hard. Really hard. There isn’t native support for gapless playback as far as I can tell, and the MP3 format doesn’t even have any data that describes how much silence there is at the end of the track. So to make gapless playback for MP3s you have to analyze the last segments of a track and decide how much silence to trim off, which isn’t a reliable process. Furthermore, doing this isn’t even something that is possible, as the MP3 format isn’t a format that anyone can make a decoder for, so to do something custom like that you’d have to pay fees to whoever owns the format. For FLAC or other files this is actually easier, but still quite complex to implement.
Playlists: The playlist folder on Windows Phone is marked as hidden, and so 3rd party apps can’t access data in that folder to read existing playlists. This is why no 3rd party apps allow you to import your playlists.
Also, making a responsive UI isn’t super easy for music apps. Music apps can handle a lot of local data, a lot more than almost any other app, and to make the experience seamless and fluid is pretty tricky.
It’s also tough to keep music in sync easily. Folders in Windows Phone don’t provide data for when they were last changed, so rather than updating only the folders that have changed the entire music library has to be rescanned every time. This is probably why these apps don’t scan in the background.”
To end this on a positive note, I don’t critique because I’m full of hatred and righteous anger or some other thing like that. No. I do it because I like Windows Phone and I find it irritating that something so simple that it should not even be mentioned is turning into such a black eye for the platform. It’s not great for new user and it’s worse for those who bought 8.0 devices and then got downgraded. It’s like buying a really nice car only to have the manufacturer come by and take a few things out and promise to fix it in two years. That fix had better be out of this world. Both for the devs, users and Microsoft’s reputation alike.