Yesterday’s installment, Putting it all together, can be found here.
We’ve been using the app on our iPhone every day for about a month now. Overall, I would give the app a grade of an A-. The network still gets in the way at times if there is no phone data service or the login times out. Perhaps a future version will have a local storage area that will sync transactions in the background as it is able to. But, it has not ever been enough of an inconvenience to deter us from using the app (and believe me, my wife won’t tolerate much inconvenience before she bails on an app).
The development effort to get to a releasable state took 20 working hours over the course of 11 days. This was done in 31 Pomodoros, with 1.5 hours of unstructured “thrashing”, 2 hours of debugging (outside of pomodoros) and another 3 hours futzing with icons, splash screen and the Apple deployment process. The “unstructured” part of the overall development time represents nearly third of the total time. I bet if I had stuck to the Pomodoro structure all the way through, I would have shaved some of that time off, but I am not complaining.
I spent another 7 Pomodoros (just under 3 working hours) with bug fixes and the two new features.
As of the publishing of this article, I have open sourced both the Node.js project and the iPhone App project. Since the App is build with Titanium Appcelerator, it should not be difficult to get this up and running on Android.
Based on my experience in taking on this project, I still have to make a conscious effort to bite off small chunks and be aware of what really is the simplest thing that will work in a given situation. But I’ve also proven to myself that making the effort pays off in a big way. For me, these are the guidelines that make it more natural for me to develop this way:
I would love to hear your feedback and your experiences in radically fast, totally useful (at least to you) projects that you’ve taken on.