Why quiet for so long?
For those who have followed this blog (all 3 of you), you may be wondering why I haven’t posted for so long. Well, mostly because the development of the Android version and my day job kept me from producing anything worth blogging about. Well, that’s not completely true … I did have some interesting requests for help that will make great posts in the future. But it is also true that, given what little time I had, blogging didn’t make the cut to my priority list.
However, things finally broke free about 2 weeks ago, when the Android beta went golden. It was a huge milestone! I had no idea just how difficult it was to port to Android (or maybe it was just easy to write for iPhone?). When I started (back in October of ’10) I was quite rusty at Java but, through the course of things, I came to really respect the language. However, Android in itself is a different animal – there are so many different devices as well as there are just so many widgets (found in iOS) that don’t exist on Android (or at least not in a form I needed).
This lack of widgets meant I had to build a lot of stuff from scratch. Normally, building your own is THE last resort and, if my pockets were deeper, I could have bought my way out of the problem. However, building my own turned out to be a smart decision in some cases. Take for example the PDF layouts – one of BuildCalc’s coolest features. Unlike iPhone, Android does not have a built-in library for generating PDFs. The open source libraries I found were not free for commercial apps and commercial libraries (open and closed source) were way outside of my budget. So I spent a week to read the PDF spec and to build my own. The silver lining? Once I saw how fast this library was, I immediately ported it to the Apple version. Now BuildCalc generates layout drawings in half the time it did before!
But all of this widget development takes it toll. The Android version probably took 3x – 4x more man hours than I predicted and I have my doubts that I would have developed it the same way if I were to do it again. Which is not to say it was a mistake. Now that BuildCalc is out in the wild, I’m seeing advantages to Google’s error reporting system that are clearly superior to Apple’s. Advantages that I might not have if I developed using an agnostic toolkit like Titanium or PhoneGap. Case in point: yesterday morning I woke to my first error report. It was wonderfully clear and easy to understand and, in less then 5 minutes, I had the bug fixed and a new version 2.1.1 up on the Android Market. All unheard of in the iPhone world!
So, now that the worst is behind us, I hope you enjoy version 2.1. I know that I’m going to get some rest and think long and hard about what 2.2 will look like. I already have some great ideas!