Third Annual iOS Music Player Showcase

We’re now just hours away from finally putting 2020 safely behind us, indicating the time has come once again to check in on iOS’s growing list of music players. Where a splash of formidable new arrivals like Marvis Pro and Power Player marked 2019, growth and refinement mark 2020. The fatigue blanketing the music player market prior to 2018 now feels like a distant memory, in its place a thriving ecosystem showing no signs of slowing down.

A lot has changed this year within and beyond the iOS music player microcosm, and so too must this yearly article change. When I first began this series, it was more or less a way for me to catalogue my quest to find what I felt was the best music player on iOS for those with similar values and needs to my own. While this framing worked well enough the first couple years, both myself and the market have outgrown it; The ecosystem is so rich and developed now, I found myself using a handful in heavy but equal rotation this year based on what my needs were at that particular time. To reflect this change, I feel it’s more appropriate this year to present this piece as a music player showcase, rather than a competition.

Despite this framing change, I’ll still provide subjective opinions on these players based on what I personally value in music listening. Also, while the framing changed this year, what I look for in music players hasn’t; I still love albums and typically listen to them over singles and playlists. I also make an effort to actively listen to my music, so I tend to gravitate towards players with features that enhance the active listening experience. In an effort to codify these values, I’ll assess each app based on the feature list below. These features are not requirements, but rather measurement tools to help gauge how well any particular player fits into my listening habits. Those features are:

  • Lyrics support
  • Light & dark themes that properly adhere to iOS’s look and feel
  • iPad support
  • Discovery features to stimulate music exploration, such as “Recently Added”
  • A beautiful or visually engaging player view
  • Album-focused features, which include but are not limited to:
    • The one, true album sorting method (alphabetically by artist then chronologically by release year)
    • A grid view for more natural visual browsing

While I do appreciate other features such as rich iOS 14 widget support and streaming service integration, they’re not as important to my listening habits as the points above. However, since widgets are by far the community’s runaway favorite iOS 14 feature, I’d have to be tone deaf to not also cover each player’s widget support this year. Widgets will be covered in a separate section for each player to make jumping to or skipping over that specific feature easier.

Like last year, I have a short list of music player “deal-breakers”. In an effort to trim the list of players in the showcase, any player that misses one of these deal-breakers will not be included. However, those I feel are still noteworthy will be briefly acknowledged as honorable mentions. My deal-breaker requirements are:

  • Support for newer iPhone displays (at least the iPhone X)
  • Active maintenance (“active” defined as receiving a meaningful update within the past year)
  • A native or native-like app (that means no web apps, lazy Android ports, or apps with badly designed custom components. Apps that are performant and well designed enough to fool me are fair game)
  • Local-primary focus (that means no stream-focused or stream-exclusive players. Players that support both local and cloud functionality but work just as well in “local-only” mode are fair game)
  • Large album art in the player view
  • Any custom equalizer provided by the app must also provide the option to completely disable it
Continue Reading...

Second Annual iOS Music Player Competition

2019 was an exciting year for iOS music apps. Not long after I published my article “Quest for the Best iOS Music Player” early last year, new music players flooded the App Store at breakneck speed. While this was a pleasant suprise, it was certainly unusual; at the end of 2018, the category was more or less stagnant; new music players were exceedingly rare and some of the old guard were wasting away from developer indifference. Not so in 2019! No less than half a dozen brand new apps entered the fray, three of which within the same month of each other1.

With such a breadth of exciting change happening in the iOS music player category, it’s clear a revisit to last year’s article is in order. My personal list of requirements haven’t drastically changed since, but to reiterate, these are the characteristics I value in music players:

  • Lyrics support
  • Light & dark themes that match iOS 13’s style guides and global theme setting (this is a change from last year’s requirements, reflecting iOS 13’s official dark mode support)
  • iPad support
  • Discovery options that help stimulate music exploration. Examples include but are not limited to views like “Recently Added”, “Added this day X years ago”, etc.
  • A beautiful or visually engaging “Now Playing” view
  • Album-focused design, which includes but is not limited to:
    • The one, true album sorting method (alphabetically by artist then chronologically by release year. Any other sorting method for albums is wrong).
    • A grid view for improved visual browsing

My “deal-breaker” requirements mostly remained the same as well:

  • Support for newer iPhone displays (iPhone X & newer). Apps that have not yet been updated to support these display sizes will be immediately disqualified.
  • Active maintenance (“active” defined as having received a meaningful update within the past year)
  • A native or native-like app. That means no web apps, lazy Android ports, or apps with badly designed custom components. Apps that are performant and well designed enough to fool me are fair game.
  • Local-primary focus, so no stream-focused or stream-exclusive players. Apps that support both local and cloud functionality but work just as well in “local-only” mode are fair game.
  • Large album art in the “Now Playing” view

With the score sheet established, let’s dive in.

Continue Reading...

Wireguard Server on macOS

Update: May 2, 2021

This is a revision of the first guide originally published back in August 30, 2019.

This revision contains a myriad of improvements provided by multiple individuals and would not exist in its current form without their help. Each are credited at the end of the article, and many thanks to them all for their contributions to this site and the Wireguard community.

The original guide remains available here. Please note that the original guide is no longer the recommended approach and remains available for historical preservation purposes only.

I can confirm this guide works for macOS Big Sur 11.3.

Notice: May 12, 2020

Please be aware that at present the guide’s traffic routing instructions route through IPv4 traffic only. That means IPv6-exclusive hosts will be inaccessible to connected peers configured with this guide. If you know a means of achieving this, please get in touch.

Many thanks to Jeremy Quinn for detecting this oversight.

After months of false starts and dead ends, I’m happy to report my Wireguard VPN server is successfully running on macOS.

Wireguard is a relatively new VPN protocol, entering the scene just three short years ago in 2016. Compared to the ancient VPN alternatives like IPSec and OpenVPN, Wireguard’s simplicity and speed quickly earned it the attention and praise of various tech communities like Hacker News and Lobste.rs. Everywhere you look are Wireguard threads filled with enthusiastic comments urging others to give Wireguard a try.

The best part is, they’re right! Compared to the existing lineup of VPN protocols, Wireguard’s small codebase, blazingly fast speed, and relatively simple setup put Wireguard in a league of its own as the first truly modern VPN protocol. There’s just one tiny niggle: the protocol is so young there might be no documentation or guides for your platform of choice.

Unfortunately, that’s the situation I found myself in with macOS when attempting to set up my Wireguard server. Despite extensively reading what’s currently the finest Wireguard documentation available and following its relevant example to a tee, Wireguard would simply not function as expected on macOS. The best I could do was establish a direct connection to the server with Wireguard, but all attempts to access the LAN or surf the web timed out and failed.

Despite numerous attempts over the months, my Google-fu yielded no results, either. While there were plenty of help articles from others setting up Wireguard on macOS, every single one of them was for setting up a Wireguard peer on macOS. This peer was always intended to only connect to a Wireguard server on more common platforms like Ubuntu or CentOS, never the other way around.

However, from my on-and-off research over these past few months I’ve finally cobbled together a solution that’s working. Thus, I intend to fill this hole in the community’s growing collection of documentation and setup guides: here’s what you need to do to get a Wireguard server running on macOS with full traffic routing and LAN access1.

Continue Reading...

Quest for the Best iOS Music Player

It’s no secret I cherish music. That passion seeped not only into my physical library in the form of vinyl records but also into my personal projects with the introduction of the Bad Music Hertz website and podcast. It was only a matter of time until that same passion fueled a desire to find the perfect iOS music player.

By “perfect” player, I do not simply mean the app most appealing to the widest audience, or even the most well-rounded app (if that’s what you’re looking for, The Sweet Setup’s article is fantastic). No, what I wished to find in my quest was a niche app that’s unapologetically for people that love actively listening to and collecting music.

Continue Reading...

Eulogy for a Good Icon

This past year, I’ve had the pleasure of using Fournova’s macOS git client, Tower 2, to version control my professional and personal work. After years of forcing myself to use the inconsistent, cryptic commands required to make version control with git marginally usable, I could finally relax and instead use Tower 2’s intuitive graphical interface to make my versioning tasks as easy as clicking a button.

Tower 2 didn’t just provide a suburb user experience, it also dazzled with a gorgeous, gold-standard macOS app icon. Icon redesigns are a difficult balancing act between the existing brand identity and the needs of the redesign (in this case, macOS’s 2014 redesign). Despite the difficulty, Tower 2’s refreshed icon danced between them with ease.

Continue Reading...