On Side Projects

2022-05-12

This kind of went as I expected. As usually happens with my side projects, even this blog to a certain extent, is that everything is fun in the beginning, but then the initial excitement of doing something new slowly fades away because of life or whatever.

Well, at least now I can celebrate the one-year anniversary of this tiny blog. Side projects that involve more than a little code are usually quite hard for me to get off the ground. I've started coding numerous applications, but at some point they all fade away into the ether, ending up as unfinished projects on my conscience. The good thing about this blog was that I actually "released" it. It was released with the first blog post. Which probably explains why I forgot all about it, because it wasn't dwelling on my conscience. I finished it. 🎉

I've actually only had one really serious side project, a music application first called Piece which I later renamed to Composify. It was supposed to be a scratchpad for your song recordings, letting you record something and categorize it as a section like an intro, chorus, verse or whatever as part of a project. I had never really found an app that did this, and I wanted it for myself. I started sketching it out and coding it in 2013 while I was finishing my one year in the military. It started off as an Objective-C application using Core Data as its local persistence. After some months, and while my university education was fast approaching, I had coded up the basic functionality and probably wondered if it was ready soon. Boy, was I wrong.

It can be quite easy to get an application up and running. 80% of the application can probably be completed in reasonable time if you're disciplined enough to not let the scope creep come. Still, it helps to have a deadline. I never had one, and after some time a new programming language appeared on the horizon. Swift. Of course, I had to rewrite the application in Swift. Who wouldn't? Swift was the new kid on the block, so I went to work.

At the same time I had started my studies at NTNU, so naturally I didn't have much time for programming outside of doing course work, hanging out with friends and the volunteering work I did, like web development at Samfundet and teaching kids to code. And every time I opened up Xcode to work on Composify, I felt I introduced a new technology. Core Data became Realm became Core Data again. UIKit in Objective-C became UIKit in Swift became SwiftUI. It sure wasn't easy to land on a technology stack, least of all when you're a one-man show in control of everything.

Even though I have released an app to the iOS App Store during my studies, which was the Havfersk application I developed for a company in Oslo that did home-delivery of fresh fish, it was later pulled, and now I have nothing to show for on the app store. I kind of feel bad, since I have worked so long on a project with nothing to show for except a long git log. I guess it is the side project syndrome coming over me and Composify; that it is the easiest thing in the world to start something, but to actually finish something, can be so incredibly hard. It might be the perfectionist in me, or just life, but sometimes things just don't go as planned. I guess I just have to enjoy the journey and not beat yourself up about it.