Fourth Annual iOS Music Player Showcase

jetAudio's iOS app icon jetAudio

Image of jetAudio's light theme album-view Image of jetAudio's light theme full-player
Image of jetAudio's dark theme album-view Image of jetAudio's dark theme full-player

Among the ever-growing pool of third-party music players on iOS, it remains unusual for a player to support deep customization. In terms of sheer quantity of options, only two players boast settings screens rich enough to be considered a customization-forward player, and those are Marvis Pro and jetAudio. However, where Marvis Pro’s customization focuses on providing listeners the ability to radically restructure the app’s browsing navigation, jetAudio’s customization does not. Instead, jetAudio’s settings empower listeners to adjust nearly every visual and functional aspect of jetAudio’s static browsing experience.

Given jetAudio’s novel suite of options, it feels fitting to start with its Settings page. The settings are neatly organized into categories, most notably:

  • Browser: Configure the core browsing experience, such as…
    • Change colors for the background, accent color, and navigation bar
    • Adjust layout, album art size, whether or not to show the album art at all, and more on a per-browser basis
  • Player: Adjust the full-player experience, such as…
    • How to render the album art (Edge-to-edge? With margins? etc.)
    • Lyrics font size
    • Showing or hiding the various player controls
  • Playback: Customize the audio playback itself, such as…
    • Whether or not to fade in or out upon playing or pausing
    • The transition type to use (gapless, crossfade, etc.)

This focus on settings and customization comes with the obvious benefits and drawbacks; users comfortable with diving through pages of settings screens to tweak apps to their personal tastes are sure to appreciate jetAudio empowering them to do so, given most players today typically don’t meet this need. However, for listeners who’d rather not faff about in settings and simply want an opinionated player whose designer did the “hard work” already for them will likely have a worse experience than if they simply purchased a player that already met their needs “out of the box”. Like many things in life, there’s no “right” answer here, and whether or not jetAudio’s approach is right for you is a deeply personal question that depends on whether or not you enjoy flicking through settings screens and experimenting with their contents.

Turning our attention towards jetAudio’s browsing experience, it comes with all the browsers like “Albums” and “Artists” that you’ve come to expect from a general-purpose player. jetAudio opts for displaying these pages with a vertical menu that slides in from the left via a gesture or the hamburger menu on the top bar. This allows jetAudio the extra space to anchor its mini-player right at the bottom of the app instead of setting it on top of or “floating” above a tab bar as seen in many other players. As mentioned before, each of those browsing pages offer per-page customization to hide album art, adjust font size, change layout style, and more, giving you tremendous control over jetAudio’s browsing experience. I love being able to make the “Songs” page display just a plain list without album art, the “Albums” page a x2 grid of my albums, and the “Artists” page a list view with album art, all thanks to jetAudio’s settings.

Image of my jetAudio Albums page in light mode Image of my jetAudio Artists page in light mode Image of my jetAudio Songs page in light mode Image of my jetAudio Albums page in dark mode Image of my jetAudio Artists page in dark mode Image of my jetAudio Songs page in dark mode
My preferred “Albums”, “Artists”, and “Songs” configurations.

To be clear, this system isn’t perfect; puzzlingly, despite jetAudio’s extensive UI and behavior settings, there remains no way to hide or otherwise disable jetAudio’s overly verbose “secondary details” labels. You’re stuck with overly noisy details like number of tracks on a given album, number of entities on the given page, and more. While I’m sure these extra details would be appreciated by some listeners, to not provide a setting to quickly flick these details off is curious from an app with options for nearly every other aspect of the visual and functional experience, and is sure to leave listeners who prefer a more “clean” visual experience disappointed.

That brings us to the full-player, which at first blush appears underwhelmingly traditional. The relatively thin font and component sizes bring up strong memories of the iOS 7-era Music.app full-player design, with little deviation or differentiation to show for itself. This first impression is quickly smashed the minute the full-player options tray is first revealed. A staggering bounty of novel and uncommon options await you there, such as an unparalleled in-app equalizer, no less than twenty-five unique visualizers, and even a sleep timer. This tray and the various visual tweaks that listeners can make to the full-player propel jetAudio’s initially plain full-player into one of the most engaging and functionally useful available today. Listeners that love carefully tuning their playback response curves or exploring colorful visualizers will frankly find no parallel to jetAudio’s extensive and rich offerings. As we’ve also come to expect with jetAudio, however, the full-player’s implementation would benefit from some polish, such as the continued lack of animation for displaying or hiding the options tray (which instead abruptly “blinks” in or out of existence) and the player’s relatively stale visual design (particularly for the iconography and typography). Additionally, the full-player is bizarrely treated as a separate “page” you have to swipe from the left to dismiss, and serves as a constant reminder of jetAudio’s old age.

So far, we’ve only scratched the surface of jetAudio’s capabilities. jetAudio supports whole suites of hobby features not yet discussed like playback from network shares, rudimentary independent library management, and bewilderingly even a dedicated section for podcasts1. On one hand, this elevates jetAudio beyond a “mere” music player into a single destination audio playback utility, but in that same breath it arguably makes jetAudio bloated from feature creep for anyone looking for “just” a music player. Which side any given listener falls on is both up to their taste and needs; if you are looking for just a reasonably designed music player, jetAudio certainly feels like it threw everything and the kitchen sink in, and you’d probably be better served exploring other third-party players. However, if you are looking for a fully-featured audio playback utility to serve as a one-stop shop for all your audio playback needs or simply crave its niche features like in-app equalizers or visualizers, then jetAudio’s kitchen sink can’t be beat.

iPad Experience

jetAudio fully supports the iPad and largely functions exactly the same as a scaled-up version of its iPhone counterpart but with the special ability to adjust layout not only on a per-browser basis but also on an orientation basis. For example, you can choose to display artists as a list when in portrait mode but switch to a grid when in landscape mode. This affordance is arguably a band-aid to the lack of true multi-column support, but given today’s overall sad landscape of third-party iPad support, the ability to make landscape use feel more natural in lieu of multi-column support is an acceptable compromise.

With the rest of jetAudio on iPad feeling little more than a scaled-up version of its iPhone counterpart, that only leaves the discussion of the iPad version’s performance, which I’m pleased to report is adequate. The performance is noticeably worse for the same library on the iPad than the iPhone, but the app’s responsiveness never gets anywhere close to the unusable mess Plum and Musens do on iPad. Assuming you can tolerate a minor performance dip, jetAudio on iPad is a suitable sibling to its performant iPhone counterpart.

Widgets

Regrettably, jetAudio’s “kitchen sink” approach to feature development continues to not include widget support.

New This Year

jetAudio received a small handful of modest updates this year, mostly covering bug fixes and the following tweaks:

  • Folders now display album art
  • Full-screen visualizer capability along with five new visualizers
  • Option to remember and resume playback position for songs longer than a certain length

Folder icons now featuring album art is a welcome addition for listeners who leverage jetAudio’s supplementary independent library support, but the change that arguably has the broader impact this year is the new full-screen visualizer capability and the inclusion of five new visualizers. The full-screen visualizer option is absolutely delightful, allowing jetAudio’s impressive arsenal of visualizers to take up every square inch of the display. When in full screen, the playback controls remain temporarily overlaid but disappear after a few seconds, leaving just the visualizer with no other distractions. The effect is dazzling and allows new visualizers like Black Hole and Quasicrystal to shine brighter than they ever could when forced into the small album art window like in previous years.

Finally, there’s the fascinating new option for jetAudio to preserve playback position for songs longer than an adjustable duration. While undoubtedly a niche feature, this unique ability could prove game changing for listeners with libraries filled with long classical pieces, audiobooks, single-file vinyl rips, or any other kind of abnormally long audio file. Today, every other third-party player resets playback to the beginning when playing a given track regardless of whether or not the file’s a minute long or an hour long. For most listeners with libraries rarely containing tracks longer than a handful of minutes, this blanket policy works just fine, but for listeners with substantial variation in track duration, to have the agency for the first time to instruct their player to remember their last playback position for tracks longer than a particular duration is a tremendous quality of life improvement which up until now has been completely unavailable.

Personal Assessment

:trophy: Beautiful or visually engaging full-player

It’s deeply customizable, offers the best in-app equalizer solution to date, supports dozens of visualizers, and now this year supports running those visualizers in full screen. jetAudio sets the bar for full-player functionality.

:heavy_check_mark: Lyrics support

Lyrics can be toggled on or off by tapping the album art and are badly overlaid onto when activated. It’s pretty hideous, but the feature is there and works.

:heavy_check_mark: Light & dark themes
:heavy_check_mark: iPad support

There’s an iPad version available, and it’s reasonably performant with minimal screen size optimizations. Perfectly acceptable.

:heavy_check_mark: Album-focused features

The “Albums” browser can be tweaked both to display albums as a grid and to sort by my preferred method (Artist > Chronological). There aren’t any other album-focused features to speak of, but this is certainly enough.

:x: Apple Music integration
:x: Discovery features

There’s nary a “Recently Added” or “Recently Played” collection to be found, deeply disappointing.


Table of Contents

  1. Hot Take: music players have always and will always be absolutely terrible podcast players. Get yourself a real podcast player instead like Overcast, don’t even bother with features like this. ↩︎