Multiple licence variants

Hi

I'm testing LimeLM using the free trial; so far I have activation/deactivation working nicely.

Thinking ahead to when I launch my product, I don't want to offer a feature unrestricted trial. The unlicensed version will be locked into "evaluation mode" and when you buy it you get all the features. I set trial and grace days to zero to accomplish this.

Now I am thinking about adding a "review licence" so that if someone wants to review my software I can give them full access, but I don't want that person to then get all the updates and preferential upgrades. So maybe the best way to do that is via a trial.

I couldn't find an example for using trials in the API (I'm using C++ on a Mac). Also, it seems to me that I need two sets of product data - one for the normal licence and one for the review licence. Can you suggest how I might achieve this ?

Slightly unrelated, I have a suggestion: it seems to me that TurboActivate stores the number of grace days and/or trial days remaining somewhere safe. Why not also store the number of days since the last IsGenuine check ? It would save us from having to handle that; e.g. TURBOACTIVATE_API HRESULT DaysSinceGenuineVerified(STRCTYPE versionGUID);

I couldn't find an example for using trials in the API (I'm using C++ on a Mac). Also, it seems to me that I need two sets of product data - one for the normal licence and one for the review licence. Can you suggest how I might achieve this ?

Since you've set the trial length to 0 you can just send the prospective customers a trial extension then they can enter that somewhere in your app and your app can call ExtendTrial(). This is probably the easiest way to do things. This way the potential customer will still be in "trial mode".

I can explain another option where you use a regular product key with a feature value that you can set to separate "trial licenses" from "regular licenses". Tell me if you want me to explain this.

Slightly unrelated, I have a suggestion: it seems to me that TurboActivate stores the number of grace days and/or trial days remaining somewhere safe. Why not also store the number of days since the last IsGenuine check ? It would save us from having to handle that; e.g. TURBOACTIVATE_API HRESULT DaysSinceGenuineVerified(STRCTYPE versionGUID);

We're adding something like this to TurboActivate 3.0 coming in about a week.

Thanks for your answer.

If I understand correctly, I would have to make the user aware that a trial extension facility exists, because I couldn't use a generic key entry dialog. I think I'd rather avoid this because I don't want to have to deal with normal users asking for trials.

Would a trial extension key count toward the number of activations and are they as secure as licence keys ?

If you don't mind, I'd like to hear about using feature values. Additionally, if I add feature values does Lime then need a different product data file or would they be completely described in the licence key ?

P.S. The recaptcha on this forum is very difficult! I've never had to refresh so many times to get to legible text.

Would a trial extension key count toward the number of activations and are they as secure as licence keys ?

Trial extension don't count toward the number of activations -- you can use as many as you need to get customers. They are as secure as activations, but you can't use things like license features.

If you don't mind, I'd like to hear about using feature values. Additionally, if I add feature values does Lime then need a different product data file or would they be completely described in the licence key ?

I think we'll have to make an official help topic on this subject because this is a popular question. I covered this just a couple of weeks ago in this forum post. See "Verified trials, option 2". Does that make sense?

The actual feature data is signed & sent to the customer when they activate their product key.

P.S. The recaptcha on this forum is very difficult! I've never had to refresh so many times to get to legible text.

Sorry about that. We know the recaptcha is a pain, but it's the only good way to keep out the spammers. Without it we get hundreds of spam posts every hour.

We'll be adding proper Bayesian spam filtering when we replace this crummy forum software. In the meantime, the way to avoid the recaptcha for every comment is to make user account on this forum. You'll have to fill out the recaptcha once more, but that will be the last time.

Thank you again, your answer covers all my questions.

I understand about the captcha. It threw me a bit when Arabic came up.