Sunday, March 23, 2008

There's Something Different This Time

This blog has been fairly quiet because I've been face down in development of MoneyWell 1.3, which is currently in beta test. Here's a peek at some of the changes:

  • Added scheduled transactions with user-defined repeat periods

  • Added ability to set a different currency for each account

  • Added currency exchange rate table and conversion

  • Added ability to hide buckets and accounts

  • Added ability to reconcile out of range transactions without affecting date

  • Added context menus throughout main window

  • Added ability to set bucket as optional on a transaction

  • Added ability to set date range for reporting

  • Added Transaction Report with subtotals

  • Added Bucket Summary Report

  • Added Tax Detail Report

  • Added Tax Summary Report

  • Added Combined Income Buckets option to Allocate Income

  • and many more...

It's shaping up to be a pretty nice release, but what has really impressed me is my beta test team. Posting a product for beta testing is a very iffy deal. When I post a beta, I hope that some testers will catch bugs I've missed and provide feedback on new features, but I keep my expectations low because people are busy and don't usually end up participating much in the testing. Once in a while, I'll get one or maybe two active testers.

This time it's very different. Not only do I have almost 50 beta testers, 20% of them are actively testing and giving me feedback. There are still a couple of stars that do the majority of the heavy lifting, but this time they are not alone. I'm thrilled and blessed to have such an enthusiastic group to make my job easier.

Not only am I getting excellent bug reporting and feedback, but I'm getting emails that are filled with words of encouragement and pats on the back. I couldn't ask for a better group. In previous companies, I've had employees that didn't give me this much time and effort. This is a public thank you to all those who are contributing to making MoneyWell a better product!

I'm pretty sure I know why this is happening: People respond to passion. They see that I'm not just building a product to earn money. They respond to craftsmanship and hard work. There are always going to be people looking for the lowest price or a "good deal," but that's not the customer base I want. I know that I'll lose them to the next lowest bidder and quality just isn't very important to that crowd.

Here's how to build a fantastic customer base:

  1. Create excellent products that solve real problems

  2. Care about the fit and finish and not just the features

  3. Eat your own dog food—you should be using what you create so you feel your customers' pain when there are problems

  4. Answer emails quickly and genuinely—don't send automated responses

  5. Listen to your customers: You don't have to add every feature requested, but you should respond to why you won't add something (people will understand when you do something for the greater good of the customer base)

  6. Be honest and don't be afraid to fall on the sword, "I screwed up and broke this release. It's being fixed in the next patch. Sorry for any trouble this has caused you."

  7. You have to honestly care about your customers—the passion has to be real or you'll come off as a con artist

What has also helped in my case is this blog. People know more about my life, my history, and my ambitions for the future of No Thirst Software. They know that I'm in this for the long haul and that this isn't just a college sideline project to make a few extra bucks. There are six people in my family that depend on this company growing and thriving (and hopefully a few thousand customers care too).

If you want to have a great company, with great customers, you've got to go "all in."


Sunday, March 09, 2008

Christmas in March

This past week, Apple announced iPhone 2.0, the iPhone SDK for developers, and a little thing called App Store. I believe that most, if not all, Apple developers were tuned into the live blogs posting details of the event as it happened. I know we crashed Twitter chatting about it during the show.

What is all this and what does it mean? You can read about the enterprise extensions for the iPhone coming in June (or watch the presentation—it's gorgeous in HD), but for me and many other developers, the big news was the SDK—our ticket to writing software for the iPhone. The App Store is how Apple will distribute our applications and it's pretty sweet too. There's been some quibbling about the 30 percent that Apple will take for handling the process of selling our products through App Store, but I'm fine with it because I happen to love the way Apple Downloads works now with the publicity it gives our software and that's only one tiny piece of what App Store does.

Basically, App Store will give our customers a simple way to find software we have published for the iPhone, purchase, install, and license it. Then, when new releases are posted, App Store will make sure our customers get the latest versions of our iPhone applications. It's a very clean concept and, since iPhone software is not going to be our main business, one less thing I have to worry about. I can focus on creating a very cool version of MoneyWell Mobile and hand off the rest to Apple. There are still plenty of questions about beta testing, trials, returns, and other phases of the development and sales process, but that hasn't dampened my excitement one bit! Just knowing that nearly 100 percent of all iPhone users will go to this one place to find iPhone software simplifies my life. Who needs to pay for Google Ad Words, which can easily add up to more than 30%, when they are already in the store?

I also think that iPhone 2.0 will storm the enterprise and replace a healthy percentage of RIM phones. There are analysts that claim the iPhone is too expense or still has security holes compared to the RIM Crackberry, but they are way off. They are underestimating the power of great software—and there will be thousands of great software products available when this new iPhone software is released in June. Even if the corporations don't buy phones for their employees, the iPhone will be pulled into the enterprise by employees that want to be more productive. This can easily happen without direct intervention of the IT staff because Apple is tying the iPhone directly to corporate Exchange mail servers and IT doesn't need to do any heavy lifting.

I can't wait to see what happens. It's a very exciting time to be a Mac developer! I feel like a kid at Christmas after finding out my parents just won the lottery!

I've got way too much work to finish on MoneyWell 1.3 to start playing with the SDK now (okay, I did make one sample application just for kicks), but all the latest tools are installed on my iMac and available when I'm ready to code and that's even more incentive to finish and deliver this release of MoneyWell.

What's in store for MoneyWell Mobile? It's too early give details but expect the iPhone version to make it easy to view and update your spending buckets while on the road.


Tuesday, March 04, 2008

Chatting with Aaron, Marcus, and Scotty

I had the privilege of being part of a Developers Roundtable hosted by Scotty. This roundtable podcast includes veteran Cocoa developer, Marcus Zarra and the man that taught many of us to write Cocoa applications, Aaron Hillegass. We were able to toss around our opinions about coding data storage on the Mac and Aaron does a fine job of depressing us by dangling something in front of us that we could have had instead of Core Data but don't.

Listen to it now at The Mac Developer Network.


Monday, March 03, 2008

Dealing with the Business of Emotion

Perfectionists are losers: "The problem is, most people don't understand that extremely high quality work usually results from a practice my father taught me from photography:  bracketing.

Bracketing is a general technique of taking multiple frames of the same shot of the same subject using the same or different camera settings.

I used to think that professional photographers took award-winning shots with every click of the camera. As seasoned professionals, they surely did not have the same out of focus/finger in front of the lens or poor lighting problems that plagued my amateur shots, right? Wrong.  Great photographers might pluck one great shot in the middle of 99 mediocre ones.  They know that it is impossible to get the perfect shot in one try, so they  take lots and lots of pictures of the same thing with the hope that one frame will come out perfect."

(Via Escape from Cubicle Nation.)

Pam Slim is the author of the above blog and, after having a baby and spending some time adjusting to the extra responsibility of a new child, she just recently returned to publishing her podcasts that go along with her excellent blog. I enjoy her blog, but hearing her podcast again reminded me of why I love it so much.

I've spent years reading books on business techniques, quality management, software design, and anything I thought would help me improve my ability to design, create, market, and sell my software and run my business, but the fact of the matter is that all this is useless if you don't have your emotions in check as well. Pam is that missing link to that other side of our business: Our emotional well being.

It's hard to wake up each day as a microISV owner knowing that I have to wear almost every hat in my company. There's tech support waiting for me, design work that I don't have crystal clear yet, code that is buggy, marketing efforts to promote, sales to track, and plenty of operations issues calling my name. If emotionally I'm not rock solid, all this can make me want to turn around and jump back into bed.

My biggest problem is feeling that if I don't do it all perfectly, then my business will come crashing down around me and all that hard work and effort are for naught. The truth is that I make daily (and/or hourly) mistakes but I'm not seeing piles of rubble and sales still continue to flow. I'm better about this perfectionist garbage than I was in the past. About 20 years ago, I was a classic perfectionist: I'd plan and design so much that nothing ever really got done. I've found a balance now but it's like any addiction—you're only in recovery, not cured. It only takes one tech support issue to hit one of my tender spots (i.e., features that I have wanted to implement, but haven't yet or flows that I haven't been able to make smoother) and send me reeling in panic. My brain shouts, "It's over! You didn't do that well enough and now that the flaw is exposed, all hell will break loose. I told you this day would come."

Yeah, I have a sick mind.

But this same drive for excellence serves me well also. I consider it a gift—just one that I have to feed, water, and keep trimmed lest it get out of control and consume the very productivity that it allows me to produce. I never thought of myself as an artist, because I can't draw, paint, sculpt, or play any instrument well, but after taking a step back and looking at how I create software and the mood swings that accompany that process, I think I may qualify. MoneyWell will probably never be seen as a great work of art, but I've rode some emotional roller coasters in the past year of its development that would have made van Gogh proud. I think these artistic fits of highs and lows will also, if ever properly documented, secure the title of "Saint" for my wife, given that she still enjoys hanging around with me despite the chaos that I generate.

Make sure you give Pam's post a full read and, if you haven't already, make sure you subscribe to her blog and podcast. Don't be fooled into thinking business is just about business. Business is personal, emotional, and takes more than facts to do right. Now excuse me while I go write some more code to quiet the voice in my head screaming, "It's too late, you're not going to finish 1.3 on time!"