⇥ The armchair developer’s answer to the armchair pirate
In the process, many of these developers are rapidly falling in the same trap where the recording, software and movie industries have been stuck for the last many years: because they think of piracy as a loss, they get fixated on stopping it. And piracy can’t be stopped.
A race against pirate can only result in deepening financial losses and a PR nightmare:
- Implementing restrictive DRM measures only results in upsetting legitimate customers. If my honesty has to be rewarded with less freedom and ease of use than what someone who steals from you enjoys, then you deserve to die a horrible and painful death.
- Thinking that piracy can be stopped is simply delusional. The time you spend fixating on it—especially if you are a small developer—could be spent improving your application instead.
- DRM systems are, simply put, a bad idea and, while there are plenty of companies which will be more than happy to take your money in exchange for an anti-piracy system that will, sooner or later, be defeated, you really should be smarter than spending money on trying to solve an unsolvable problem.
If you are thinking right now that a DRM system is exactly what the App Store implements, do remember that Apple is in a unique position to implement and use one—especially with the App Store, they control the entire distribution channel, end-to-end. If you are a “normal” user, the entire system of DRM protection is entirely transparent to you from the moment you make a purchase to the moment the application runs on your device.
One could, of course, point out that Apple’s control of the iPhone distribution channel limits customer choice by filtering the applications and contents that they can take advantage of—but that’s a different story: assuming that what you want is available on the App Store, the process of acquring it and using it is as seamless as seamless can be. If you want to run apps other than what Apple lets through, you can jailbreak your phone—but jailbreaking does not equate piracy, because the act itself does not cause damage to anyone.
To play devil’s advocate, one could even point out that piracy is the people’s response to the lack of a try-before-you-buy feature in the App Store. We have a very technical term for describing that argument in the industry: bullshit. Every single person makes tens of blind decisions every day, and lives with their consequences: you don’t get to take a bite of an apple before buying it, or lick your sandwich before deciding whether you’ll want to buy lunch. It’s risk taking at the most basic level, and the money you pay is the opportunity cost of not enjoying the benefit of making a good decision.
Of course, you don’t buy a car, or a house, or even a computer, sight unseen. But the App Store doesn’t sell houses, cars or computers. It sells software, and the vast majority of that software is priced far below the double non-fat vanilla extra-foam latte enema you had for breakfast without a second thought about whether a shot coffee and half a cup of foamed milk are really worth $5.
Cost and Opportunity
Having established that piracy is theft that can’t be stopped and that DRM is a bad idea, I think that a smart developer should focus on the opportunity that piracy represents and the costs involved with pursuing it.
In the case of Crackulous, you only need to stop for a moment and think about who the archetypal user of that application is going to be in order to figure out that the cost is little, and the opportunity is tremendous.
The typical Crackulous user is what I think of as the “armchair pirate”—a person who doesn’t have the technical knowledge required to actually crack an application, but who happily does so “because he can.” Defeating this type of thief is easy: all you need is a simple copy-protection mechanism that you are sure will only activate when the application is cracked, and be otherwise entirely transparent to a regular user. Such a check requires barely a handful of lines, and there are plenty of examples on the web of how it can be easily accomplished.
The difference between relying on Apple’s DRM to be invulnerable and implementing your own simple copy-protection mechanism is a bit like the difference between fueling your car and changing the oil: anyone can do the former (well, almost anyone), but the latter, although simple enough that a monkey could probably be trained to do it, is well beyond the technical abilities that most people are capable of, or willing to acquire. Similarly, anyone can use Crackulous, but having to dig into the code to find your five lines of copy protection are probably beyond what 95% of the population can do.
Copy Protection is not DRM
Do note that I made a point of qualifying the copy-protection that I describe above as simple. Your goal is not to defeat piracy, given that a motivated and technically inclined individual will inevitably find a way to break whatever you throw his or her way, but to turn the tables on the armchair pirate and turn his intent on causing you a loss into an opportunity to generate more revenue. Realistically, the additional revenue that will be generated by would-be pirates will be small, so anything that requires more than minimal effort on your part is a waste of time and resources that could otherwise be spent on more productive ventures.
An easy way to create an opportunity for yourself is to implement a timebomb: if your app detects that it has been cracked, all you need to do is let it run for a period of time that lets the user gain an appreciation for the functionality that it provides, and then force him or her to either buy a copy from the App Store or quit. Remember: Apple has already done most of the legwork for you, so that this shouldn’t take more than a timer and the aforementioned handful of lines of code, plus a handoff to the App Store application on the phone.
Your copy-protection mechanism should also be unobtrusive. Not pissing off the people who are willing to pay from the outset for your application should be more important than stopping those who have already made the conscious decision that they’d rather keep their money and take your work, too.
Case in Point…
I gave piracy little thought when I wrote the first version of Camera Plus to the store—I really wasn’t expecting anything out of it—and, as a result, it was cracked and made available to jailbroken users almost immediately. Interestingly, I didn’t notice a dip in sale when that happened (in fact, sales went up, probably skewed by the app’s unexpected popularity).
When it came time to write CP2 from scratch, I spent exactly 15 minutes implementing a simple timebomb into it: after approximately 20 seconds of usage, if the app detects that it has been cracked, the user is politely asked to either buy it, or terminate the application. If 20 seconds sounds like a small amount of time, you need to keep in mind that the app is designed as a replacement for the Camera application—and, therefore, in 20 seconds a user should have just about enough time to take a picture and see how CP works.
I haven’t been able to find a cracked version of CP2 in the wild yet, but two things have happened: first, sales are up—to the point where royalties for CP are in the order of several thousand dollars for the month of February. Second, customer support requests have grown consistenly with revenues, indicating that, generally speaking, there don’t seem to be many more users than customers out there.
I have no doubt that, sooner or later, a pirate copy will show up—and someone with the requisite technical knowledge may even bother to defeat my copy protection mechanism. By then, however, I plan to be working on a new version with more functionality—a much better way to spend my time and money than trying to defeat the boogie man.
