Sometime in 2012, I bought a Galaxy S2 and started learning programming, namely Android development. I set myself a goal to build a music player. I released 'Amp' on the Play Store, and announced it on /r/android . To my surprise, it was really well received, and I had a lot of encouragment and feedback. The downloads ticked over at about 10 per day, and I had this immense feeling of gratification. I made this thing and people are using it!
I became obsessed with programming. I started moderating /r/androidapps. I would work on Amp at lunchtime, on the train home, then until 1 or 2 in the morning, and then go back to work. I'd work on it all weekend. I didn't want to go anywhere or do anything else. It was unhealthy!
In 2013, a patent troll sent me a cease and desist letter, telling me I'm not allowed to use 'amp' in the name. I naively took their word for it and changed the name to Shuttle.
Shuttle found its niche on the Play Store as a simple, modern music player. It became one of the first local music players to offer Chromecast support.
I applied for a couple of mobile development jobs, and despite feeling completely inadequate, I was hired by WeMakeApps, a leading development agency in Melbourne.
Shuttle ticked over the 500k download mark in 2014.
It took me a while to realise it had happened, but Shuttle peaked in 2015. I think the following fall from grace was due to the rise of streaming services such as Spotify, as well as Play Music shipping on every Android device. The market place was saturated with poorly made local music players and their clones.
In 2017, I open-sourced Shuttle, in the hopes that I might have some help to continue maintaining and improving it. Unfortunately, I think the project was too big, and too unwieldy. It has shakey foundations, written way back when I was first learning Android development. It was hard for me to review anyone's contributions, because the codebase was such a mess. I also started working at Codeacious, a small software development agency in Geelong.
In late 2018 I started developing a new music player from scratch. Prior to this, I had spent some time of almost every day, of every week for the previous 6 years working on Shuttle.
While working on the new project, I slowly stepped back from working on Shuttle. Problems were becoming really difficult to fix. Crashes were piling up, but the app architecture was poor, and every bug made me wish I could just rewrite it from scratch - something I was already doing!
In July, 2020, I made Shuttle+ free. I decided that, since I wasn't really even maintaining the app at this point, I shouldn't be getting paid for it.
In 2021, I decided to step away from Codeacious - and working for others in general - in order to fulfil my dream of working for myself, on things I'm passionate about.. like developing music related software!
I now refer to Shuttle as S1. After 3 years in development, and 2 years in testing, the new music player, S2, is about to be released. I'll cover that in another post!
Developing a music player has really been an amazing experience for me. If you're a dev reading this, and you're just starting out, or wondering what your next project should be, I highly recommend creating your own music player. There are so many possibilities. You can get into graphics, with visualization. Signal processing with DSP. Machine learning for music discovery or categorization. There's image processing, databases, UI, low-level programming and so much more to explore.
My plan for S1 is to come back to it, and rebase it on the S2 architecture. I think S1 has a lot of loyal fans and a unique look and feel. There are still close to 150k active users. I'd really love for it to run on an efficient, bug-free foundation, while retaining the magic that brought so many people to use the app in the first place.