I’m a long time NoiseTrade fan and have always wished there was an easy way to discover artists on the site — a custom playlist of artists and songs I might not have found otherwise. In the Summer of 2016, my friend James and I found ourselves with some available bandwidth and decided to design and build a phone app powered to solve that problem. Before writing code or working on a logo, we used Google’s Design Sprint process to develop our road-map and define what exactly we wanted to build.

As we walked through the design sprint, it helped us consider who we were building this for and what exactly we were trying to achieve. After brainstorming and discussing what our goals and ideas were, we came up with three words that we wanted to describe our app. These words shape everything, including our look and feel, branding, user experience and technical decisions. Those three words were Intimate, Reliable, and Tasteful. Along the way, we also came up with the name NT Parcel, which we felt represented our goal of delivering a “parcel” of NoiseTrade songs to discover and enjoy.
Once we had developed the core ideas and brand we would build around, we began the development process. James is a talented graphic artist with great UI/UX skills and was responsible for the the UI and UX design of the app. I took responsibility for the architecting and building the app, and backend API.
Android App Construction
When I began, I knew that writing both an iPhone and Android app would be difficult, especially since I was new to the mobile space. I started by researching different options to cut down on learning and coding time. I considered using technologies like Apache Cordova but since we were building a music streaming app, I didn’t want there to be any lag and you take significant speed hits by running everything in a web view. I also explored use Facebook’s React Native but decided that in Summer 2016, it was still on the immature side for someone who had no native development experience.
Since I had no app development experience and all cross-platform options didn’t seem to fit, I decided to develop a native Android app since I had an Android phone. I started by learning basic Android development via Google’s free online lessons and tutorials. I learned how to add dependencies, how apps are structured and how to build user interfaces using XML and connect them to Java code. Eventually I picked up how to add animations, deploy notifications and create more complex interfaces.
API Design
Once I had a basic version working, I designed and developed as basic API to provide 10 random tracks and to save favorite tracks. Instead of managing user authentication ourselves, we chose to integrate Facebook and Google logins and use the email address from that as the way to identify users. As we tested the app, we realized that although there are a lot of great tracks on NoiseTrade, a truly random selection of songs would often be jarringly different in styles and composed of too many poor quality tracks. The completely open nature of NoiseTrade with it’s wide swatch of artists is one of the things that makes it appealing, but without a solid proportion of high quality tracks and some consistency of styles, we knew it would not reflect our brand goals of being reliable and tasteful.
Through trial and error and lots of listening, we developed a simple algorithm where two of the ten tracks delivered to the user were completely random, four were off of the top downloads list and the remaining four were top downloads of random genres. The eight tracks from top genre downloads lists and the overall top downloads list meant the majority of the tracks would be tasteful while the two random tracks allowed us to achieve the reliable portion of our mission by delivering something that would almost certainly be something the user hadn’t heard before. This combination seemed to hit the sweet spot for us but was something we wanted to revisit or maybe allow the user to customize in future versions.
Finished Product
After a lot of work and learning, rounds of feedback, tweaking and evaluations, we approached completion of the Android version of the app. Below are screenshots from our working beta:
Building the Android app was a great learning experience and provided a strong foundation when I began exploring native iOS and React Native development. The project grew my appreciation for taking time at the beginning of an endeavor to develop a coherent brand identity. Having those guiding principles in place made working together through all the various decisions much easier since we had agreed on our vision beforehand. Working with James was incredible, he’s such a talented designer and It was was a joy to work with. It was so gratifying to build something I had always dreamed about and to go the full distance from idea to working app.