Tuesday, December 23, 2008

Free or fee?

It's impossible to survive in the software business without charging for updates. Early on in my career I remember thinking, "We'll have so many customers that we can offer free updates and support for life!"

I don't remember doing drugs at the time but I must have been pretty stoned to believe I could get away with that concept.

The fact is that software development is hard work and certainly not free. It takes time, research, buying books/training videos, more research, conferences and travel costs, still more research, and plenty of caffeinated beverages. And that's just to create the product! There are many other costs in order to support and market your software and to run your business.

So if you charge $40 for your software and sell 2,500 copies, you gross $100,000. Sweet, right? But subtract taxes, operation costs, outsource fees for services like graphic artists, web development, credit card processing, and accounting and the picture starts to look a bit less bright. Remember too that you took eight to twelve months to get this software out the door and you weren't making a dime on it during that time period and sales from these 2,500 customers happened over several months, so you might have to divide your net income over 24 months.

After shipping 1.0 you have to change hats and support the software by answering customer emails or forum posts, creating tutorials, and pushing out bug fixes. This all costs money and even if you do everything yourself, your time can't be considered free.

You might even be tempted to price your software lower so you can sell more copies. Don't fall into this trap! The more customers you have, the more your support costs rise. Even the best designed software has bugs and even if you squash all the bugs (you are my hero if you achieve this goal), you will want to add new features or adapt the software to a changing operating system or framework.

Remember that software is never finished—developers just take occasional breaks in coding to ship it.

So how do you cover the rising costs of support and the extended development for major changes to your product? Simple: You charge for updates. Now you can't charge your customers for every single change or your software company will die a very public death with a lynching on your user forum and every blog in existence. The trick is to only charge for the big updates and to space them out well.

On the Mac, software convention states that you version your software with at most three numbers separated by decimal points: major, minor, and patch. This means that 1.4.2 is the second patch on the fourth minor release of the first release of that product.

Here are my rules for numbering:

  1. Patches are for urgent bug fixes and should always be free. These are supposed to be small and easy to test so you can get them out quickly. New features should only be included if absolutely necessary to fix a feature that went very badly in the last release.

  2. Minor releases are for features and less urgent bug fixes. It feels wrong to charge for minor releases.

  3. Major releases are for more dramatic changes to the product and usually are only free to new customers who purchased the previous release within a grace period.

Version numbers are not pure science; they are really for marketing. Developers have build numbers for tracking the absolute order of code changes so we don't need the version for code management. Since the versioning is for the public then, why not plan your development based on a marketing timeline. Version 1.0 will be released in January 2009 with three or four minor releases to follow and a 2.0 release in July 2010. And you can charge for version 2.0.

Your schedule may get messed up if you are basing your 2.0 release on new features in OS X and Apple delays its release but overall, you can timeline your software changes and make your customers happy while providing your business with enough income to thrive and continue.

How much should you charge for a major release? I like the 40 percent rule of thumb. If you charge $50 for a product, you can charge about $20 without upsetting your customers. If you have done some amazing updates in software functionality, you can even charge more than that. If you're Apple, you can charge the list price.

That's not a cheap shot at Apple's iWork and iLife suites; I have happily paid for updates to those (not each one, but many of them) because the changes are typically significant and the original price was a bargain compared to products from companies like Microsoft and Adobe. To paraphrase Mel Brooks, "It's good to be a hardware company."

How often do you ship a major release? Every 12 to 18 months is a safe bet. If you do it more often, your customers will feel like you are taking advantage of them and too much longer than that period and you'll probably be running low on cash flow. Remember that you are trying to give your customers significant improvements in your products with a major release so they feel good about paying for that update. This means that you'll have to spend significant time in design and development.

You have to balance your geeky code persona with your public marketing face. Every time you go into a coding phase, you need to think about how this affects your release cycle, which for microISVs is our marketing plan. My marketing plan for MoneyWell has been planned out through the 2.0 release.

When I released MoneyWell 1.0, I had a certain feature set in mind for that product. Naturally, I couldn't fit all those into the first release and I had a deadline to meet so I shipped it without everything in it. I decided at the time that I would charge a discounted introductory price of $39.99 instead of the $49.99 I had planned and would raise the price once the feature set was complete.

Development went slower that I wanted so it took until this month and the 1.4 release to meet my initial spec. Instead of eight months, I burned fourteen. It's not the first time I've been behind on a schedule and won't be the last. The upside to this release was that many customers were shocked by the magnitude of features in it. They couldn't believe that I wasn't charging for this release and calling it 2.0.

I probably could have, but I was sticking to my original plan. MoneyWell 1.4 was designed to work under Tiger and the 2.0 will be Leopard specific—I wanted my Tiger customers to have direct connect banking and several of the other 1.4 features. I'm hoping by the 2.0 release that most of them will have decided to move to Leopard and will be able to enjoy the cool stuff I have planned for that product.

In between the 1.4 and 2.0 releases, I'm developing and shipping MoneyWell Mobile for the iPhone. Since it will sync with the desktop version, there will need to be a MoneyWell 1.5 release. MoneyWell mobile will not be free but the 1.5 minor release will. By the time 2.0 ships, our customer base should be large enough to allow the small upgrade fee to cover the development time and expense that was invested in 2.0.

The bottom line: Plan your releases. Plan to charge for some of them. Plan to spend more time and money on all this than you originally planned, and you'll have a business instead of a non-profit organization. The best way to serve your customers is to stick around as a software company so you can give them what they need. They won't mind paying for great service.


Tuesday, November 11, 2008

Let's Talk About Marketing

If you're interested in marketing at the microISV level or just like listening to geeks trying to sound professional while talking over Skype, check out the latest installment of The Mac Developer Network Year One podcast hosted by Keith Alperin of Helium Foot Software:

Mac Software Business Year One Episode 3: Marketing

In addition to Keith, Steve "Scotty" Scott and Gus Mueller return for this third installment to discuss their marketing efforts and related microISV wisdom. Of course, I'm in the mix too (probably talking too much) but don't let that stop you from checking it out.

Also while you're there, make sure to join the The Mac Developer Network and support all the wonderful content that Scotty and his crew collect and produce for the Mac developer community. It's great stuff!


Friday, November 07, 2008

Fighting the Fear

I have a confession: I'm afraid.

After all my bold statements that the only true failure is quitting and doing nothing, I'm a bit paralyzed by fear trying to ship MoneyWell 1.4. There's the fear that I didn't do enough to make this an amazing release. Fear that the known issues are deal breakers and will cause negative reviews. Fear that there is an unknown issue that will turn out to be a huge bug and cause major support issues.

Insidious fear. Fear that causes my world to feel cold and dark.

Of course this is crazy thinking but because my brain is dealing with it, I have to do something about that. My wife's suggestion was to blog about it, and since she's usually right about these things, here I go.

I do know that the best way to eliminate fear is to expose it to light—fear hates the bright light of truth.

FEAR: I didn't do enough in this release.

FACT: The feedback from beta testers is that 1.4 has so many enhancements and additions that they can't believe this is a free minor upgrade instead of a 2.0 release with an upgrade fee.

FEAR: Known issues (a.k.a. bugs) will be everyone's focus and cause negative reviews.

FACT: Yes, there are a couple of features that I wish worked better, but there are too many great new additions to let these problems stop this release from happening. If these problems keep 10 percent of the customer base from using a feature but 90 percent still benefit, then why shouldn't I ship and help the majority? The truth is, there isn't a good reason.

FEAR: An unknown bug is going to be big enough to hurt customers, cause mass complaints and refund requests, and bring down the company with it.

FACT: Every software product has bugs and historically I have fixed the bugs in our products very quickly with patches. The reason MoneyWell is built with an automatic update service is so customers get the latest and greatest release as soon as it's published. Plus, version 1.4 has had the longest beta cycle of any product release and has had over 200 beta testers actively using it—the most we've ever had!

Being afraid is natural. Letting fear dictate what I do or don't do is just plain nuts. Writing about it makes me wonder why I even gave fear this much time and energy when I have so much productive work to complete.

That said, there are some new toolbar icons being designed by a talented graphic artist to replace my amateur hack job and lots of documentation to finish. It's no longer fear keeping me from pushing the button. Once these two tasks are done, so is MoneyWell 1.4. Glancing out the window, I just noticed it's a beautiful, sunny day. Life's looking pretty good right now.


Tuesday, October 28, 2008

Where'd You Go?

No, I didn't die and I'm not in a coma, per se. I'm trying to finish MoneyWell 1.4 and ship it.

This has been a very difficult release because I started the beta process very early. There was a method to my madness though: I wanted people testing the new direct connect downloads from financial institutions, so I added that feature first and published a beta.

Our beta testers, therefore, have had to put up with several "alpha" cycles of MoneyWell that normally aren't pushed to the public. Normally when I develop software, I try to put all the features in it before beta so that everyone knows what the final release looks like and they are just waiting for the reported bugs to be fixed. This has not been a normal beta test.

If you're a developer and you want to get really sick of looking at your software, just try testing it for over three months straight. I rarely even run the 1.3 release so I've forgotten how much has changed in the new version. I keep thinking, "Did I actually do anything in this release?" Glancing down the new feature list helps me realize that I have and that this will be a very good version of MoneyWell.

I've also been blessed to have a great group of beta testers. Not only is it the biggest I've ever managed (over 200 people have tested 1.4), but they have been very quick with bug reports and have given me great detailed steps and sample data files. If this were a movie, someone would be standing right now starting that slow clap for the MoneyWell beta team while everyone else stood to join in.

I will do a proper blog post after this release is out and try to avoid another coding coma. It will be hard though since I'm already working on the iPhone version of MoneyWell and that will most likely consume my time through the end of the year. And we have lots of video tutorials and web site enhancements planned. And then of course coding will start on MoneyWell 2.0. And there's also…

Let's just say, I don't foresee any boredom in my near future.


Tuesday, August 19, 2008

The Secret of Success

So many books are written about how to be successful. There are plenty of webinars and seminars you can attend. Their pitch is that there's a "secret" to success and all you have to do is pay a few dollars to hear it. Trust me, the secret is not that mysterious. In fact, I'll give you the answer for free.

The secret of success is never failing.

Wow! Really Kev? Is that all there is to it? Man, I'm gonna get rich now with that fantastically sage advice!

But seriously, that is the key. Making mistakes isn't failing. Having to change directions isn't failing. Losing battles isn't failing. You only fail by coming to a complete stop.

No matter how bad it gets you can never, never, never stop pushing forward. There can be no option for failure. The problem is that people don't really understand the true meaning of failure. They think that success is getting rich in six months without any pain or problems. They think successful people have some magical skills that keep them from making big mistakes. They think admitting you did something wrong is the same as failing.

Pursuing perfection is great. Requiring perfection is crap. It's an excuse to quit. Successful people fail often, they just don't slow down long enough to let anyone know it. You could say that success is movement.

In a previous company of mine, I had to shut down an online service in which we had invested more than a million dollars of effort and equipment. It was painful and embarrassing but it was not failing. The service was flawed and was bleeding cash. The solution became very obvious to me one day: We had to kill it to keep the company going. In that case, failure would have been hanging on to that boat anchor and continuing to swim with it.

I had a sales trainer who made the analogy of success being similar to a flight from Los Angeles to Honolulu. In the beginning, the pilot and navigator chart a southwestern course to their destination but the runway used required a takeoff facing east. After the plane took off, they make a banking turn and head southwest towards Hawaii. During the flight, they run into wind shears that cause them to head due south for a while and then due west after that. Several more course corrections are made that take them off their exact planned flight path. Should the pilot have given up and shut off the engines because the plane wasn't always facing directly towards Hawaii? Certainly not. I believe stopping in mid flight would definitely qualify as failure.

The same goes for a business. There will always be something that makes you want to shut off the engines and walk out of the cockpit. Sales are lower than projections, milestones are missed, technology gets in the way—all these and more will make you feel like failure is giving you the stink eye. The trick is to flip each and every one of these around and use them to your advantage.

Low sales are a chance to reinvent your marketing or products. Missed milestones give you an opportunity to learn to set more realistic dates the next time. Technology glitches? Yeah, they just suck. But knowing that they happen and will continue to happen gives you an edge over those that will give up when they hit the same wall you did. Think about it. If you know that most people give up and let a business die when things get tough, you can zip past them just by not stopping. You can even crawl and win a race against a corpse.

We hit a small wall this week and it was not fun, but it has only hardened my resolve to charge forward. My first employee was hired away by a large corporation. This was our decision and not some corporate espionage. It takes a lot of cash flow to run our household of three older teens, and even with cost cutting we knew we couldn't continue this burn rate very much longer. Our compromise was to have Judy get a job closer to home with shorter hours so she could continue to help with No Thirst Software and also contribute to our financial needs.

The tough part is that this felt like a failure on my part. Things may have been different if I had stockpiled more cash in the last two years or cut expenses earlier or programmed faster so we were selling MoneyWell 1.4 and an iPhone version. These are all great ideas, but also all in the past. I can't change any of them now and lamenting about what didn't get done will not help us on our success path.

We are successful. We have a great product lineup that is only getting better with each release. We have thousands of customers praising our work and asking for more. And the greatest success: We had a chance to work together for weeks and strategize about how to improve operations and the company in general. What was done and learned in that short period of time has strengthened our microISV beyond any financial investment.

What's the secret to success? Stay positive. Learn from everything you do—and fail to do. And most of all, stay the course. You and your passengers are not going to be any happier if you shut down your engines at 20,000 feet over the Pacific Ocean. Success is simply continuing forward. Never stop.


Monday, July 21, 2008

Download a Beta and a Podcast

It feels as long as an iPhone NDA since MoneyWell 1.3 shipped but it's actually only been three months. I guess the feature set for the next release has been in my head for over a year and that's why I"m confused. No matter, I am thrilled to announce the first MoneyWell 1.4 beta build has been released. This is an incredibly important milestone because it implements something that I've wanted since version 1.0: Direct OFX downloading of transactions.

Being able to click a button and have my transactions list updated is the last feature that I've missed from my days as a Quicken user and now I have it—and, as of today, so do all our beta testers! In addition to direct downloads, MoneyWell also will query your bank for all your accounts and automatically create and populate them with transactions when you add a new document. It even automatically calculates the correct starting balance transaction for you. Even though it's the first beta build, it's working smoothly with my accounts. I'm hoping that the people beta testing will have similar good results.

MoneyWell 1.4 also has some dramatic interface changes in the accounts and buckets lists. They are more compact and have a much higher contrast between buckets that have money to spend, are empty, and have been overspent. Several more features are already active and even more are planned for upcoming builds.

This is an open beta right now because I desperately need confirmation that MoneyWell can talk to lots of banks and not just mine.

In addition to getting a beta published, I also had the privilege of being invited back for another Mac Software Business podcast, this time about the tricky matter of pricing software. As usual, Steve Scott, better known as Scotty, leads us and does a wonderful job. Joining in the discussion were Gus Mueller and Alex Lindsay. I learned a few things so I hope others will as well. Head over to Scotty's place and have a listen.

All in all, it's been a pretty good week. I could not have done all this so quickly if it wasn't for Judy's coming on board. Because of her help, the beta builds will appear more quickly as well as the final release. To save me from having to answer the question of when 1.4 will ship, I'll throw out a guess that it will happen in late August. No guarantees of course.

And to answer that other question: Yes, I love working with my wife and we could never spend too much time together. It's been wonderful.


Thursday, June 26, 2008

Over-the-Top Customer Service

I love writing great software, but producing software is only one part of a successful software company. Lots of developers ship software—some of it is pretty good too. When you have a prospect looking at your product and comparing it to half a dozen others, you need to stand out somehow. Features in a product may make headlines, but customers won't hang around if they don't get quality service and support.

I can't blame them. One of my pet peeves is poor service. I knew that I couldn't create perfect software—no one can unless it does little or nothing—so the next best things would be to fix problems quickly and respond to requests promptly. So don't spread it around to the competition, but our secret weapon is over-the-top customer service.

What does it mean to be "over the top" with service? It means that email requests are handled within minutes, when possible, and within a couple of hours during crunch times and off hours. It means that we offer a 60-day money back guarantee without requiring any proof of problems—we do need your feedback though, so please tell us why our products didn't work for you. It means that we won't create ridiculous copy-protection schemes that make you jump through hoops to run our software on your computers. It means that we actually care about our customers and their well-being.

Now this doesn't seem so tricky, but the fact is that many, many companies blow it when it comes to customer service. They don't answer emails, don't give refunds, are suspicious about customers stealing licenses, and frankly, some even see dealing with customers as a burden!

The choice to offer great service or not is pretty simple. As a microISV, we can't afford bad press. Our marketing budget is tiny; therefore, we rely on word of mouth and comments posted on the web and in print. If the comments are negative, then we just bought some lousy advertising with our actions or lack thereof.

When I started developing MoneyWell, the personal finance software market on the Mac was pretty crowded but not so much that I was concerned about MoneyWell standing out. It has a pretty unique design and the envelope budgeting methodology was not widely implemented. By the time MoneyWell shipped, it felt like the competition had doubled and, in the nine months since, it's grown even more packed. To stand out, we needed more than just a great feature set, we needed a great company. Apple gets a ton of free advertising because it has a zealous fan base so why not try to duplicate that marketing method.

In order to balance my time for design and coding with handling support emails, I had to make sure I was very disciplined. First, I made sure my inbox was kept as close to zero emails as possible. I couldn't afford to feel overwhelmed by the sight of hundreds of emails. I became very good at email triage: deleting or filing emails that just didn't need to hang around and answering the short tech support questions quickly.

Next I watched for patterns of tech support questions and looked for solutions that didn't require me to repeat the same answer over and over again. Sometimes this meant changing the software and putting out a quick patch. Other times this meant posting an FAQ or tutorial on the website. I started trying to write detailed step-by-step instructions and then I found that these took up a lot of my time and confused some customers. The solution was to do video tutorials or screencasts.

People love our video tutorials and I love being able to redirect them to these before having to write lengthy email responses. Video tutorials are relatively quick to do. I write a script, record the voiceover and then record the software in action. It helps that my wife, Judy, is a trained voiceover artist, but the bottom line is that customers can watch a tutorial over and over until it sinks in. We produce it once and it get used thousands of times.

As an added bonus, these videos are also used for marketing MoneyWell.

This really is the key to excellent customer service: What can I do to empower my customers instead of making them always reliant on me?

The best service is when we don't have to do anything at all. Just by going to our website, an answer is found. Just by opening our software, the customer is notified of an update. Just by posting a question to our user forum, other customers jump in to offer help.

Service is also about honesty. If I make a mistake, I need to fall on the sword. Most people are going to rush to my defense when I don't try to make excuses and shield myself from criticism. I can't tell you how many times I've immediately apologized for a bug or a missed response only to have a customer write, "Hey that's fine. You're doing a great job. Thanks!" At times, the hardest thing for me to do is swallow my pride and take the blame but I know it's the right thing to do. All I have to think is, "Would I rather be right or have lots of happy customers?" Uh, let's see... yeah, gimme the happy customers.

When I hear other companies complain about their customers, I cringe. Even if those comments don't get back to your customer base, your bad attitude will seep through during your conversations with them. If you don't deal with people well, then you'd better hire someone who does. You can't afford to play the part of the "Soup Nazi" unless you have a product that has no competition.

I have built companies with 40 or more employees and it is difficult to keep the quality of service high as the layers between me and the customers increase, but I'm very determined this time to keep any loss of service to a minimum. Judy starting full time with No Thirst Software on July 1 will help immensely and we won't hire our first tech support person unless he or she is passionate about our products.

By focusing on our customers' happiness and well-being, everything we do is affected. We can't control our incoming cash flow directly because we can't force people to buy our software and affect sales directly. What we can do is take excellent care of our existing customers and optimize how we spend our time. I believe creating great software and supporting it with over-the-top customer service is the best way to grow this company.

Let me know if you see us dropping the ball on this and we'll get to test out how well I fall on the sword.


Tuesday, June 24, 2008

Was It Worth the Money?

I'm a little late with my wrap-up, but better late than never, right? And before my wife says it, I'll say it—this blog entry may be considered at geek level orange. So if you don't like the typed content, there are links to pictures throughout.

Going to Apple's World Wide Developer Conference (WWDC) is by no means cheap. It's close to two grand before you add in airfare and a hotel room for six nights. So now that I've attended my first one, the most common question I get is, "Was it worth the money?"

Absolutely! Without a doubt. No question in my mind.

Your mileage may vary, but I got so much out of this trip that I will do it again in a heartbeat. Let me break it down a bit to examine the benefits for me.

Keynote Address: Out of everything at WWDC, this was only marginally better than watching a text feed from my computer at home. Yes, Jobs RDF (reality distortion field) was present, but not very powerful. Maybe because everything announced was already rumored. Maybe because the iPhone product demos went on and on and on and on. They counteracted any excitement that Steve built up.

Sessions: I was pretty lucky and picked many great sessions. Sure I can watch them later on ADC iTunes but the Q & A after each session is missing from those recordings and many of those were golden. Developers—smarter than me—were asking questions that I wish I had the wherewithal to ask at the time. I only felt the need to walk out of one session—and did. Thanks to the MacDevNet podcast that recommended it was okay to do that.

Labs: These were great. Having the ability to monopolize a Core Data engineer and bombard him with questions was invaluable. I only wish that I had been more prepared with questions and could have taken advantage of more labs. Of course, I have plenty of questions now that I didn't ask. Next year I'm taking a few days before WWDC to prep with code samples and questions for these labs.

CocoaHeads: Several top notch Mac developers put on presentations at the SF Apple store. Unfortunately, I arrived way too late to see anything but the top of the screen and the back of the SRO crowd. Another mistake I will not make next time around.

Parties: The parties were good, but not great for networking. Too loud and too crowded to really talk and get to know someone but lots of fun and helped me meet a few people that I only knew via Twitter or email. Apple's Bash was easier because it was outdoors. Still the best conversations happened at the more personal outings at local bars like the Chieftain.

Networking: Outside of the parties is where the majority of the networking happened. It started early on Sunday during registration. I saw a tweet that Fraser Speirs was sitting in the registration hall. Trying to be social, I approached someone that I thought looked like Fraser (I only know him from a tiny Twitter picture) and talked to the wrong person. Of course as I walked away and checked Twitter on my iPhone, Fraser tweets, "Some guy just asked someone two people down from me if he was Fraser Speirs." Nice. I'm outed on Twitter, so I owned up to it publicly and then went back to give Fraser a hard time for letting me walk right by him.

I knew at this point that it was going to be fun coordinating meetings over Twitter. Many of us posted information about what session we were in and where in the room we sat, along with the "shirt of the day" tweets. It's a good thing that Twitter reinforced their servers for the conference (Twitter tends to go down more than Yahoo's stock price) or we would have been lost.

It took every single day that I stayed in San Francisco to meet everyone on my list and I still missed a few. We talked between sessions, ate lunch together, shared code, and opened the door to several opportunities to connect our products. If the only benefit I got out of WWDC was the networking, I would say the trip was worth it.

MacDevNet Roundtable: Scotty held the first Developers Roundtable around an actual table (oval, not round, but that would be picking nits) and I was invited to sit at it. Doing a group podcast with the actual people present is so much nicer than negotiating for your chance to speak on Skype. Have a listen if you haven't already heard it. Besides me, Scotty hosts Dan Wood, John Fox, Daniel Jalkut, and Craig Syverson. Somehow, I even got labeled as the "fanboy" in it.

I did take some pictures with my handy-but-not-good-in-low-light iPhone. Next year I'm taking a real camera and getting better photos. I guess I have a lot of "next year" vows. I hope I remember to read this and do them.


Thursday, June 05, 2008

What's a WWDC?

If you're a Mac software developer or a die-hard fan, you probably know that WWDC is Apple's World Wide Developer Conference. For developers, this is the place to go to suck in as much knowledge as we can in a five-day period. Apple hosts sessions to teach about development tools and related topics and they also give us labs to sit and talk to the people that designed the Apple's systems. It's geek nirvana!

It's also a chance for developers, who are spread around the world, glued to their computers, and typically carry on conversations limited to 140 characters at a time, to actually sit face to face and have a real conversation. This is my first time to go, so I don't know which I'm looking forward to more—the schooling or the socializing.

The Mac developer community is so giving and open and has helped me tremendously with my development of both Debt Quencher and MoneyWell. I'm not sure I've sold enough copies of both to pay for all the drinks I owe these guys, but I'll do my best to pass around my gratitude. I'm more excited than my daughter if she were told that everything is now available in pink... and free. Just yesterday she asked if we could get a ping pong table... in pink... with pink paddles... and zebra striped balls. The girl scares me sometimes.

The only difficult part is continuing to run a microISV company while I'm MIA. My wife, Judy, is set to come on board full time to work with me at No Thirst Software, but that doesn't happen until July 1, and I'll be at the conference from June 7 through June 14. This means that my average one-hour response time for support will suffer a bit. It will be worth it, though, because what I learn at the conference should greatly accelerate our two pending MoneyWell projects (2.0 and iPhone versions), which means more software goodness for our customers.

Even if you're not a geek, you should pay attention to Steve Job's Keynote on Monday morning. What he announces may very well make you want to create a new expense bucket in MoneyWell.


Friday, May 23, 2008

The Lone American

Scotty's latest MacSB Podcast is out and I'm the lone American on it. Sharing the mic space with me are Danny Greg and Fraser Speirs, as well as our host, Steve "Scotty" Scott.

We chat about Licensing and Serials and I learn a few British terms, like "wash up," which I thought was Scotty giving us a TMI moment but really he was just going to clean some dishes. Silly American.


Thursday, May 08, 2008

Hold on to Sixteen as Long as You Can

Little ditty about Jack and Diane...

A favorite John Mellencamp song popped on the radio as I left for lunch today after shipping a new release of MoneyWell.

Two American kids growin' up in the heartland.

It followed a ZZ Top song and the two songs sent me back to my days in college. Everything was so possible. All the doors were wide open and we could do anything we wanted. We just had to try.

Jackie gonna be a football star...

None of us had any history of business failure or lost career opportunities. One of my best friends in college was a fellow Computer Science major and we constantly competed for top grades and the highest bonus for handing in our projects early. We also had hacked the college's computer system and had the passwords for all the operators and even created our own teacher account so we could have higher access rights. Fred Dartner was one of the nicest math teachers at Erie Community College—he never failed a single student. We were big fish in a very little pond.

Oh yeah, life goes on... Long after the thrill of livin' is gone...

But then the real world hits and the self-assuredness of academia fades as rejections and failures pile up.

Oh yeah, life goes on... Long after the thrill of livin' is gone. They walk on.

Many people forget that there are no limits to what we can do. We are only limited by our imagination, desire, and faith. That by serving the greater good, we too will be taken care of and will survive.

Jackie sits back, collects his thoughts for the moment. Scratches his head and does his best James Dean.

I was thinking back to a year ago, before MoneyWell 1.0 had shipped, and how I felt at the time. This was after many months of design and coding and I wasn't quite sure how it would be accepted by the marketplace. But there was a glimmer of hope that I was on the right track.

Gonna let it rock, let it roll. Let the Bible Belt come and save my soul...

Now with the release of MoneyWell 1.3.3, thousands of customers, and a vivid vision for what is planned in the 2.0 release, I feel rejuvenated. Full of hope. Ready to take on any challenge.

Hold on to sixteen as long as you can... Changes come around real soon make us women and men.

There was no fear when I started my first company in college—I had more guts than brains. There was a ton of fear present when No Thirst Software launched—I had more failures than successes. But now, it's almost two years since I started this blog and caught the bug to go out on my own again and I'm happier than ever.

Little ditty about Jack and Diane...

Because I know that anything is possible.

Two American kids doin' the best that they can.


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?


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!"


Wednesday, February 27, 2008

Taking Care of the 90 Percent

I guess MoneyWell has hit the big time: it was [k'ed]. That means that some sad individual spent his or her time breaking the copy protection and posting it for the 10 percent to use without paying. I won't bother giving the thief or the download sites any publicity, but someone else was kind enough to point out that this had happened and I do appreciate that very much.

I've written before about my opinions on software copy protection. Yes, it is a necessary evil (just like the ancient adage: Trust in God, but tie up your camel), but copy protection shouldn't hamper honest users from enjoying a software product.

Because I believe that 90 percent of my customers and prospects are honest individuals and will happily pay the small amount I charge for MoneyWell and Debt Quencher, I'm not going to spend time trying to defeat the efforts of the 10 percent that are living a life of scarcity and choose to steal. The 90 percent deserve new features and software refinements and I won't deprive them of those by working on layers of protection that will be cracked by those that are determined to do so.

But this morning, I couldn't stop thinking about who these people are that steal software. They obviously think that just because software costs little or nothing to distribute, there's no physical theft. Excellent software takes months of effort to code, years of experience to design, and dedication to polish and perfect. What do the 10 percent do for a living? Would it be okay if someone where to take forty bucks out of their pocket every few hours? Does that sound fair? I can't help thinking that these people have been really hurt in their lives and they feel that everyone around them should be in pain as well. Or maybe, they are romanticizing this theft by envisioning themselves as a modern day Robin Hood. Let me tell you Bucko, the tights don't look good on you and the microISVs you're robbing from are not "the rich."

Does that mean that big iron companies like Microsoft and Adobe deserve it because they are rich? No. Absolutely not. There is no justification for software theft—it's wrong no matter how you hold your bow.

So to end this on a positive note, there are rewards to living a life of abundance—a life where there is always enough to go around and someone else doesn't have to lose for you to win. If you believe that by giving you will be rewarded tenfold, then it is true. We do more with our attitudes and actions to shape our own futures than the cynics of the world would like us to believe.

I've seen the proof of this in my own life, over and over again. When I live in fear of losing my money, time, or love, that which I most covet always slips through my fingers. When I love without requiring love, tithe without fear of want, or volunteer without expecting a reward, I am blessed with more love, money, and productivity than I expect or can explain. The math doesn't make sense (x - 10% = 10x), but somehow the test is easy to pass.

Live in the 90 percent and enjoy all of life's blessings.


Friday, February 22, 2008

It's in There!

I love creating new software releases—especially when I get to give customers the 1984 Prego response: It's in there!

"Hey Kevin, it would be great if we could select a different currency for each account. Is that planned for a future release?" It's in there.

"Is there any way to hide accounts or buckets that I no longer use?" It's in there.

"What about scheduled transactions?" It's in there!

With every new release of MoneyWell, the product moves closer to my original vision for it. Managing finances and cash flow was never easy for me—partially because I didn't like being told that I can't buy something for someone. I'm pretty good at denying myself stuff, but not so good when it comes to my family. I need structure and easy access to financial figures to help me behave myself and running a Quicken budget report didn't cut it.

My initial vision for MoneyWell was a single-window interface that could tell me quickly what I have to spend for each type of expense. The "envelope" system of allocating your income into various containers, each marked by a spending category, was ideal. If I could pull up MoneyWell and see immediately that I only had $20 left to spend on dining out, I would either be able to say, "No, we can't go out tonight" or see that there was more money left in the entertainment bucket that we could use for dining instead.

This part of my vision is complete and I know that I can't just look at my bank balance anymore and say, "Hey we have money! Let's get you that iPhone today!" I watch my buckets instead because managing cash flow is more than the act of asking the ATM how much is in there.

What's coming in the next few releases? More visuals about where cash is going and more planning tools for future spending. Now that I have today under control, I want to know what my spending is going to look like over the next 12 months or more. How much can we plan to spend for a vacation this summer? When are the big property tax bills due? How fast can we eliminate the last of our debt? Should we put more into savings or other investments?

Software and cooking are very similar. The trick is to put all this stuff "in there" without mucking up the look and taste of the sauce. What happens when you put too much salt in it? Or too much tomato paste? Or too much garlic... actually I don't think you can add too much garlic. Scratch that last example. For me, it's vital to remember what I was cooking in the first place. That's why MoneyWell 1.3 is simmering a bit longer. I keep running it through strainers and taking taste tests until I think it's ready to be served. I hope everyone enjoys the next course in the meal. I know I can't wait to serve it!


Monday, February 04, 2008

Taming the Monkeys

Running your own business can feel like you've signed up to babysit four hyperactive monkeys—especially as a microISV.

There's the sales/marketing monkey that constantly needs to be fed or he starts taking chunks out of you and you die a painful death. Then there's the operations monkey that wants the books kept in order and paperwork filed or he ties your shoelaces together when you're not looking and you end up doing a world-class face plant. And we certainly can't forget the support monkey that sleeps for a while and then wakes up with night terrors and blood-curdling screams. He's the one that will give you a heart attack if you don't attend to his every need.

Lastly, and most importantly for a software company, is the development monkey. This little guy is your favorite and the reason you started a microISV in the first place. You want to give him the most attention and normally he rewards you with much affection, but he's a bit psychotic. One moment he's all happy and content and the next moment he's pulling out your hair, throwing food (or worse) at you and giving you wet willies.

And all these little guys want to hang around on your back and shoulders all the time. It can be hard to find time for yourself and your family, but you have to do it. It's essential to your sanity and survival. The trick is to keep each monkey entertained on a nice rotating schedule so that they'll leave you alone.

My method is to revolve everything around development. I get up in the morning, check on how sales are doing, look at my support emails, answer any that I can quickly, scan my RSS feeds for news and get on to development. During think breaks in coding, I check the support emails and answer them. Sometimes I can't give a complete answer without more investigation, so I try to at least move an issue forward by requesting more details. This usually works out nicely and I haven't had to deal with many night-terrors sessions.

My sales and marketing tasks are usually saved for later in the day when my three teens are home. I need less focus for doing this work than coding so the interruptions by my kids aren't as bad as when I'm fighting off soggy fingers in my ears. Unfortunately, my carpeting is littered with impressions of my nose because I just don't want to tend to that operations monkey as often as he needs me.

One thing that has helped me tame a couple monkeys is my iPhone. It lets me run errands and taxi my teens to events and still stay on top of support and sales. I can also read my RSS feeds while I'm away from my computer and I feel less guilty reading news and articles. When I'm on my iMac, it seems wrong not to have Xcode as my current application. There's so much code to write (because software is never finished), that I need to give that little chimp as much time as possible.

Lately, I've been using Google's new mobile RSS reader. They updated the interface last month and it made it much easier to use on the iPhone. Unfortunately, it wasted some of my precious "between monkey" time because I couldn't quickly tell Google that I already looked at most of these articles this morning in NetNewsWire and I don't want to see them on my iPhone now—it only allowed me to mark a page of feeds as read.

Just this morning I read NetNewsWire + NewsGator Mobile in Brent Simmons' blog and discovered the joy of NewsGator NewsGator Mobile for the iPhone. Wow! I feel like I just I was given a huge gift of time. It syncs my two readers (along with my clippings) so I only have to mark an RSS feed as read in one place. I don't know why I didn't try this before. I know that this is one of the strengths of NetNewsWire and one of the reasons I bought a copy (yes, right before it was released as a free product, I paid for it. Buy high and sell low is my motto), but I just didn't get around to trying it.

This may not seem like a big deal to you, but it's pretty huge for me. I love reading and I'm a big fan of several bloggers and news sites, but I only give myself small slices of time between monkeys to enjoy this activity. With the added time savings of having my feeds synced on my iMac and iPhone, I can spend less time paging through read feeds and more time reading new stuff. Shoot, I may even be able to subscribe to some feeds I had to drop because they clogged up my iPhone Google Reader. My break times just got more fun. Thanks Brent!

I have to go now, the programming primate just hit me in the back of the head with something... and it doesn't smell like food.


Tuesday, January 29, 2008

I'm Really Not Good at Some Things

Yesterday was a full day of visiting with my CPA and his staff to get my tax paperwork and corporate bookkeeping current. I really suck at managing IRS paperwork and dealing with corporation stuff. It's not that I can't figure it out or don't see what needs to be done, but given the option of putting some cool new features into one of my software products or reading through tax information, I'm afraid I'm always going to choose the former, so I'm always playing catch-up with the latter.

Now that would be fine if our government rewarded me for good intentions and gave me a break for being busy but, the last time I checked, that wasn't the case. They are rather fond of just tossing late fees at me.

So here's my "do as I say, not as I do" advice for fellow microISV owners (and small business start-ups in general): Get a really good CPA—one you are comfortable with and can trust—and do it at the inception of your business. And, if you're an immersive individual like me, outsource the corporate bookkeeping/paperwork so you can focus on what you do best. It's okay to spend money on help running your operations if it frees you up to do tasks that make you more money.

Hopefully, I'll take my own advice.


Saturday, January 19, 2008

Quicken taking on MoneyWell?

Okay, this is too funny. I just got done being interviewed by Scotty about Battling Big Iron Software Companies as a Micro-ISV and then I read this article on MacRumors about Intuit rewriting Quicken to be more Mac-like. Like MoneyWell, it will be Cocoa-based and use CoreData for storage. Unlike MoneyWell, it will only be for Leopard.

Here's the quote that killed me:

Because the application is being built from the ground-up, it will initially contain only a subset of what is currently found in Quicken 2007 for Mac. While it will fully support cash-flow accounts (cash, checking, savings, credit cards), it will start with extremely limited support for investments, though you will be able to track your balances and holdings and calculate your net worth.

I'm sorry, I really don't think Intuit is looking at No Thirst Software and getting worried, but it's just a cool coincidence that yesterday I talked about how MoneyWell is young application and doesn't have as many features as Quicken, but takes better advantage of Mac technologies like CoreData and Cocoa and now this announcement comes from Intuit.

All I can say is bring it on!


Friday, January 18, 2008

Chatting with Scotty

I had the pleasure to be interviewed by Steve "Scotty" Scott today for his Mac Software Business (MacSB) podcast. If you develop software for the Mac, Scotty's podcasts are invaluable. In addition to this business focused podcast, he also produces Late Night Cocoa and Mac Developer Roundtable. I've learned so much from all of these!

You can find this newest podcast episode here on The Mac Developer Network site. I haven't listened to it yet, but I'm hoping something I said will be helpful to another developer. It's great to be able to give back a bit.

Thanks Scotty for making the interview so relaxing and enjoyable! It's gotta be your accent.


Monday, January 14, 2008

Enlisting Digital Helpers

I really love having to solve problems that come from too much business. I had a business partner one time that bragged one year about our company not having to pay taxes. I said, "You're excited about not making enough profit to have to pay taxes?!?! I think we have a problem here."

Since the last week of 2007, sales have doubled overall. Don't ask me why; I can't find a solid statistic to justify this but my best guess is that I used prMac to pump out many more press releases for the MoneyWell 1.2 release. It could be that it was a cumulative effect (as Guy Kawasaki likes to quote, "Let a hundred flowers blossom"). In any case, with increased sales (yea!) comes increase support requests (ouch!) and I haven't managed to sell off any of my teenagers, so my available time has remained static. You do the math.

There were a couple of potential solutions: I could either hire someone to help with tech support or improve my efficiency with better software. Since sales and support emails aren't really high enough to warrant a full-time tech person yet and I happen to write software for a living, I chose the latter.

I took a look at the most common support questions. There turned out to be two basic categories of problems:

  1. "I didn't get my license email," and

  2. "I can't figure out how to..."

Even though there were more "missing license" issues, each of these weren't very time consuming to handle and the solution was more technical and, therefore, more time consuming. The second issue could be solved by recording more video tutorials and the videos can be used for marketing as well as training so that's what I did first. The only hard part about doing videos is having to continually redo them because MoneyWell is evolving so quickly. Judy and I managed to get a few tutorials done over the Christmas break.

I tackled the first issue this past week. This is not a developer blog, so I won't go too deep into geek speak. From day one, I've used code from Lucas Newman (AquaticPrime) to generate a license file and attach it to an email to the customer. My web server takes care of this so that the customers don't have to wait on me to get their licenses. As soon as their payment clears, the email gets sent.

In theory, that should be all there is to it but in the age of spam, spam, spam, and more spam (cue the vikings), many people block emails with attachments—including MoneyWell and Debt Quencher license emails. Unfortunately, many customers don't even realize that their license has been blocked and wait days before letting me know that they have a problem. This was unacceptable so I had to get rid of the license file attachment on the email. The best way to do this was to have our software get the license directly from our web server.

It took a little effort to add a database back end and rework the emails, but I'm very happy with the result. Now when MoneyWell or Debt Quencher launches, the customer sees a "Trial Mode" window that also doubles as a way to get a license.

The customer simply enters the Receipt Number that is located in their confirmation email and MoneyWell locates and installs their license. No problems with spam filters, no corrupted attachments, and no loud vikings. It's all good.

Now I have more time for development and to handle the tech support issues that directly relate to the software instead of an email server. As a bonus, I also have more tracking and reporting ability for No Thirst Software sales activity.