In the today’s world of software I think it is safe to say that the majority of applications offer some type of demo or trial.
For example, I offer a fully functional trial of iDeskCal for 14 days.
There are many different ways a developer/company can do/offer demos/trials.
I am not going to go into all the different ways and their pros and cons (perhaps I will in another post later).
What I want to talk about today is one thing you should NOT do no matter how you choose to implement your demo/trial.
The inspiration for this post comes from a real world experience that I had recently when trying out a trial from a company, who will remain nameless as this post isn’t about blasting them but instead educating developers no matter what platform they write for.
Recently I needed to try and recover some accidentally deleted photos.
I found an app that seemed to be exactly what I was looking for, and was excited because they offered a trial version with the statement that you can find out if their app can restore your files before you pay for the app.
I say I was excited because from my experience backup and recovery applications are ones the tend to break my rule above about most offering trials.
As I was searching a 1TB drive it took 13 hours to complete the search.
It is at this point that the app gives you a list of pictures to view and select to restore, so I started selecting items from the 70Gig worth of images it found (which took a while).
I hit restore forgetting that I was still in trial mode, at which point the application reminded me that to restore I needed to purchase a license.
Up to this point everything with the trial was fine.
There are some things they could have done to make it even better, but in general it was fine.
But this is the point where it took a face dive as well.
I am redirected to their website, as expected, and I purchased a license.
After purchasing I was expecting to get a serial number or registration file, but alas no….
It was at this point (and ONLY this point) that I was informed that the trial application executable was ONLY a trial executable.
I now had to download their app a second time, this time without limitations.
Which meant that after running for 13+ hours I had to lose everything I had done.
This is the main point of this post.
Let me say this clearly and to the point….
DO NOT DO THIS!
Now that were clear, let me explain the reasons why you should not do this.
Lets start with the general aspects that apply to any program.
Firstly, there is no reason to make your customer download your program again.
By them purchasing you should be making their life easier not harder.
Secondly, depending on your programs focus there is a good chance that a large amount of your customers are not going to be geeks.
In fact the opposite is more likely to be true.
Chances are that most of your customers will the type that know just enough to get around, or less!
This means any extra steps in your process adds to the chance for confusion.
This is bad is very which way, as it frustrates the user who is likely to make that frustration known to others, as well as increases the chance that you will receive a support request, which if you are a small development shop means you have to stop coding to respond to the support request.
Last yet most importantly, If your program lets users do any kind of data manipulation give the user a way to save that data, so by purchasing they do not lose anything they did in the trial.
If your trial doesn’t let them save without purchasing, then you REALLY should not be having separate executables.
At VERY least give them the ability to save into a proprietary file format, that you can go as far as encrypting if you need/want.
Along with this, make sure that the user can Open that saved data after installing the full version.
I was stung with this as well.
I was able to save my 13 hour search results, but when I tried to open them in the full version, the app would just crash no matter how many times I tried to open it.
Whatever you do just make sure they do not lose their work/changes!
So in conclusion, when coming up with how to do the trial for your program try and make the process as smooth as possible.
Try and make it so the user has to do a little work as possible.
Remember: Don’t screw over your paying customers just to try and keep your app from being pirated.

