My challenges as an independent app-maker
An overview of my main challenges as an independent app-maker, that I met while making my first app with Flutter and [...]
Recently working on my new mobile app Loopzzz, I encountered a small problem: my previous and next buttons which allowed to change audio tracks from the notification (and were working perfectly fine last time I tested them) were not functional any longer. Clicking on them had no effect whatsoever. After the first moments of doubt and denial, I was forced to admit there was a bug I needed to correct.
Sounds familiar? This happens every day, probably even several times an hour, in a developer’s life. New features, library updates = new bugs and unexpected side effects. This is why writing test scenarios and adopting TDD (Test-Driven Development) is so important: each time you change something it would be a mistake just testing what’s new; you want to make sure all the rest is still working.
Anyway, the rest wasn’t working in this case, as these two buttons had stopped working for some reason.
There was a bug, and my engineer mind went to debugging mode pretty fast. So in the next minutes, I started:
There was a problem to solve, and we were embracing the challenge.
And in this process, my engineer mind was happy: there was a problem to solve, and we were embracing the challenge.
But then my Product Owner mind stepped in.
This is a little bit the conversation they had in my head:
To my Product Owner mind, there was no value in solving this problem, because we could simply REMOVE it. The difference is huge: either spend your effort making the buttons work, or remove the buttons. Simply. Just like that. Because they are neither necessary nor desired by users, and will not be missed.
In the end, I went for a compromise: I hid the buttons and the associated code, accepting that my time would not be well spent on making them work, but letting myself the option of coming back later to find the solution to do so, if I have the chance.
This anecdote in my life as an independent app-maker made me realize not every problem needs to be solved. If it’s a possibility, one should consider removing the problem instead. I’ll try to keep that in mind for next times!