As unfortunate as this is, finishing the code for your software is really only half the battle when you’re launching products. There’s a ton of work that still needs to be done once your code is complete. For Milestones, I need to finalize the code obfuscation and do the installer work.
As a .NET application, Milestones is somewhat subject to reverse engineering. Similar to Java, the .NET framework uses an intermediate language, for which there exist tools which will reproduce your code in readily understandable form. Is this step really necessary?
Technically, no. It is not. However for the good of my bottom line I am investing in tools which will obfuscate the source code so it cannot be easily reverse engineered. Oh, of course there will be the die hard people who will do it just out of spite, but these are just one of your three customers that I’m about to elaborate on.
If you develop software, you definitely want more than three customers. You want hundreds, if not thousands or tens of thousands. The fact of the matter is that there are only three types of customers. Let me clarify what constitutes a customer. A customer is anyone who uses your software, regardless of whether they paid for it or not.
Yes, you read that right: “whether they paid for it or not”. Many of you will find those words to be very strange, even blasphemous. How dare I suggest that someone who doesn’t pay for software they are using is to be considered a customer! Before I’m burned at the stake, let me clarify. Anyone who uses your software because they like the product is probably telling their friends, relatives, and peers about your software, thus doing marketing for you. Regardless of whether they actually purchased the software, you cannot underestimate the value of market presence, and shareware is all about market presence. If you don’t believe me, try naming three other products which perform the same function as WinZip.
Back to the topic at hand, you have three types of customers. First are the honest users. This is your bread and butter income. They will buy your software because they don’t like the idea of cheating on their taxes, suffer sleepless nights if they go two days past the required registration date, and are generally nice, honest people.
Next, you have the dishonest users. These are the ‘customers’ who have not and will not ever pay for your software. This can be for a variety of reasons. Maybe they have the whole open source idea wrong, don’t like you personally, or simply can’t afford to buy your software. In any case, no matter what you do, these people will not support your business by paying for the software.
Finally, you have the rest of the population, which is several times larger than the previous two categories combined. While most people are generally honest, if you give them a way to be dishonest and get something for free, they will choose the easy route and not pay for your software. As a developer, it is your job to convince these people that it is in their best interests to support your development efforts and purchase a license instead of obtaining a copy of your product from their friend.
And there lies the problem. Colin Messitt, a shareware developer did an informal study in which he produced two nearly identical copies of a shareware printing application that he published. In this application there was a print option. As a control, one version of the software printed every fourth page as an order form for the software, requesting that the user purchase a registered copy. The second version of the application claimed this crippled functionality, but did not mangle every fourth page like its counterpart.
He arranged his website to allow every other download to alternate between the two versions, providing a relatively equal distribution of the control application, and the uncrippled version. After nearly a year of steady sales, he determined that the registration rate on the crippled version was more than 5 times the registration rate of the uncrippled version.
His experiment shows that statistically, registrations are five times higher when a user is forced to register software to continue using it unhampered. This statistic points to two related conclusions. First, without a mechanism to enforce closure of a sale, a developer stands to lose a lot of money. Second, it shows that honesty on the internet is not nearly as widespread as it used to be. Some of the early shareware developers merely placed a message in their software asking for registration fees and were flooded with checks. Now, people can’t even be bothered to open their wallets to pull out their credit cards.
As a shareware developer, it is up to you how to enforce this closure. It can be with time trials, limited functionality, randomly changing functions, or just about anything else. But this simple experiment is estimated to have cost over $17,000 in lost registrations. It’s up to you to decide whether or not adding a few registration incentives is worth the time and effort.