Sad truth about over polishing your software

Bharatvaj Hemanth

January 19, 2019

Back in the days where people were suspicious about IT jobs and flip phones were a thing. I was in school and me and my friends were discussing about making money. Having watched a lot of hacking movies and being a computer junkie, my first and only ever response to earning money was, "Hey, I can learn to make Software!". One of the first things I started to program was for WinRT(don't judge). I downloaded Visual Studio which is like 10GB. Because of my shitty internet I had at that time, I had to pay ₹200 to a internet cafe to get a copy. Due to lack of file browser in WinRT store, I had this idea of creating a File browser (File360). The very first problem I faced was listing the folders  of the phone in my app using a ListView. Apparently, MVC being a key concept in this ListView and me being a complete beginner in this field. I had to follow step by step instructions and finally when I learned to do that. It was almost a MONTH! I had to use C# and XAML and boy the things I did to get this app done. I used all the trickery there is: google.com, stackoverflow.com, typing with pauses to get that god made Intellisense helper. I did not know about these things but I was persistent and was hard working (well we'll come to this point later).

6 months passed and I finally made the app display the contents of the SD card, added settings, added personalization, added vault for hiding files. Hurray, the app is ready for release! Atleast that's what I thought. Apparently I was using heavy pixel information to arrange UI elements which was only pleasant in my Lumia 525(once again don't judge). When I tested it on other phones my app was suddenly a Picasso painting. The UI practically scrambles on every launch. I had to rework all the XAML files which holds the UI elements.

While that took some time, it wasn't that bad. I already got familiar with WinRT and this time rather than googling all my problems. I actually sat and learned WinRT from the basics using Microsoft's developer channel. Everything was good. But the real shits began when I had to add that ONE MORE feature. I just thought if it had an inbuilt mp3 player it would be cool. Okay! Challenge accepted, mp3 player done. Did I stop there? Hell no! I just needed to add that one more feature. Who doesn't like a inbuilt media player? Everyone loves it!(or so did I thought). I spent months creating, debugging and testing it. It was after 2 years i started to make this app, it was finally complete. Me thinking out loudly, "Hurray! The app is ready for a release". Phew! But then Microsoft had to shut down WinRT as iOS and Android had already established some standards that the WinRT platform will never meet. So they needed to do a complete redesign of their entire WinRT platform, the Universal Windows Platform (UWP). The sad truth about over polishing your software is they never will be ready for a release.

Hide the pain harold

Me when Microsoft decided to shutdown WinRT

But I am glad I did those mistakes. Because of them I understand the importance of iterative software development model and I strongly recommend to learn those ideas for anyone who is starting out with software development.