Thanks for that Jean-Yves - your ideas and solutions have made me feel more positive.
So, lets get back to the licensing. Lets' say that I have the dongle scenario all worked out (but forget about the wifi option at this stage), then what?
I release the software with a "timed" limit. I think the standard would be around 30 days? During that time (on start up) the user is warned how many days until the trial ceases - pretty standard stuff. I'm not 100% sure how to code that though, so I'll need some help.
The countdown warning will always inform the user that they will need to contact me to order the dongle if they wish to continue to use the software in it's complete state. By that, I mean that the trial version will be fully functional, but after the trial period ends the user will only be able to import, export and analyze data files. They will not be able to use the recording function without the dongle.
Maybe that is being too generous, but I think that if the recording function is disabled, then that may be enough of an incentive for the user to consider buying the software (dongle).
The hardware device pictured above is a working prototype. If someone actually said "hey, cool - can I buy one of those" then it would take some time to put another one together. Therefore I have to be careful about how I approach "releasing" anything.
So, how do I make a trial version with 30 days limit? I know I could do it via creating an individual version of the program for each potential user, but I'm sure that isn't best practice.