The KUTX mobile experience was in a sorry state. It’s so bare-bones, it doesn’t even feel minimal; it feels broken. After a friend pointed out that the iPhone app was built using Cordova and Angular, and how easy it was to extract that source code from the .ipa file, I got to work. With KUTX’s first birthday coming up just around the corner, I figured a much improved iPhone app would be a great birthday gift.

Old app on the left, new app on the right, obviously.

Their playlist was freely available on their website and all loaded via javascript, so finding API urls was easy. Soon enough, I had the angular app loading up the current playlist.


I mimiced the aesthetic of their recently redesigned website, sticking with Futura for the font, but some changes had to be made with how data was being formatted.

The two primary questions we’re trying to answer with a radio playlist are “What’s currently playing?” and “What just played?”

The website shows this data, but the way it’s displayed is problematic. With the currently broadcasting show and the most recently updated playlist right next to each other, it seems like they’re connected. And when DJs update their playlists frequently, they are. But not all do. Paul Ray just don’t give a damn about online playlists when he’s spinning 45s from the 50s, so when Twine Time is playing, the playlist directly below it displays what played hours ago.

That ain't good. Paul Ray didn't play the Strokes. Believe me.

So to fix that in the mobile app, I grouped the tracks by show, and displayed them all linearly. If a show doesn’t have any playlist data, you still see the name of the show, and the times it played.

Album Art

The API they were using to pull down tracks had album art available—but not for all the tracks. When it’s available, it’s really nice to see, but when it’s not, we don’t want to leave a blank square.

So instead I used the first letter of the artist name as the album art. Still visually interesting enough to not look broken, until their APIs got better at providing album art.

For background art on the show listings, I used images from their website so that there wouldn’t be any problems with licensing rights.

Happy Birthday, KUTX

I figured giving them this functioning app would be easy—I just needed a contact at KUTX. I posted the app on the Austin sub-reddit where it got much interest, and for a few days it was #1. From some tips I got from that thread, I found out who the guy I needed to talk to was. So one morning I walked into KUTX, asked to speak with him, and gave him a demo, and talked about what I hoped to do—just give them all rights to the app.

Slam dunk, right?

Wrong. You would not believe how many layers of bureaucracy need navigating for a little app improvement like this to get through the university’s approval process. I learned the details in the hour chat we had, and to make a long story short, it couldn’t happen.

So now the source code sits unused on github, and is regularly used on my iPhone alone, while still—many months later—the featureless KUTX-built app is still on the App Store, frustrating KUTX listeners everywhere.

Leave a comment!