Scaffolding and Foundations
The Things You Build to Reach Your Goal
As I finished up a feature for the app I'm building for my day job today, I had a very interesting revelation. The core "feature" only took me about an hour to implement. I probably spent half a day in total doing UI design work. I still have some optimization and presentation details to finish up, so I'll call it about a day to get the feature working.
While the core of the thing only took a day, the project as a whole is looking to be around a full week. That isn't counting a few minor distractions that came up at work, and I've been hammering away at the edges of the feature as fast as I could for the entire week.
The reason it took so long is that the feature couldn't exist in anything resembling a useful manner until a whole host of other features were in place. Performing a search to see if a product is in stock at other locations required a product search engine, and then a vendor search engine to assist in searching for products. It also required building in new functionality to gather a list of locations.
Then was the phase of adding in affordances like allowing the user to change search quantities, to remove items, to do any number of other things that you need to do before you hit the "search" button and get a list of results.
After some minor tweaks tomorrow morning, and possibly one major tweak, I'm done with that feature. Which of course means I get to move on the the next one, and the first step will be building the list of features that stand in between what I want to implement and what I already have.