Sometimes it takes days or weeks to finish a feature. Not because it’s terribly complicated but because you don’t feel the drive or the rush to finish it. That can be because of many things, a couple of them is that you don’t feel the urge to code, you don’t have a clear view of how that feature should play out or maybe, just maybe, you don’t feel for the feature itself. A week ago, maybe two, I had an idea for a new feature of the Work Day Logger app. I thought it would be a great idea to have a day view with just the items for that day displayed and, in the future, pull down tasks and calendar items from various services, Google tasks and calendar for instance.
I’ve started the feature, but it is so slow going. I don’t feel the fire I usually do when coding a great idea. I don’t feel the unstoppable urge to lose myself in the flow of creating that code. I’ve been thinking of why, the last few days. I’m letting this feature hold up the next release, and while that may not be a very big deal (the app is kind of behaving itself, it seems), I do think it is important to get new features and bug fixes out there fast.
So I’m back from meeting friends and neighbours over a glass of wine in the early summer sunshine, back at my laptop thinking about why I can’t bring myself to put the code into the app. And I think it’s because of two things. While I think it is a useful thing to be able to pull up everything concerning one specific day and while I can see where it is useful to me, I can’t really picture how it should work and what the reason and responsibilities for that feature is.
So, I think it’s turned into a low energy feature. That’s a feature that can’t summon the critical energy from the programmer needed to develop a good feature. Every path you take seems to fall flat. In those cases, I think it’s best to park that feature for later. The problem is that there’s no real promise of life for that feature. It may be too early, other things may need to be put in place before this feature can be implemented. Or the reason for building it isn’t clear. It happens, and it’s futile to resist that notion; it’s never too early to give up when it comes to features that – at the moment – doesn’t seem to be wanting to live.
I’ll probably get back to this feature later on, but for now, I’ll let it marinate.