Infralution Support Forum Index Infralution Support
Support groups for Infralution products
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Using For The First Time

 
Post new topic   Reply to topic    Infralution Support Forum Index -> Licensing Support
View previous topic :: View next topic  
Author Message
HandyMac
Guest





PostPosted: Sun Jul 29, 2007 3:27 pm    Post subject: Using For The First Time Reply with quote

I hope that some honest feedback will be appreciated about my initial experience. The following comes from a newbie who has been struggling to get to grips with this licensing system.

I purchased the Infralution licensing system this morning. I hadn't bothered going thru the evaluation exercise, positive feedback from many people on these forums was very persuasive that I had found what I was looking for. And unlike some other popular alternatives the cost wasn't prohibitive. Besides which, as I was going to purchase anyway I saw no point installing then having to uninstall etc.

I have spent several hours today trying to piece together how to use this software. I'm getting there, but there's some way to go yet. Obviously if I run into problems I can ask questions here. I don't specifically have any questions to ask right now, though I'm not there yet.

However, from my initial experience my feeling is that there's something important missing from the product. There is no yellow brick road which you can use to create a licensed application (or in my case a DLL I intend to deploy on an ASP.NET web site). I appreciate that there are several decent example projects which give the information, but I've found it does take time to pick my way thru those. What I needed was a bullet point list of things I had to do to make this licensing scheme work.

I think a big improvement would be if there was a help topic or other document which stated in clear terms what was necessary to create an Infralution-enabled solution. Let me give examples of what I mean below.

Firstly, it wasn't really clear that I needed to add some class modules to my C# project (and I still don't know whether I've added all that I need). So point 1 would be to advise users that as a minimum they need to add classes A, B and C to their software project. The examples provided add a reference to Infralution.Licensing - they don't provide projects with the class modules already attached. I spent a little time (not very much) adding that same DLL reference to my project until it suddenly dawned on me that actually I needed to embed the classes which had been provided as a result of purchasing a license. Sounds dumb I know, but it's what happened.

Secondly, it was not much better having found that I needed to add these classes what I needed to do next to make everything tick. A nice simple example of setting up a licensed product, creating a working license key and showing which calls had to be made to make the product licensed would have helped me a lot. Just take the user through the process one time. I am still struggling with this now.

Thirdly, in the examples I've seen there is a reference to a constant named LICENSE_PARAMETERS, which is a humungous long string. I'm sort-of getting there with respect to getting this generated by the License Tracker application, but it isn't very intuitive. To generate that LICENSE_PARAMETERS string I have to go to the products tab of License Tracker, right-click on the product, that pops up another dialogue, and Captain Clueless here spent some time wandering around aimlessly until he realised that clicking on the 'Validation Parameters...' button on the bottom of that dialogue produced the necessary LICENSE_PARAMETERS string. I'm still clueless with what the 'Generate Keys at Point of Sale' does (that'll be in the online help somewhere no doubt). The File/New menu has an option marked 'Evaluation...', which when clicked presents another large dialogue - it might seem straightforward where this is going but right now I'm looking at something which isn't very intuitive. So I've generated a license key (after creating a customer, product and distributor), now I've got to select this key for evaluation and there's another piece of information it is asking for called 'Reference' - I'm missing something here.

Fourthly, and this is really a re-iteration of my second point, having got what looked like at least some of the data I needed I then lost the plot trying to understand what went where to get the EncryptedLicense and EncryptedLicenseProvider classes ticking. Presumably that LICENSE_PARAMETERS string gets burnt into the compiled executable, or does it? The instantiator for EncryptedLicense takes 3 parameters - a key, a serial number, and product info. Captain Clueless arrives on the scene again scratching his head about where these parameters come from. For example serial number - WTF did that come from? I haven't seen any reference to serial numbers on the various dialogues I've visited so far, so do I make this number up or have I missed something?

So bottom line is that I really do like what I'm seeing with this product. But it would be really helpful to have had some very simple documentation about setting up and enabling a software product to show how someone could go from first principles to enabled product. At the moment the online help (which is quite good) is slightly too high a level for my liking, what I really needed at this early stage was a very simple roadmap of how to get going - then if I need to enhance the arrangement I would have something simple to build on.

Sorry if this sounds like a bit of a moan - it certainly isn't intended to be, I just feel that Infralution could potentially be missing some customers by not providing a very simple roadmap of how to enable a software product. I know this is going to be the product I had hoped for, however I'm struggling to get off first base.

One thing which would have really helped me to get started today would have been if after purchasing a license the downloads which followed included a bog simple application which had the ability to be licensed. There is one called 'MyApp', but it has the reference to Infralution.Licensing rather than the classes added, and I would rather have seen an example with the classes implemented - that way I could have single-stepped thru the executable code (which I can't do with the DLL reference). Also, MyApp would be a whole lot better if it had a button on the main screen 'Click to enter license' - if you pass by the license dialogues on the way in you have to close the application and restart.

Andrew
Back to top
Infralution



Joined: 28 Feb 2005
Posts: 5027

PostPosted: Sun Jul 29, 2007 11:12 pm    Post subject: Re: Using For The First Time Reply with quote

HandyMac wrote:
I hope that some honest feedback will be appreciated about my initial experience. The following comes from a newbie who has been struggling to get to grips with this licensing system.

Thanks for the feedback - we will try to address the issues raised.

Quote:
I think a big improvement would be if there was a help topic or other document which stated in clear terms what was necessary to create an Infralution-enabled solution. Let me give examples of what I mean below.


The "Getting Started" section in the help is intended to give a step by step guide to licensing a simple application. One issue however is that you can use ILS in quite a few different ways for licensing applications, components, compact framework apps, Web Applications etc. The idea was that we would give a step by step guide for a basic Windows Forms application (which most developers are familiar with) and the extra topic that outline the differences for other scenarios.

Quote:
Firstly, it wasn't really clear that I needed to add some class modules to my C# project (and I still don't know whether I've added all that I need). So point 1 would be to advise users that as a minimum they need to add classes A, B and C to their software project. The examples provided add a reference to Infralution.Licensing - they don't provide projects with the class modules already attached. I spent a little time (not very much) adding that same DLL reference to my project until it suddenly dawned on me that actually I needed to embed the classes which had been provided as a result of purchasing a license. Sounds dumb I know, but it's what happened.


99% of our customers use the evaluation DLL to trial the software before they buy. The sample projects are set up to use the DLL for this reason. For obvious reasons we don't want to distribute the source for the DLL classes before you purchase. We could do better in describing the steps in moving from evaluation to use the source code classes.

Quote:
Secondly, it was not much better having found that I needed to add these classes what I needed to do next to make everything tick. A nice simple example of setting up a licensed product, creating a working license key and showing which calls had to be made to make the product licensed would have helped me a lot. Just take the user through the process one time. I am still struggling with this now.


The "Getting Started" help section is meant to do this - in conjunction with LicensedApp sample project. Maybe take another look at this and let us know if there are specific steps in it that are unclear.

Quote:
To generate that LICENSE_PARAMETERS string I have to go to the products tab of License Tracker, right-click on the product, that pops up another dialogue, and Captain Clueless here spent some time wandering around aimlessly until he realised that clicking on the 'Validation Parameters...' button on the bottom of that dialogue produced the necessary LICENSE_PARAMETERS string.


The License Tracker application is intended to allow you to manage customers and license keys. It is a moderately complex piece of software - and as you have pointed out generating license parameters using license tracker requires you to go through a number of steps. That is why in "Getting Started" we recommend that you use the much simpler "License Key Generator" while you are getting used to the way ILS works. It provides the bare bones that you need to be able to generate and validate a license key. License Tracker does much more - and when you are learning some of this extra stuff just gets in the way.

Quote:
I'm still clueless with what the 'Generate Keys at Point of Sale' does (that'll be in the online help somewhere no doubt).


It is in the "Using License Tracker" section under "Generating License Keys".

Quote:
The File/New menu has an option marked 'Evaluation...', which when clicked presents another large dialogue - it might seem straightforward where this is going but right now I'm looking at something which isn't very intuitive.


You can use License Tracker to record both evaluations and actual sales. Generally most ILS users do not require users to enter license keys for evaluations (trial periods). Instead their application will simply run in evaluation mode for a set period if no license is installed (using the EvaluationMonitor class to check the trial period). For those customers who do issue license keys for evaluations (or wish to record downloads) License Tracker allows them to do this.

Quote:
So I've generated a license key (after creating a customer, product and distributor), now I've got to select this key for evaluation and there's another piece of information it is asking for called 'Reference' - I'm missing something here.


Normally when you make a sale there is some external reference (for instance the PayPal reference number) that you want to record to enable you to cross reference the sale. License Tracker is really set up to facilitate the business process of managing the sale/licensing process. While you are getting familiar with the fundamentals of ILS you would be much better off using the "License Key Generator". Once you have conquered this, License Tracker will seem much more logical (hopefully)

Quote:
Fourthly, and this is really a re-iteration of my second point, having got what looked like at least some of the data I needed I then lost the plot trying to understand what went where to get the EncryptedLicense and EncryptedLicenseProvider classes ticking. Presumably that LICENSE_PARAMETERS string gets burnt into the compiled executable, or does it?


Have a look again at the "Getting Started" section and the LicensedApp sample. Below are the core steps you need to license an app (extracted from the LicensedApp sample:

Code:

//  License Validation Parameters String copied from the License Key
const string LICENSE_PARAMETERS =
    @"<LicenseParameters>...</LicenseParameters>";

// Get the common data directory
string _dataDir = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

// The name of the file to store the license key in
string _licenseFile = _dataDir + @"\LicensedApp\LicensedApp.lic";

// create the license provider used to get/install the license
//
EncryptedLicenseProvider provider = new EncryptedLicenseProvider();
EncryptedLicense license = provider.GetLicense(LICENSE_PARAMETERS, _licenseFile);

// check if there is a valid license for the application
//
if (license == null)
{
     // if there is no valid license then display the standard license install form
     // to allow the user to enter a license key
     //
     LicenseInstallForm licenseForm = new LicenseInstallForm();
     license = licenseForm.ShowDialog("MyApp", "www.mycompany.com", _licenseFile);

     if (license == null)
     {
         // still no license - so exit the application or limit functionality
     }
}



Quote:
The instantiator for EncryptedLicense takes 3 parameters - a key, a serial number, and product info. Captain Clueless arrives on the scene again scratching his head about where these parameters come from. For example serial number - WTF did that come from? I haven't seen any reference to serial numbers on the various dialogues I've visited so far, so do I make this number up or have I missed something?


As seen in the code above you don't create an instance of EncryptedLicense directly - you use the EncryptedLicenseProvider to get the EncrypedLicense. The serial number is automatically generated by License Tracker to give each license a unique serial number. If you use the License Key Generator to generate the license then you can set the serial number manually.

Quote:
One thing which would have really helped me to get started today would have been if after purchasing a license the downloads which followed included a bog simple application which had the ability to be licensed. There is one called 'MyApp', but it has the reference to Infralution.Licensing rather than the classes added, and I would rather have seen an example with the classes implemented - that way I could have single-stepped thru the executable code (which I can't do with the DLL reference).


To convert the LicenseApp sample project from using the DLL to using the source code follow the steps below:

1. Remove the reference to the Infralution.Licensing DLL
2. Add the EncryptedLicense, EncryptedLicenseProvider, LicenseInstallForm and EvaluationMonitor classes (from the Infralution.Licensing project source code zip) to the project.
3. Compile
_________________
Infralution Support
Back to top
View user's profile Send private message Visit poster's website
HandyMac
Guest





PostPosted: Mon Jul 30, 2007 5:34 am    Post subject: Reply with quote

Thanks for that. I found the Getting Started section in the help after I had posted the initial message, and that did indeed answer some of my queries. Still slightly detailed as an introduction though, could do with starting with a bullet point list of things which have to be done to get the product implemented, then get into the nitty-gritty afterwards. If I've got the product nearly working I don't want to have to trawl thru reams of text figuring out which bit I've left out - that bullet list could instantly remind me "heck, I haven't done that yet!".

Perhaps one improvement that could be made would be if the help file had a contents section (most help files do), then right at the top could be a link to Getting Started. At present the only presentation is the searchable list of topics, which is okay if you know what you are looking for or need to get information about something specific.

Also, when you start the help it takes you to the Overview page which is orientated towards justifying why the product is necessary. No link to Getting Started on that page. Would be worth either adding a link to Getting Started at the top of that page, or perhaps start with the Getting Started page and put a link to Overview on that.

Or perhaps the best option of all might be a new welcome page showing a list of ordered important topics, with Getting Started and Overview at the top. The current arrangement leaves it to the user to wander around eventually finding what they need. When I've authored help files that welcome page has eased the user into navigating the help, whereas in this one your welcome page is trying to justify the need for the product - my guess is that anyone who has got as far as the help is most probably already on-side with respect to whether licensing is appropriate.

Andrew
Back to top
Infralution



Joined: 28 Feb 2005
Posts: 5027

PostPosted: Mon Jul 30, 2007 5:45 am    Post subject: Reply with quote

Quote:
Perhaps one improvement that could be made would be if the help file had a contents section (most help files do), then right at the top could be a link to Getting Started. At present the only presentation is the searchable list of topics, which is okay if you know what you are looking for or need to get information about something specific.


There is indeed a Contents tab (down the bottom of the Microsoft Document Explorer). I'm not sure why you're not seeing that. You can also open the help from within the Visual Studio help collection and see the contents from there.

Quote:
Also, when you start the help it takes you to the Overview page which is orientated towards justifying why the product is necessary. No link to Getting Started on that page. Would be worth either adding a link to Getting Started at the top of that page, or perhaps start with the Getting Started page and put a link to Overview on that.

Or perhaps the best option of all might be a new welcome page showing a list of ordered important topics, with Getting Started and Overview at the top. The current arrangement leaves it to the user to wander around eventually finding what they need. When I've authored help files that welcome page has eased the user into navigating the help, whereas in this one your welcome page is trying to justify the need for the product - my guess is that anyone who has got as far as the help is most probably already on-side with respect to whether licensing is appropriate


We'll have a look at doing one of these options
_________________
Infralution Support
Back to top
View user's profile Send private message Visit poster's website
HandyMac
Guest





PostPosted: Mon Jul 30, 2007 6:19 am    Post subject: Reply with quote

Infralution wrote:
There is indeed a Contents tab (down the bottom of the Microsoft Document Explorer). I'm not sure why you're not seeing that. You can also open the help from within the Visual Studio help collection and see the contents from there.


Oh drat and blast and may your camels lead wonderful lives. It's this new Microsoft help arrangement caught me out - tabs on the bottom left corner of the screen (I'm used to top left). I've been using computers for long enough that I really ought to know my way around better than this....

I presume that when the help is first installed it defaults to the index first, rather than contents? If so would it be possible to inform the help to start with the contents first? I think that one change would have saved me a shedload of time yesterday.

Your user help is in the main quite good I think - it's just the navigation that has been the issue for me.

Andrew
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Infralution Support Forum Index -> Licensing Support All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group