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.

Peace.

10 thoughts on “Free or fee?

  1. Chad

    I think you need to put a small disclaimer. For newer apps, it might be wise to release a major product update every 12-18 months. But as a product matures, the yearly updates aren’t as necessary. One example is Toast, which seems to have a new version out each year, and it becomes too easy to start skipping releases. Adobe is guilty, as well. It seemed to take awhile for CS3 to come out, but CS4 seemed to jump out not too long afterward (it was 18 months, but it still seemed pretty rapid).

    My biggest problem with some of the larger apps releasing “major” updates every year or so, are they aren’t so major, and they don’t release free minor updates any more. I don’t think that Photoshop has even seen a minor release since Photoshop 5.5.

    Otherwise, spacing the mature apps releases 3 – 4 years apart might be more worthwhile.

  2. Karen

    You might add that one would be better off not releasing a big update at the same time as an economic crisis and the beginning of a brand new year. One would be reeeeally busy! 😉

  3. Kevin Hoctor

    @Chad, yes there are exceptions to every rule and certain apps may been “done” with the first design/release and only need rare updates but any software product with a significant feature set will need revisions to stay competitive.

    There’s no sense in trying to compete without trying to earn some income.

    Adobe is another exception. Don’t even get me started on their upgrade policies. 😉

  4. Kevin Hoctor

    @Karen, I can barely handle managing my release schedule without factoring in economic shifts and holidays. Plus the new year is a great time to start with updated MoneyWell functionality. 😉

  5. Chad

    Adobe’s upgrades aren’t so bad. A few years ago, you could upgrade to Photoshop CS2 even if you still had Photoshop 5.5!

    What I do have a problem with is how little extra value they have added to their programs in the past few years. For those people who will use every bell and whistle, then perhaps each upgrade is worth it. But for a more casual user, I haven’t seen much added since Photoshop 6 (aside from the architecture changes to move to OS X and Intel systems).

  6. Chuck

    I”ve just started with Moneywell and was pondering how best to track all of my expenses – particularly cash. Saw your reference to MW Mobile for iPhone – a solution! Working in an office full of developeres and system engineers I should know better then to ask – but…Any idea when it will be available?

  7. Guy

    Chuck, I too am looking forward to the mobile version of moneywell. Until it arrives I am tracking my cash spending with a iphone program called “Spend”. It allows me to export my records as csv and I import those into moneywell.

  8. Vinicius Provenzano

    Hi Chad.

    I am buying the Macupdate promo today, and as your software is included in it I decided to check your website and got really excited with your product, before trying it.

    Well, I track my expenses with Moneydance, that is a great software. It’s 3 years now I use it and I have no big complains about it. The only big downside is that Moneydance is java based. On the other hand it is the only software that runs in a Mac that is able to deal with the OFC file type, the legacy microsoft file type I’m forced to use. I do not know if it is a real market differential for a product, but it is for me. I’d love to have a native app with all the cool features apple frameworks enable developer to use and is able to handle my needs.

    Your considerations about releasing cycles are very appropriate. I don’t mind paying for an upgrade if it brings an actual improvement to the software, it can be a new feature or a redrawn UI, but I hate when I have to pay to a new release to get rid of bug. I’m no developer, but I can understand your point on costs. Programming can be fun to you, and generates a software. But if you want to be paid for your work, you need to transform your software in product. And this process is a completely different ball game.

    I hope the best for you and your product, and I hope to be able to use my license with a OFC import tool. If you need the specs, just send me a mail.

    Regards,

    Vinicius

Comments are closed.