Software doesn't take up physical space, so it should be free. After all, it isn't real. It isn't tangible. It doesn't exist in a material sense, therefore it doesn't cost anything to make and produce. Right?

Okay, not everyone actually thinks like this, but listen to the complaints that users tend to have about mobile software and you'll start to see a pattern: they want everything to be perfect, everything to be available right now, and everything to be free.

But software takes time, energy, and expertise to develop and maintain -- and developers deserve to be compensated for that, especially if making apps is what they do for a living. But how does that affect you, the end user? A great deal more than you might think, especially with the prevalence of freemium business models.

We all know how annoying it is to be bombarded with fullscreen ads and non-stop clutter in the notification bar, but does it have to be that way? Let's look at how developers monetize their apps and why we have to suffer through these nuisances.

1. Direct Purchases

You can think of direct purchases as the digital equivalent of how games on cartridges and CDs used to be work. You buy a game, and that's it. The entire experience is yours and you can rest easy knowing no part of the game is missing, that no part is designed to milk more money out of you.

But direct purchases are somewhat uncommon in the mobile world. Why? Because they're less friendly to casual users. The upfront cost can be a deterrent when you don't know whether you will like a particular app, whereas a free app can be tested and uninstalled if it's no good without any risk.

AndroidPaymentMethods-Thomas-Was-Alone

To get around this, developers often release free versions that contain a sample of the experience. This can be a lot of work for developers because it involves maintaining two copies of the app and keeping both in working order.

Mobile piracy is another issue with direct purchases. Some developers have had their apps cracked and distributed for free. This is often seen as lost revenue, and this incentivizes them to pursue other methods of monetization.

2. Microtransactions

In the early days of desktop computers, a common way of selling software consisted of letting users download a program and, after a few days passed or they played through a few levels, asking them to pay to continue. Back then we called this shareware. Now it's morphed into microtransactions.

Microtransactions, which are sometimes called in-app purchases, can take many forms. The shareware-like approach of offering some free content and locking other content behind money is appealing to developers as it gets around the issue of maintaining free and paid copies of an app. It also helps mitigate piracy.

Here's the great thing about microtransactions: you only have to pay for the parts of the app or game that you plan to use. For example, if you want a particular level pack, you can buy it while ignoring the other level packs you don't want. This could save you money in some cases.

AndroidPaymentMethods-Game-Of-Thrones

Another approach to microtransactions is to get people to exchange their real money for virtual currency. This virtual currency usually appears in games, and, at its best, offers a way to purchase extra content that isn't essential or unlock everything without having to play through the old-fashioned way.

At its worst, developers design games in such a way that they can't be completed without regularly making in-app purchases. Here, instead of rewarding players for their skill, success depends mostly on the size of your wallet. And most of these games let players spend roughly twice the cost of a console game on digital coins.

AndroidPaymentMethods-Virtual-Currency

The sad thing about microtransactions is that they usually impact gameplay in a negative way. Waiting for crops to grow in Harvest Moon, a farming sim without any microtransactions, only takes a few moments. In Farmville, the process can take hours -- unless you buy an item that makes crops appear instantly.

Here's another example: in racing games, it's common to expend "fuel" every time you go on a race, and this fuel recharges slowly over time. Now you have to wait until you have enough fuel before you can race again -- unless you pay a few bucks to instantly recharge and get back on the road right away.

In the video below, Nerd Cubed articulates (using very colorful language) the ways implementing virtual currency can negatively impact the design of a game:

Human psychology encourages this type of game. Being "free" offers a low barrier to entry, and the simple controls make it easy to keep playing. But once we're hooked, it can be hard to walk away when spending a few bucks will let us continue.

And in those moments when we do manage to stop thinking about playing, some games deploy notifications that entice us back in with the promise of bonus virtual money. If you enjoy the game, how can you turn that down?

Some of us, especially people who have been playing games since before they migrated to smartphones, deplore these tactics. The thing is, they work. They're bringing in such high profits that console and PC game developers are inserting similar elements into their AAA titles. Sadly, the onslaught of "freemium" gaming makes it more challenging to find games that are actually free.

3. Advertisements

Ads are everywhere. They interrupt television shows, cut into magazine stories, and disrupt music on radio stations. A naive person might have once thought that ads would never follow to the smartphone, but they've obviously been proven wrong.

The unfortunate truth is that advertisements are one of the easiest and most painless ways for mobile app developers to earn money for their hard work. They also offer you the ability to download apps for free. In that sense, they're a win-win.

AndroidPaymentMethods-Ads

Ads can take many forms, the most familiar being the banners that line the tops and bottoms of your screen. These banners can advertise websites, services, or other apps, and will traditionally open links when tapped. More recently, banners will expand to fill the screen once tapped.

Fullscreen ads typically pop-up during downtime, such as between levels in a mobile game or between songs in a music player. Some are static images, others have animations, but some are more advanced, like playable game demos that send you to the Play Store.

The most intrusive of all are video ads. These suck up mobile data and blast you with audio, which can result in awkward situations at the worst of times.

AndroidPaymentMethods-Video-Ad

Why would developers willingly annoy users with offensively disruptive ads? As it turns out, the more disruptive the ad, the more effective it tends to be, and therefore the more money it earns for the developer. At the end of the day, ads aren't for your convenience -- they exist for revenue.

Of course, there's a trade off. If users are put off by the number of ads, then they'll uninstall the app and the developer won't bring in as much revenue. So in some sense, you can still vote with your wallet. You just have to be willing to pull the Uninstall trigger.

Which Method Do You Prefer?

Since code doesn't write itself, we're always going to have to wrestle with how creators get compensated for their time.

I'm personally a fan of buying a game outright from the beginning. Whether a developer wants to ask for $5, $10, or $20 -- that's all fine. I'll browse the screenshots, read a few reviews, and make a judgment call the same way I've done for years.

But I've heard from gamers who enjoy the amount of gaming they can do for free these days. Some don't mind waiting the long stretches of time that are necessary to avoid making IAPs. Similarly, ads completely ruin the experience for me but I've watched as other people seem not to notice them at all.

Ultimately, we all have a say in how we like to acquire software. How do you feel about these different approaches to the way developers monetize, and as a result, design their apps? Sound off in the comments below!