…requires more than just good programming.

A simple change that doubled sales

A while back I did a day of consulting for James Wang on his SQL Pretty Printer software. One of my many recommendations was that he displayed the name of the licensed user prominently in the software, to discourage casual license key sharing. He recently reported back to me that he had made this change and it had significantly increased the number of orders for multiple licenses. The average number of licenses per sale increased from 1.34 to 2.65 since he made the change in February 2011. That is a 98% increase in sales! And it only took a week to change the licensing system.

James commented:

Each time I have had an increase in sales, I found that it was mostly due to marketing related issues like changing the licensing system or paying for a link from a site which has a highly targeted audience for my software, not due to a new version release.

This truly is an impressive post which no developer can ignore. I am however (please ignore my ignorance) a little confused. From what I can make out this prevented users sharing their registration key with other users i.e. other companies, which I would expected to increase individual sales. But how it can increase multiple sales i.e. users within the same company I’m a bit lost. Are they each given individual registration names? Can anyone please clarify?

When people purchase multiple licenses, each user in the same company have a unique “user name + license key” combination for SQL Pretty Printer. An email included a unique URL will be sent to user after their order was approved, so they can generate license key with user name automatically.

When people purchase multiple licenses, each user in the same company have a unique “user name + license key” combination for SQL Pretty Printer. An email included a unique URL will be sent to user after their order was approved, so they can generate license key with user name automatically.

which I would anticipated to boost one-by-one sales. But how it can boost multiple sales i.e. users inside the identical business I’m a bit lost. Are they each granted one-by-one registration names? Can any individual delight clarify

This is an interesting *social* solution to the problem of casual piracy. That is, you guilt the user into purchasing a license for their self.

For those who don’t know, the *technical* solution to the problem of casual piracy is hardware-locked licensing (a.k.a. online activation). In other words your software takes a “hardware fingerprint” of the computer, your software sends this “fingerprint” along with the product key to your server, your server responds by cryptographically signing the product key + fingerprint. There’s much more to it than that, but that’s the grand overview.

Before I continue I should disclose that I’m founder of the company that makes LimeLM (http://wyday.com/limelm/ ) — a hassle free hardware-locked licensing (i.e. online activation) solution.

The downsides of your “social solution” (as compared to hardware-locked licensing like LimeLM) are two-fold:

1) It doesn’t *force* the casual pirate to buy another license; it just guilts them into buying a license of their own.
2) It doesn’t prevent corporate casual piracy. That is, a company that purchases 100 licenses from you isn’t going to enter the user name for each worker that will use your software. Nor is the IT department going to be too happy about manually entering a custom product key for each copy.

Hardware-locked licensing doesn’t have either of these problems. If the customer purchased a single license then they can only use it on a single computer (no guilting necessary). Also, the IT department only has to worry about a single product key when installing across many computers.

Here’s my proposal, James: I bet if you used LimeLM for 6 months you’ll have a 200+% increase in sales from your old licenses per sales average (i.e. a 3x increase in sales). And I’m saying this without knowing anything about your market. I’ll give you the next 7 months free so you can test my guess.

If I’m wrong (that is, even 1% under my guess of 200+% increase in sales) you can continue to use LimeLM free of charge. If I’m right you can become our newest happily paying customer.

There are also downsides to hardware-locked licensing that a social solution doesn’t have. For example:
-the hassle of re-issuing keys when someone changes computer
-some licensing software triggers malware alerts
-it is an extra dependency and every dependency is a risk

For some products it might be worth having a third party licensing system. But it certainly isn’t appropriate in every case.

We reduce this hassle. Most of our customers choose to include a simple “deactivate” menu to their app. In other words they make it dead-simple for the end-user to transfer their license to another computer.

“But what about the cases where the computer is lost/stolen/exploded?” In these cases, yes, the end-user will have to make a quick phone call (or shoot a quick email) to the software company. And if the software company is using LimeLM it’s a one-click operation of clicking “Deactivate” for the end-user’s lost/stolen/exploded computer in the LimeLM web interface.

And with the “grace period” ability added to the licensing, a customer with lost/stolen/exploded computer can install and start using the software on a new computer immediately. The end-user can contact the software company at their leisure.

In short, this is a much bigger problem in theory than it is in practice. (At least with LimeLM; I can’t speak for crummy licensing companies).

The licensing software that triggers virus & malware alerts are the “snake oil” software protections I’ve talked about in the past. These “snake oil” protections are sold by licensing companies that claim they have uncrackable licensing (a.k.a. delusional & deceitful companies).

That raises the question “why are the ‘snake oil’ licensing software marked as malware?”. The answer is that these companies use techniques that virus writers use. That is, they use “anti-debugging” techniques to prevent crackers from cracking their licensing — the same “anti-debugging” techniques that virus writers use to prevent virus researchers from analyzing their viruses. (I can go into this in detail if you want).

The funny thing is that these licensing companies are using virus anti-debugging methods and the crackers are using research papers from virus companies’ researchers describing ways to get around these anti-debugging methods.

The “white hats” are using “black hat” techniques and the “black hats” are using “white hat” techniques. [Cue Elton John’s “Circle of Life”]

Anyway, this is why crummy licensing software are flagged as viruses — because they act like viruses.

-it is an extra dependency and every dependency is a risk

I can’t argue with that. I’ll go one step further and say everything is a risk. Even walking down a sidewalk is a risk (I’ve known 2 people who, on separate occasions, broke their ankles after slipping on a sidewalk).

Once you realize that everything is a risk the question becomes “which risk is greater?” I won’t drag this into a metaphysical argument — I’ll just stick to licensing. Is building licensing in-house riskier than buying a 3rd party solution? You could answer that question flippantly and say “well, the 3rd party is always riskier because they’re a 3rd party”. However, if you do a sober analysis of the risks you’ll realize there are a number of huge risks in building licensing in-house that don’t exist (or are traded for marginal risks) in 3rd party licensing.

Some risks you would need to consider are:

– How long will it take to develop licensing in-house?
– About how much will it cost?
– What aspects of our business could better benefit from the developer & manager resources that are spent building in-house?
– How much will it cost to support in-house licensing (both the code and the customers)?
– Etc, etc.

It’s rarely as simple as “3rd party = bad, in house = good”. I could go on, but this response is becoming “War and Peace”, so I’ll just wrap up.

For some products it might be worth having a third party licensing system.

I agree; some consumer software doesn’t really need online activation. However, I’d say all B2B software should use online activation (or other forms of hardware-locked licensing).