Circa 2013, Daft Punk just released Random Access Memories and it was one of those evenings where I was on the hunt for finding an open-source project to contribute to. Instead of toying with pet projects on my own, I wanted to experience developing with other fellow developers on the wild. Get over that anxiety of posting your first Pull Request on a public repository. No matter how small, I had to find a project, which I may or may not be an already a user of it, understand it and contribute.

Splash Screen

Splash Screen

Discovering such open-source projects wasn’t that easy as it is today. Sure, GitHub was a thing, but mostly consisting of public repos of big players and many other community fueled small ones where entry-barrier was somewhat high, either due-to lack of documentation or discoverability. Social coding revolution was just starting out.

Remember CodePlex? It was Microsoft’s effort to be in the ‘version control as a service’ space to rival GitHub. It didn’t work, they killed it and later acquired GitHub. But CodePlex had neat project discoverability features and some MSFT tech based projects. One day I’ve seen a draft project in the up-for-grabs section, welcoming anyone who is up for contribution;

Tab/Musical Note rendering app for Windows Phone using VexFlow. C#, WindowsPhone, Dependency Injection…

It quickly took my attention, because it was only a week since I bought my first Windows Phone and I was already disappointed by lack of a nice guitar companion app. What a coincidence?

After a minute I was already thinking out loud, ‘this is it, this is the thing I want to do in my entire free-time’. Project was mostly on a draft state, missing some important features and required quite some polishing. There was a lot to be done but at least it was able to pull the tabs/notes for songs and render them nicely with VexFlow - a JavaScript library for rendering music notation.

vexfl0w - open source music notation rendering library

vexfl0w - open source music notation rendering library

In order to contribute to this project in a meaningful way, not only you gotta understand how to write software, but also have an interest on mobile app development, own a Windows Phone and understand the problem domain; amateur/semi pro musicians learning to play songs using tablature and music notation. In other words, you gotta be a software developer who played an instrument at some point in their life.

Among my hobbies, shlappin' da bass is perhaps the second one I like the most. Whenever I can find time and the fortunate stroke of serendipity. I always accompanied my guitar training sessions with some sort of a music sheet or tablature I find on the internet. I had no doubt if such an app would have been implemented elegantly, it would reach to a wide audience.

The Kanki’s. Tartu, Estonia 2012

The Kanki’s. Tartu, Estonia 2012

I cloned in. It took me a day or two to get the gist of what’s been done so far and run the app locally on my phone. The foundation of the codebase was laid out fantastically by Ilya - a Software Developer from Berlin then working at Nokia. The architecture of the project was so well it even had it’s own IoC container. Initial push was already given. But there were many key features to implement that would make the app flow in the hands of the musicians. Such audience expects more functionality to even start using an app like this day-to-day, and also care deeply about the UX as they are all artists!

It was like a second nature to come jump in and add value. Ilya, didn’t even hesitate to approve my PR’s and vice versa. A handful of new features, meant a new release. Next month, next handful of features, next release. The more we released, the better app store reviews we got (from few ratings to 4.95 stars on most markets with thousands of votes). Some people start to write reviews like, they can’t believe such an app full of features is out there for free.

★★★★★
“My breath has been taken away by this app. Did not expect anything this smooth running, gorgeous and functional. This app will be a top download for any musician. Amazing job”, Ryan

The trend continued like this for almost a year, until one day when I came up with the idea to monetize the app. We quickly agreed that this was the natural progress to reward the hard-work we put together. We decided to keep the repository still open-source but kindly added an announcement to not come up with copy-cats on the App market. Instead, we asked people to come join us and let’s do this together. (Sadly there were few copy-cats).

App Museum

App Museum

We decided to go with ad monetization and gave an option to purchase the ‘Pro’ version, which may or may not include exclusive features in the future. (It didn’t include any exclusive features). In the end of the month, the ad-revenue reached about 600 $. Not bad at all for a hobby project!

Fast-forward to 4 years, Microsoft decided to pull itself from the mobile arena. Declining number of daily active users already caused us to lose my interest in the app. And this news was final nail in the coffin. We decided to un-publish the app.

It was one of the sweetest software crafting journey I had in my career. Needless to say, I learnt a ton in the process.. If you wanna take a look at the source code, see the archived repo on GitHub