A podcast discussing news of note in iOS Development, Apple and the like.

#181: Unconventional wisdom, pricing.

Download MP3


I am doing another run of t-shirts for the show. After I did the campaign for them last fall I heard from a lot of people that they missed out. This year I’m giving the campaign a nice long run (through April 28). The shirt design this year combines three distinctly geeky things—underscores, square brackets and fixed width fonts.

Shirts are $14.59 (never longer than 15 minutes). Get one at http://teespring.com/developing .

Wrapping up

I have published the consolidated, summarized article for my Towards a Better App Store series.

Unconventional Wisdom

Today I thought it might be fun to start another series of episodes. I like doing series because then I don’t have to think so much about my topic each week. The concept I’m starting with is modeled a bit after debate exercise where you are given a topic or statement then told to take either the pro or against position. The process of having to defend either side of an argument often helps to think in ways you wouldn’t otherwise. Along those lines I’m going to try and take the intentionally contrarian position against ‘conventional wisdom’ in the software business.

The result is something that isn’t 100% my actual position on things but should be productive and hopefully thought provoking nevertheless. I’ll be making sweeping, un-nuanced statements for effect. As with everything in life, it is more complicated than I’m going to present it. The interesting part of being in business is navigating that nuance for yourself.

The first topic I’m going to attack is pricing.

Paid software is good for customers and developers?

When I first got into the software business nearly 6 years ago the prevailing ‘best practice’ for software sales was to charge a reasonable up front price for your product. Then provide minor update and bug-fix update patches for free. Then charge (with upgrade pricing) for each major update to the product. This model had worked pretty well for many years and had grown up in the era of boxed software. More importantly this system had been widely accepted by customers as reasonable and appropriate.

It is, however, an awful way to sell software. For, at least, 3 reason.

Barrier to entry

Software typically has an extremely low marginal cost. Unless you are hosting media for your customers you can typically add one more customer to your user-base for a tiny cost. Even with things like customer support you each additional user is essentially free. As such charging a large up front amount for your software doesn’t make sense. This pricing model could only be maintained in an uncompetitive marketplace. Otherwise, you will quickly be undercut by someone else who is willing to lower their prices, to get them closer to their marginal costs.

You are also scaring away potential customers. Often the hardest part of selling software is getting it known to potential customers. If you finally have a customer considering your product (after whatever long, drawn out marketing effort) and then you put up a barrier to them then actually getting it you are shooting yourself in the foot. That is likely your only chance to convince them to download it, make that process as easy as possible.


The paid software model is fundamentally unsustainable. To most clearly demonstrate this imagine a world where your paid sales are going well, you’ve built up a reasonable customer-base of happy users and then suddenly your sales drop off. The reason for the drop off isn’t particularly important. You now find yourself in an extremely awkward position. You continue to have expenses and have made commitments for minor updates to your customers but have no income to back them up. You either need to start squeezing your existing users progressively harder for additional income or go out of business.

The fundamental flaw in this model was that each purchase was necessarily short-lived. You had no plan to make a continuous income from your product. Each day you need to find more people to buy your software. A process that will be progressively harder and more expensive to do. You’ve spent all the good-will of your customers all once.

Imagine instead a business model that is based on subscriptions or advertising. This is far better. Now your viability as a business is directly based on how used your software actually is! Should your application fall out of favor and your customers stop using it, then fine, your income drops but nobody has any commitments that you are then not following through on if you cease development. If it is wildly successful then you have a virtuous cycle of more revenue for more development.

Horribly Abrupt

The nature of the paid model is to get large bundles of income along with significant updates. Your sales will often then fall down dramatically thereafter. This means that you are essentially in a feast-and-famine cycle. You need to store up and be frugal enough with the days of plenty to survive through the days of want. I can say from experience this is horrifically stressful. As you chip away at your storehouse your level of comfort will dramatically reduce. While conceptually you could say that it is functionally identical to getting the same overall amount evenly over the same period, human nature says otherwise. There are few things as comforting as a dependable, consistent income. Something paid apps simply don’t provide.