The Problem With Free

There is a bit of a religious war going on between those who think app development should be happening with open web technologies (HTML, Javascript, CSS) and those who prefer to develop less-open apps using native technologies, like CocoaTouch for the iPhone. As an idealist who fantasizes about a perfect socialist world where everything is free and people work on what interests them, rather than what will earn them a paycheque (because everything is free), I have a lot of sympathy for the free argument. But there’s a problem. I am an independent software developer, and I need to get paid. Sadly, I live in the real world, where nothing is free.

I recently published an iPhone app that is a user-friendly wrapper around the Ottawa transit schedule website. I’d like to use that as a concrete example in this somewhat philosophical argument. In thinking of a project like this, there are some fundamental, even philosophical, design decisions that need to be addressed. There are four major paths to consider here for what such an app will look like:

  1. Free web-based app
  2. Paid web-based app
  3. Free native app (iPhone, blackberry, etc)
  4. Paid native app

The argument for the free web-based app is a strong one. It is free to use. Everyone loves free. It’s standards based. That’s huge. Anyone with a web browser can use it, including iPhone, etc. On the iPhone, you can add web bookmarks to your home screen, so a well designed web app will be nearly indistinguishable from a native app. Plus, it will work on any other device, as opposed to a native iPhone app, which will clearly only work on, well, iPhone. The downside is, of course, that it’s free. As the developer, you don’t get paid. Now you can get creative, and host advertising, or sell merchandise, blah, blah, blah. But the bottom line is, people use the app for free. You’re only going to make money those other ways by having many, many users.

Now you could make the same app, but make it a paid web-app. And then nobody will use it. Because people don’t pay for stuff on the web. And they’re certainly not going to pay for a web app that gives them the same information they could get elsewhere for free (which would be the case for a transit schedule app). One reason I ultimately side with the native app camp is that people don’t pay for web sites. If you build a web app, most people won’t pay for it. Convert that app to the iPhone and put it up on the app store, and magically, people will start paying. That’s just the way it is.

Now we come to the native apps, and we’ll start with the category I have the hardest time understanding: The free native app. I’m not talking about free apps that are part of something bigger, like the CBC Radio app, or the CTVOlympics app. No, those apps have to be free. Let’s stay close to the original example here, so we’re not comparing apples to oranges. Take, for example, a free transit app. Why would you do that? People will gladly shell out 99 cents to buy an app – not even a useful app. They’ll spend money on a Truth or Dare app, or an app with pictures of bikini-clad women. Why do they spend money on this crap, when they can get it all for free on the web? I don’t know why, but they do.

So why are developers putting the time and effort into writing useful apps (both web-based and native) and then giving them away for free? One argument is that they want the renown and glory of writing a cool app that has a lot of users, with the benefit of their software becoming their de facto job resume. But think about it. 99 cents is practically free. Take the transit example. In Otttawa, it now costs at least $2.50 to take a ride on the bus. So paying 99 cents for something useful and non-consumable, is a bargain. Plus, the developer gets paid. You are only paid 70 cents once Steve Jobs gets his, but that’s 70 cents all the fame and glory from the free app won’t get you. Now consider, if only 2000 people buy your very reasonably priced app, you’ve made $1400. Now write 10 of those relatively easy to produce, but still useful and well-priced apps. Maybe even charge more than 99 cents for some of them. Now you’re making thousands of dollars. Now you’ve got an income. Now you don’t need a resume, because you’ve already got a job. You’re making money writing software. Isn’t that what you want to do? And guess what, you own your software. Your buddy who gives away his work, has to spend his days writing bank database software to earn a living, so he can go home and do what really interests him in his spare time. But the work he really values, he gives away, so he can boost his ego, and he can buff his resume so he’ll get a job doing work he doesn’t really want to do.

Writing good software and then giving it away ultimately devalues the work developers do. Prices for apps on the Apple App Store are ridiculously low because developers undervalue the work they do, and even worse, a huge portion of those apps are free. New marketing avenues for software, like the App Store, are a game changer for independent software developers. You can earn an income focusing on what you do best without having to worry about retail channels and manufacturing CDs and online payment gateways. You just write software and sell it. So don’t throw the opportunity away by giving the software away.

If you could package a web app and list it on the App Store, then I might join the web-based camp, but I won’t join the free camp, because the work I do is worth something, and I want to work on what interests me, I want to own what I create, and I want to get paid for it.