MoneyWell 1.3 is out the door. Elvis has left the building. The bell has been wrung. The bullet has exited the chamber and there's no stopping it now. That last analogy is rather appropriate for the process of shipping a new software release. I'm never really sure if I'm going to hit a target dead center or shoot myself in the foot.
When I update my website or even this blog, I can fix errors and the impact is minimal. On the other hand, a new application is downloaded by thousands of users, installed on their Macs, and is out of my control. Sure I have Sparkle, the coolest automatic update utility, built into MoneyWell, but that only notifies the user that there is an update and doesn't force an install. If there is errant code in the software, it's in the wild and potentially annoying customers or prospects—or even worse—corrupting data—my worst nightmare.
That's why creating a significant update to MoneyWell is such a gut-wrenching process for me and why I made sure there were plenty of active beta testers using it before it went live. Testing the 1.3 release was especially critical because it uses an update file format and has to convert existing 1.x MoneyWell documents. You really only get one shot at a conversion. If the data gets mangled, then the developer (a.k.a. me) gets his butt (a.k.a. my butt) chewed off in very nasty emails. Not that I care that much about what my posterior looks like, but as a software developer, I'm on it a lot and it helps if it's symmetrical and lacking divots.
This MoneyWell release is cool because it has some of the most requested features by customers, and those same features were ones that I've wanted in there from the start. When your customer base is on the same page as you, it's a beautiful thing. This causes an extreme sense of excitement and purpose during the first few stages of development. Life is good.
Then after working with a new release for a while, I forget how much has changed since the shipping release and I start panicking that I didn't put enough into this new version. I have to go read my feature list to calm down again.
If the development/testing process drags on longer than expected, as it did with 1.3, I start to get anxious and want to get it out the door. Naturally, I'm concerned that there are no significant bugs, which makes me want to hold onto it longer to test it more. These two conflict with each other and get me anxious about the release, which of course sends me back to wondering if this version is worthy enough to ship.
Thankfully, I had some amazing beta testers who reminded me constantly that this was a great release and they couldn't wait until it was done so that they could use it in production. They also caught three nasty bugs in the last 48 hours before I shipped and saved me from having to purchase orthopedic seating. Of course this also made me question what else I may have missed.
No matter how crazy I sound, I am experienced enough to know when I need to ignore myself and ship the software, so yesterday I shipped MoneyWell 1.3. After a mad dash of updating web pages, download sites, and pushing a press release out through prMac, I was able to breathe and check my foot for holes. So far, I am still sitting comfortably and I don't need new shoes.
If you haven't done so already, check out MoneyWell 1.3. It has dozens of new enhancements including scheduled transactions, multiple currencies, exchange rate conversions, new reports, and many more. And if you happen to already know all this, then tell your friends about it—just leave out the parts about how the guy developing it is a bit neurotic. I appreciate your covering for me.