Thursday, April 17, 2008

Still Sitting Comfortably After Shipping MoneyWell 1.3

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.


Tuesday, April 08, 2008

Mac Software Business: Year One Podcast

Keith Alperin has just published his debut podcast and graciously invited me to be in on it. Gus Meuller of Flying Meat and Steve "Scotty" Scott of mamooba and the Mac Developer Network are fellow panel members.

The four of us take turns talking about the process of starting a Mac ISV along with our motivations and experiences. You'd never know that this was Keith's first time in this role, he did an excellent job. I on the other hand had a bad case of the "ums." Let's just blame it on the fact that all four of my brain cells were quite busy trying to finish MoneyWell 1.3.

Speaking of which, the beta for 1.3 is nearing an end. I'm working tirelessly to publish a release candidate this week. There's so many tasty new features in this release that I can't wait to experience the public response. I know it all can't be positive so I'll take gobs of new sales to balance out the potential critics. It's only fair, right?