Limiting your trials – by time or by features?

May 23, 2012 by Priit Potter

The sad truth is that nobody buys software solely based on a slick sales pitch. Everybody wants to get their hands on the piece of software first to find out whether they like it or not. And herein lies a pretty complicated problem – you want your users to fall in love with your product.  At the same time you somehow want to limit the access to the product so that you can monetize it later.

By and large you have two options here – either hand out a fully functional version of your software for a limited period of time and force users to convert to paid plans after the period passes or you somehow limit the functionality / capacity of the free version available. As most of the software industry tends to go with time-limited trials, so did we. But we soon realized we could do better.

In this post we will describe how we reached the conclusion that time-limited trials might not suit us and what we did to overcome the obstacles.

Until now, when you downloaded Plumbr, you got a 45-day evaluation license, which stopped working when the period passed. Quite soon we noticed that even if we offered everyone to prolong the license for free, the process alone caused us lose some users – the very users who had actively used the product for the whole 45-day period. Those cases fell into two categories.

First, there were people who hadn’t found any memory leaks in the trial period. This in itself is nothing to worry about – if you monitor a stable project in a development environment, it can easily happen that you don’t stumble upon a memory leak in 1,5 months. It’s the production where high volume and frequent releases often cause the problems with memory leaks.

Secondly, there were people who had found and solved memory leaks, but didn’t bother to renew the license. I guess our offering was also not the best (prolong the trial for 45 days again and again, until we come up with paid plans) – but even if prolonging the license for free didn’t work with them, could we expect them to start paying once we’d announce the prices?

So even if we offered free extension of the license we lost a significant number of users.  Simply because the structure of the license was rigid and the offering was not attractive.

When we started thinking about paid plans, we decided to tackle the retention problem as well. We wanted to come up with a model that would not require messing with license keys and other extra activities.

In this point we realized that we can also take advantage of the nature of the product. While it offers a way to avoid memory leaks for many, most of our early adopters are still the unfortunate developers trying their best to put out the fire caused by a memory leak. We saw that many users were highly motivated to use the product to solve a specific problem. Why not try to harness this – we thought – and tie them immediately when we help solve their problem?

These are the key points of Plumbr use that we came up with:

  • keep the installation as easy as possible
  • offer a long / unlimited license to use the product for hunting leaks
  • add a hook to the opening of the leak report – display part of the report, but show the most useful details only to paying customers
  • use pricing incentive to encourage people subscribe with a longer term plan, instead of paying for a one-time solution

The hook described above is at the point where the ratio between the cost of using the tool and the alternative cost of using something else (which usually includes involving an external performance expert or someone of your most expensive internal staff) is the highest. Justifying a one time cost of a couple of hundred dollars with the prospect of spending days or weeks on the consultancy of a performance expert should be quite easy. If we cannot convert the user into a paying customer at that point, then we won’t be able to do it at all.

If you are on the  pay-per-leak-report “plan”, you are displayed a payment screen every time you want to open a new Plumbr report. You can then always start a subscription period, or decide that you still want to open the report with a once-off payment.

Similarly, if you have an active subscription you can always end it and fall back to the pay-per-report plan gracefully – without us sending you a new license file or any other bureaucracy.

We also offer volume discounts and sometimes also site-wide licenses for companies with a bigger number of servers/applications to monitor.

Our long term goal, naturally, is to convert as many customers as possible into subscribers, which is an easily understandable cost for customers and yields stable, predictable cash flow for our company. Achieving that is more a matter of wise product development, excellent customer relations, consistent PR, and a bit of luck.

We believe that we’ve removed one more hurdle from the way leading us there.

Can't figure out what causes your OutOfMemoryError? Read more



Just some random thoughts:nnIdea 1: Make the single-incident leak report purchase more flexible by allowing free reports within one week of purchase. Developers and Q&A like to play around. Also to validate the memleak fix.nnIdea 2: Highlight somewhere how this tool compares to things like Yourkit profiler. I’ve seen Yourkit being used for production servers.nnIdea 3: If the leak is smaller than 10MB then offer the full report for free in exchange for filling out a small feedback form? Gives the incentive to keep the tool running. After that send a thank you e-mail with a 20% one time discount code for times with bigger leaks.nnIdea 4: Within 24 hours of finding the leak offer a time-limited promotion of getting the next incident report for free (or -50% discount. split-test candidate).

Ahti Kitsik

well…nnI had it installed. The time was up and plumbr would not let the server run at all. Rather than announce the license issue and stop working, plumbr shut down my entire server. This arrogance pissed me off big time.


That is another issue of time-limited trials – how to behave once the time period is over. You want your user to notice that the time is up and take some action.nnTo be honest, we were not happy with the solution either – and used the re-licensing chance to fix this one as well. Please download Plumbr again (submit your e-mail if you don’t have the original e-mail left) – you will get a new package that doesn’t stop working in 45 days any more.

Priit Potter

Can't figure out what causes your OutOfMemoryError? Read more

You cannot predict the way you die
When debugging a situation where systems are failing due to the lack of resources, you can no longer count on anything. Seemingly unrelated changes can trigger completely different messages and control flows within the JVM. Read more
Tuning GC - it does not have to be that hard
Solving GC pauses is a complex task. If you do not believe our words, check out the recent LinkedIn experience in garbage collection optimization. It is a complex and tedious task, so we are glad to report we have a whole lot simpler solution in mind Read more
Building a nirvana
We have invested a lot into our continuous integration / delivery infrastructure. As of now we can say that the Jenkins-orchestrated gang consisting of Ansible, Vagrant, Gradle, LiveRebel and TestNG is something an engineer can call a nirvana. Read more
Creative way to handle OutOfMemoryError
Wish to spend a day troubleshooting? Or make enemies among sysops? Registering pkill java to OutOfMemoryError events is one darn good way to achieve those goals. Read more