A simple iOS app designed to perform one task simply and painlessly: play a random music album in your iTunes Library. For as long as I've been using portable music players, dating back to the original click-wheel iPod and Creative Zen Vision: M, this has been the #1 feature I've desired in any such device. It’s a mechanism to drive exploration throughout one’s music library without the mental bias which inevitably plays a factor in a human being’s attempt to be “random”. While there are existing iOS apps for this purpose, each I've tried has had at least one annoying quirk which tarnishes the user experience. This app aimed to perform this task with little-to-no capacity for annoyance.
Developing this app served as a pedagogical experience with writing Swift and working with the new unified storyboard and size classes introduced in iOS 8 which I eagerly jumped into after virtually attending various developer sessions on those topics during WWDC 2014. You could argue this was one of first 3rd party universal iOS applications of its kind, dynamically scaling to the form factor of any device which could run iOS 8. Shuffling an album was as simple as swiping left on the album art currently playing or tapping the ‘Shuffle’ button in the navigation bar. Once an album was picked, playback could be control either directly in the app or the 1st party music app. It also featured scaled AirPlay support allowing the user to AirPlay the music to an Apple TV and display the album art and track information in fullscreen on their TV. It was submitted to Apple for App Store listing but rejected for having a limited set of features and a claim that the 1st iOS music app already provided the app's functionality. The latter claim was inaccurate and disputed but the app was not accepted regardless.
Album Shuffle was designed to do one thing and do it well and it accomplished that. I had no desire to add additional bells and whistles “for the sake of” so it effectively lived on only for personal use until the app was deprecated along with the iOS APIs it relied on for its core functionality.
Working project