Log in

View Full Version : Trial restrictions for an unusual software product


Lizardsoft
03-12-2004, 12:42 PM
It's finally coming. The software product I have worked on for almost two years will be released before March is done. It has been in beta testing for the past three and a half months, and after a tremendous amount of feedback from testers, I finally feel 100% confident in its success.

I am now in the process of creating the trial version, and have ran into some problems with figuring out the details of the software trial. We have had many threads on here about this topic, but they have been mostly game-related. CustomBar (http://www.custombar.net) is a desktop utility that is meant to run 24/7. It creates a taskbar-like bar onto which you can place anything you want. The system is open-ended so that people can create their own bar additions.

Here are some screenshots:

My Bar in Action (I actually run two, I'm a real addict) (http://www.lizardsoft.biz/temp/MyBar_Dexterity.png)
BarCreator (editor for bars) (http://www.lizardsoft.biz/temp/BC_AppMenu_MyBar.png)

The nature of the program poses some interesting problems regarding what is the best way to create a trial version. I am currently leaning towards a 30-day free trial, but I don't feel that it's enough. I don't want to create a situation where cracking the time-lock, which will always be a fairly trivial cracking task, is all that is required to turn a trial version into the full application.

One of the overwhelmingly clear things that I have been able to gather from the extensive beta testing is that people grow dependent on the bar overtime. It provides features such as fast web searching, ability to control winamp, program shortcuts, quick recycle bin emptying, shortcut menus, system stats, all sorts of neat things (plus people can make their own creations). This adds up to CustomBar becoming the main control center for when a user wants to accomplish a common task.

After the trial is up, a signficant amount of users will want to keep using it. They have three options: a) Purchase CustomBar b) Download a Crack c) Stop Using CustomBar. Obviously the goal is to maximize the occurances of choice a. This means making the purchase of the software as easy and appealing as possible, while decreasing the desire/accessibility of choosing b and making c as unappealing as possible (CustomBar accomplishes this well already, you stop using it and you immediately begin to feel the clunkiness of the normal Windows interface).

Registration System
CustomBar currently has a completed registration key system. In order to unlock the software, you must enter the key that you receive upon registration. It has not been decided if the trial version will morph into the full version when unlocked, or if there will be a separate download.

Having the trial morph into the full would be less complicated, especially when it comes to creating installers. With a separate download there's the whole issue of making sure that the full version can be installed over the trial without overwriting user settings/bars but still be installable fully without the trial already installed. The downside to having the trial version be capable of turning into the full version is that it makes software piracy far more convienent. People could download the trial, find a crack, and be set. With a separate full version, people also have to find the actual full version program, along with the crack.

Restrictions on Trial Version
The restrictions on the trial version also need to be finalized. Here are several possibilities. The trial will most likely use a combination of them. Feel free to suggest your own ideas:

- 30 day trial
- Allow BarCreator to be run x amount of times
- Limit the amount of bar elements on a trial version bar

To summarize, I'm seeking advice on how to differentiate the trial version from the full version, and how to best close the sale (ie convert a trial user into a full version user).

BrewKnowC
03-12-2004, 01:48 PM
I remember reading on these forums a similar problem with an alternative solution.

If I remember correctly it went something like this:

1) User downloads/installs program.
2) After a set period of time, a certain feature is disabled
3) Then another period of time, another feature
4) Until finally there is very minimal functionality left

I have no experience with this method but it sounds interesting.

Tom Cain
03-12-2004, 01:53 PM
Very nice app.

If your strategy relies on getting users dependent on the features of the bar, you may want to consider not crippling features at all in the trial version. Feature-crippling may serve to lessen choice b, but could also lessen choice a if users don't get the full experience.

In the Palm OS world where I have experience, many tool programmers allow all features to work for the trial period then disable the tool completely. They don't differentiate between the trial and final versions at all during the trial period, except for reminder screens.

Some cripple features after the trial period rather than disable, which I feel works better. They do this regardless of the potential of cracking the time trial. In fact, on Palm OS "cracking" a time trial just means deleting the application and reinstalling it. So these developers mainly rely on the honesty of users to purchase, and I've never heard an account where someone felt this did not work for them.

On the Mac platform there used to be a very popular shareware application similar to your CustomBar called "PowerBar". It was not nearly as feature-rich as your application, but one did get addicted to using it. The only protection it offered, as I recall, was a time trial expiration. If it had been feature-limited, I don't think I would have gotten addicted and bought copies for everyone in our agency.

I realize software cracking isn't as rampant on Mac and Palm OS as it is on Windows, so there is more concern. If I had more relevant experience I would share it, but hopefully this perspective has some value for you. Good luck with the application, it looks great.

-Tom

escotia
03-12-2004, 01:57 PM
Hi,

For the purposes of your trial, it's clear that during AND after the trial that c) is your worst scenario, much worse so than b) since:

- this indicates the type of user that doesn't want to pay anyway
- there are other ways of controlling piracy
- some users won't find a crack and will be compelled to buy

From this, it follows that your best strategy is to avoid c) at all costs.

Clearly, having the bar no longer function is not an option. This will almost certainly lead to people uninstalling it, since it no longer functions and will simply be dead space. Much better, I would suggest is to follow your idea of limiting the bar once the trial has expired. I suggest that not allowing it to be further customised, since this seems to be its' USP, may provide enough of a limiting factor.

This is probably a longer term approach than most downloadable games take, since it may take a finite amount of time for the user to want to make a change to the bar. However, when the time comes that they do want to make a change, you will have forced options a) & b) onto them.

Best of Luck

SC

MiceHead
03-12-2004, 02:46 PM
1) User downloads/installs program.
2) After a set period of time, a certain feature is disabled
3) Then another period of time, another feature
4) Until finally there is very minimal functionality left

Interesting -- but I wonder if the user will get the impression that CustomBar degrades through use. :)

The time-limited trial seems to work best with utilities, though I wonder about the proper length? Norton Antivirus, for example, came free with my new tablet. The 6-month trial was certainly long enough for me to consider it a useful utility, (and not just a test-drive), and I've now come to rely upon it. If it were a 30 day-trial, I might have simply tossed it.

The 'right' time likely varies.

Lizardsoft
03-12-2004, 07:00 PM
Thanks for all the awesome thoughts. I agree that group C needs to be avoided the most, since they are potential customers that for one reason or other don't buy the program even though they like it. This thread has really put things into perspective.

I guess the big issue then is not having CustomBar disappear from the person's life immediately after the trial period is over. By being always there (assuming a user that is actively using it and has a bar set to always start-up, which describes most of the potential sales), CB has a chance to make a strong case for itself after the trial period has ended and the user has chosen not to purchase right away. I'm still unclear on what the best course of action is though.

There are several possibilities for what to do when the official trial ends. Here's a few of the ones that I am aware of:

- limiting access to BarCreator while still allowing CB to work for another 15 days
- limiting access to a portion of the bar (ie. a 150 pixel wide register me notice)
- daily registration reminders
- on larger labels, periodically change the text to a registration reminder for 15 seconds

I'm still torn on whether to make the fulll version a separate .exe. Tom raises a good point about feature limiting being bad, but if I go with a separate .exe, that will only work if there is a feature limiting portion (otherwise people can just crack the stupid trial and not ever have to worry about registration numbers). With a single morphing .exe I see two major flaws:

1) Doesn't do enough to "keep honest people honest". Once someone cracks the time trial, that's it, game over. They don't even have to bother with the key system (which I spent a lot of time on).

2) Lowers the tangible benefit of registering. If you register and get a "full version" with some extra features and lacking a limitation like "only 20 elements on the bar", you feel like you've actually purchased something. If all you get is a registration code that you input into the trial version, it is a lot less satisfying. This might cause people that would choose A to choose C, since people want to feel as though they actually purchased something "real" (big problem with shareware in general; it would be oh so nice to ship physical boxes).

entell
03-12-2004, 07:04 PM
LizardSoft, it is usually harder to implement dependable, hardcore security/anticracking algorithms when you near the end of your software development. I am not sure how much time you spent designing your algorithms which will protect your code from pirating, however, generally speaking, adding these algorithms in the last minute produces executables that are very easy to crack.
They need to be embedded deep in your app to be really effective. It is hard to do that after most of the app is written.

There are quite a few threads on the Dexterity forums talking about what anticracking schemes ro consider. I suggest you take a look at those first (in case you already didn't). Here is one of the more recent ones:

http://www.dexterity.com/forums/showthread.php?threadid=2453&highlight=crack%2A+OR+anticrack%2A+OR+piracy

I have recently read a book that I could recommend:

http://www.amazon.com/exec/obidos/tg/detail/-/1886411794/qid=1079148963/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/104-5766260-0123921?v=glance&s=books&n=507846

It is a quick read. Most of the book is dedicated to code that you can use to protect your application. It is not the bible for crackproofing, but the book presents quite a few good tricks.

If you want to go deeper down the rabbit hole, here is another link:

http://www.mpowernet.com/kamal/www.fravia.org/academy.htm


I will finish my post with a quote from Joel Spolsky (www.joelonsoftware.com). I personally like his philosophy on this topic.

"My philosophy is that the goal of licensing is not to prevent cracks, which will happen no matter what you do... it's to prevent legitimate, otherwise honest users from stealing additional licenses because it's more convenient than getting a purchase order approved. So the goal is just to increase the difficulty of hacking your software up to, and no further than, the point at which it's more convenient to pay than to hack. The goal is to 99% compliance from the people who are able to pay, without worrying about the people in third world countries and the kids at home who would never pay no matter what you do, because they just don't have the money"

entell
03-12-2004, 07:14 PM
Originally posted by Lizardsoft
1) Doesn't do enough to "keep honest people honest". Once someone cracks the time trial, that's it, game over. They don't even have to bother with the key system (which I spent a lot of time on).

Buying your app should be less of a hassle than finding the crack for your application. Cracks will eventually pop up. Especially if your app is a hit! The worst case scenario is when someone buys a copy of your app legitimately (or with a stolen credit card) and posts it on his/her warez website. That completely bypasses your protection scheme now, doesn't it? :)

I think the key is to steer your customers away from those warez sites altogether. Some people do download warez apps, but most people don't like the act of doing it (unlike downloading MP3s which appears to be more legitimate since you don't have to visit any websites really). If you give your customers incentive to buy it from you rather than search for those *dirty* sites and get your product from there, then you'll get lots of a) type business in my opinion.

You've got to keep your comm channels open with your customers, be their pals, develop long term bonds. That'll keep most of them away from those warez sites. Also keep posting little releases frequently (once a month?) to make any cracks obsolete when/if they come out.

Lizardsoft
03-12-2004, 07:57 PM
I've already resigned myself to the fact that the app will be cracked. Yes, I do have some plans for making the crack a pain to do, but the idea of a time-based protection is fundamentally flawed. This is why I am partial to releasing a different full version .exe. Simply leaving the demo to morph into full means that the cracker only has to remove the time check, which even I can do. The key system is far stronger and by forcing crackers to have to deal with it, that's far more work for them to get at the complete version. Inevitably some real keys will be leaked, and future versions will have to check against known leaks, but I don't anticipate too many leaked good codes.

Thanks for the links. Unfortunately the essay site has a lot of broken links but there's some really good stuff there none-the-less. I'll make it my goal for 2004 to learn how crackers operate ;)

You've got to keep your comm channels open with your customers, be their pals, develop long term bonds. That'll keep most of them away from those warez sites. Also keep posting little releases frequently (once a month?) to make any cracks obsolete when/if they come out.

I highly agree with this statement and am happy to say that frequent releases and a big emphasis on community are both in planned (forums are actually already up and being posted on, site will be up soon).

Sirrus
03-12-2004, 08:36 PM
I would highly recommend Armadillo and use day expiration (www.siliconrealms.com)

Very solid encryption/keygeneration/protection plus ability to use reminders, etc.

Alex

entell
03-12-2004, 09:04 PM
Originally posted by Lizardsoft
Thanks for the links. Unfortunately the essay site has a lot of broken links but there's some really good stuff there none-the-less. I'll make it my goal for 2004 to learn how crackers operate ;)


I forgot to mention that most of the broken links actually exist elsewhere on the internet. Let's say there is an article you want to read that is supposed to be at the following link (which is actually broken as of right now):

http://www.mpowernet.com/kamal/www.fravia.org/rizla.htm

Then all you need to do is google the following keywords:

rizla fravia OR rizla woodmann

I was able to find most of the broken links this way. These articles are invaluable in teaching you how reverse engineering is done. The posted articles are meant to be for "educational purposes" and we can all use free education! :)

Since it sounds like you might choose to go down the rabbit hole, here are a few more links. These sites are pretty much all linked together. You'll arrive at these links sooner or later. I thought it would be nice to post them here and archive them in the forum:

http://www.woodmann.net/fravia/
http://community.anticrack.de/index.php
http://woodmann.cjb.net/

If you plan to use a commercial anticracking software such as Armadillo, these sites serve as a great resource to see how strong/weak their protection is. You can get a pretty objective opinion by looking at the posters' messages. For example, it appears that Armadillo's latest version has pretty strong protection based on my latest search on these forums.

Good luck with your app!

Lizardsoft
03-13-2004, 08:28 AM
Thanks entell! The whole broken links and google is a tad annoying but I'm enjoying the info there a lot. Already learned some good tips on things I haven't thought of (and got a confidence boost when they mentioned doing stuff I had already thought of doing or done). Spent a good portion of last night reading :)

Armadillo might be something to consider for the future, but I'm having way too much fun with this stuff to pay someone else to do it for me. The price is surprisingly cheap though (Basic is enough, right?)

entell
03-13-2004, 09:02 AM
Originally posted by Lizardsoft
Thanks entell! The whole broken links and google is a tad annoying but I'm enjoying the info there a lot. Already learned some good tips on things I haven't thought of (and got a confidence boost when they mentioned doing stuff I had already thought of doing or done). Spent a good portion of last night reading :)

Glad I could help!

Originally posted by Lizardsoft
Armadillo might be something to consider for the future, but I'm having way too much fun with this stuff to pay someone else to do it for me. The price is surprisingly cheap though (Basic is enough, right?)

As long as your scheme keeps your customers away from warez, however much you want to implement should suffice. I am guessing it is not the wisest way to use your resource to wage war against the entire cracking community. Then again, that probably should not be your main goal anyway.

One more tip... If you have trouble with crackers in the future, you might be able to reason with them. At least with the elitest. For example the dudes who run the websites I posted above (such as +fravia and +orc), are amongst the elitest (as far as I can tell). They do this for freedom of information and education of all. It is noble I guess if you look at it from their perspective. If you ask them kindly not to post cracks on their websites, they will usually agree and also tell their elite friends not to do it either. By the way, the fact that your app is cracked by them is apparently a big honor. If you can impress them, they'll leave you alone. :)

Lizardsoft
03-13-2004, 09:47 AM
Yea, that's true, it's not the cracking that's the problem, it's the distribution of the cracks. The amount of people capable of cracking software themselves is insignificantly small.

"Now, please, try to understand: you may NOT use Micro$oft's puke on my site! (Watch it! Some pages just " play" hostility, some are seriously M$IE hostile, so: don't complain you have not been warned! :-) "

The hostility towards MS on these pages is amazing.

entell
03-13-2004, 10:11 AM
Originally posted by Lizardsoft
The hostility towards MS on these pages is amazing.

I try not to judge anyone for anything. I just go to the sites, get my info and leave. :)

Lizardsoft
03-13-2004, 01:13 PM
I'm using IE though. Oh well, seeing as they are 1997 pages and advocating NS 4, I guess it's safe to assume that whatever junk they put there is long patched against.

I'm having a lot of fun with this stuff. The gallery of stupid protections is very useful, along with the 14 commandments. I'm happy to say the trial part of the program is well underway now, although I'm still not 100% sure how I'll handle expiration. This is one of those times where using a language with a powerful preprocessor and the ability to inline assembly is an incredible blessing. :)