The Evolution of Aux Plz

To see what Aux Plz has become, check out the AuxBox app on the iOS App Store: https://itunes.apple.com/us/app/auxbox/id1439952652?mt=8

Inspiration

People always say "hey pass the aux chord"... why not digitize the aux chord as a collaborative queue?

What it does

Aux Plz creates a music channel for your you and your friends to queue and play songs from Apple Music. The host device of a music channel would be connected via bluetooth or aux to any speaker, car audio system, etc, while the non-host members of a channel can queue songs. This allows for collaborative queueing between multiple users rather than only having the host control the Apple Music queue. In addition, a voting system was implemented for each song added by a user in a given queue, allowing members of a channel to collectively decide which songs to prioritize and play.

How we built it

Auz Plz was built on Swift and Xcode using the Apple's Music Kit API along with Google Firebase's Realtime Database. Apple Music Kit API allows the host user to sign-in with Apple Music and access the song library without requiring non-host users in a channel to necessarily have a premium membership. Meanwhile, Google Firebase's Realtime Database allowed us to create real-time queues via JSON. We also used Firebase for user authentication.

Challenges we ran into

Originally, we attempted to implement the Spotify API in Swift but experienced difficulties with the user authentication and membership/token requirements. Therefore, we decided to use the Apple Music API Kit because of its greater ease in implementation with Xcode. Another significant challenge we ran into was constantly revamping the UI to account for the user's experience, along with updating queue view controllers. Consequently, we implemented animations and a friendly, dark themed clean

Accomplishments that we're proud of

We are proud of being able to not only tackle social problem, but in 36 hours develop an iOS app allowing users to queue songs real-time. We are also proud of the intricacies we incorporated when designing the UI, ranging from indicative and smooth animations to a carefully planned clean, dark-themed application.

What we learned

We learned how to utilize the Java Web Development API for developer tokens as well as working with JSON file types for Firebase's Realtime Database. Consequently, we gained knowledge on creating the structure of a database, including good practices such as flattening layers (to reduce runtime) and utilize timestamps to organize sessions.

In creating the database on Google Cloud, one had to carefully consider the layout of various fields of information such as session IDs, user IDs (and associated login information), timestamps, and song IDs (to pass into the queue). Combining Firebase with Apple's Music API allowed for unique Song IDs from non-host devices to be transferred and passed in to a collaborative queue under the host device of the channel.

Finally, we learned of the significance of UI in creating the experience for a user as we were constantly editing and making changes to the UI in the given time for maximum appeal.

Built With

  • swift-firebase-apple-music
Share this project:
×

Updates