Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Implementing a 30 day time trial [closed]

Question for indie Mac developers out there:

How do I implement a 30-day time trial in a non-evil fashion? Putting a counter in the prefs is not an option, since wiping prefs once a month is not a problem for an average user. Putting the counter in a hidden file somewhere sounds a bit dodgy - as a user I hate when apps sprinkle my hard drive with random files. Any ideas?

like image 828
svintus Avatar asked Jan 07 '10 14:01

svintus


People also ask

How do I stop trial version from expiring?

Uninstall the program and reinstall it. This is basic method used to keep a program running after its trial period has expired, but it will not work will all software. Many software engineers program trial software to expire at the end of a given time and reinstalling the software will not restart the clock.

How does software know when trial period is over?

In this case, when the program is installed, it creates several files in different locations, especially the ones that are related to Windows functioning. Based on the data written to these files, the program can detect if the trial period is still remaining or if it has expired.

How do I reuse a free trial?

All you have to do is take a snapshot of your Windows Registry before you install the trial for the first time. Then install and use the trial, and when the time period runs out, uninstall it, then restore the Registry to the saved values it had before the trial.


1 Answers

This issue comes up repeatedly on the cocoa-dev mailing list and the consensus answer is always do the simplest thing possible. Determined hackers will break all but the most over-engineered solution. And they're unlikely to pay for the software anyways. Go for the 80/20 solution: the easy solution that gets 80% effect for 20% effort. In this case, putting something in ~/Library/Application Support/your.app.com/. You might name the file something innocent if you want to obfuscate things just a bit. Using the user defaults is easy too.

Whatever you do, don't use the MAC address or an other hardware ID. Users with a network home directory (e.g. in a shared lab setting) will hate you. Using hardware IDs is just evil.

If someone is in love with your program so much that they're willing to break your trial limits, let them. The free software costs you nothing and their good will (and maybe recommendation to others) is worth a lot.

Finally, write software that people want to use and price it for its value. If your price is a good value and people want to use it, most people will pay for it.

like image 54
Barry Wark Avatar answered Sep 22 '22 19:09

Barry Wark