So, you want to implement node-locked licenses into your product’s code. This blog will cover the node-locked licensing model and how to set it up in Cryptolens. For the code examples, please read the following documentation page.
You can also watch this video for the dashboard and code tutorial:
Implementing Node-Locked Licenses
First of all, what is the difference between the node-locked and floating licensing models? With node-locking, count the maximum number of machines that are able to activate that license key. Floating licenses instead count the number of concurrent users. This means that you do not have to deactivate a machine once the device limit has been reached.
Implementing node-locked licenses is effortless with Cryptolens. When creating a new key in the Cryptolens dashboard, you can simply specify the maximum number of machines in the “Advanced Settings” field. As long as that field is greater than 0, that license key uses the node-locked licensing model! For this example, let’s set the limit to 2.
If you go to the product view, you can validate that it works. That license key should now have a field in the “Devices” row that shows how many devices have activated that license key. In our example, it should say “0/2” since no devices have been activated yet.
When you have set up the coding implementation, you will see that number change to “1/2” when the first device activates the key. If you click on the wrench icon to the right of the number “1/2” for that license key, you will bring up a new view.
Here, you can see some parameters relevant to the node-locked model. The machine code of the activated machines, IP, and time are available parameters. This is also where you can delete machines. Simply click on the red cross icon in the last field to the right to deactivate that machine.
Remember that when the device limit has been reached, deactivating another machine is the only way to allow more machines to activate.
So that is how you implement node-locked licenses in Cryptolens! Watch the video above or read the full documentation page to see the code examples.
What is a floating license? Well, a floating license, or concurrent license, is where multiple users can access a software product using the same software license key. This is quite common when selling B2B where a company can buy a license allowing for multiple seats.
This blog will answer some common questions when it comes to floating licenses. We have also made the following video covering this topic:
What is a floating license?
Firstly, what is the difference between a standard license and a floating license? A standalone license can only be activated by a single user on one device. So if a large company wants to buy a software product, they have to buy individual licenses for each employee. With floating licenses, the same license key can be used by a network of users and devices. One advantage of that is that it can help to keep the cost down.
Since this licensing model only counts the number of concurrent users, the company can install the software product on more devices than what is allowed by the concurrent user limit, but the license cannot be used by all devices at the same time.
Great, so how does a floating license work? Well, a floating license has a limit to how many machines or seats can use the same license key simultaneously. When a user tries to access the software product with a floating license key, the software licensing system sends a request to a license server, which checks if the concurrent device limit has been reached. Access will only be granted if the limit has indeed not been reached.
You might also have heard of another term called “node-locked licenses”, so what is the difference between a locked and floating license? With node-locked licenses, the software license system will count how many machines have activated that license key. It will grant the user access to the product as long as the limit has not been reached. Once the device limit has been reached, you have to manually deactivate a machine in the software license system to allow another one to be added.
Implementing floating or node-locked licenses
If you want to implement floating or node-locked licenses for your software business, you can check out Cryptolens. We make it effortless to implement any licensing model in the programming language you love. It is even possible to set up floating licenses in an offline setting, and you can find that tutorial here.
Should you develop a software plugin? That’s a great question, because plugins, or add-ins, are very common today and can really add a lot of value to pre-existing software. Just like WooCommerce for WordPress, Prettier for Visual Studio, and Pipeline for Jenkins.
Today’s blog will be about the advantages and disadvantages of the plugin business model in general, along with some tips on how to code them. If you’d rather watch a YouTube video, we have made the following covering the same topic:
Business benefits when developing software plugins
First of all, plugins and ad-ins are software products that plug into a pre-existing application to add extra features. From a business model perspective, relying on a host application in such a way can be great. It means that you can build your business based on the pre-established name and customer list of the host.
Let’s take WooCommerce for WordPress as an example. How difficult do you think it would have been for WooCommerce to come out with an entirely new platform for building online stores? They would have to spend a lot of time and money on marketing to try to make people aware of the product and understand it. Good thing they decided to develop a software plugin instead!
Being a plugin removes a lot of those issues, because WordPress is already a trusted platform for building websites, and WooCommerce gets a lot of recognition by simply being listed in their store. Plugin developers can then easily get access to a lot of customers, and you can even work in partnership with the host application to get more business opportunities.
Coding benefits when developing software plugins
Sure, that sounds great, but what about the developer’s perspective? Because a plugin operates within the framework of another application, a plugin can take less time and cost less money to develop. You can just rely on the pre-existing framework, APIs, and libraries. This also means that you have less infrastructure to develop and manage!
Plugins are then great because you can truly focus on what you do best, which also helps with innovation. In other words, by working within another application’s framework, you get a lot of pre-written code for free!
Except sometimes, it does not come for free at all…
Disadvantages and solutions
Relying so heavily on the host gives them a very powerful position. For example, developers of host applications have realized all the benefits that plugins face and have begun to charge for them. When selling on their marketplace, a 35% take rate is not uncommon, but I have seen marketplaces take as much as 80% of the revenue from the plugin sales!
In those scenarios, it is a lot more profitable to sell the plugin outside of the marketplace and on your own website. When doing that, you not only get 100% of the money from every sale, but you also get a lot more freedom regarding pricing models. Some stores only allow you to sell a product at a one-time price, which is not always ideal. There are many benefits to be had if you instead sell a product with a subscription fee, for example. You can find out more about different pricing models here.
Software licensing helps you sell independently
Lastly, while marketplaces are not always perfect, they do provide some sense of safety. You don’t have to worry about marketing or getting website visitors, and it is easy to sell a product on marketplaces. If you want more freedom by selling the product on your own website, you need a software licensing system that restricts access from unauthorized users and allows you to implement the pricing model you really want.
Coding those systems can be tricky…
But not with Cryptolens! Our easy-to-use platform makes it effortless to sell your plugins independently, and to alleviate some of the stress, you can even implement software licensing for free, within minutes.
Would it not be great if all products were priced in exact relation to how much value we receive? The usage-based pricing model for software products works just like that!
Read this blog to learn the basics of the usage-based pricing model and see if your next software product can use it to get more customers. Alternatively, you can watch the video we created on this topic:
The usage-based pricing model example
Let’s start off with an example to really illustrate the benefits of usage-based pricing. Say that a company sells a product that automatically edits images based on user input. The one-time price would be high because the product took a long time to develop and has a lot of advanced features. With such a high price, the company can really only attract real photo enthusiasts.
By instead implementing subscriptions, the company gets a much larger addressable market. They can get more customers because subscriptions lower the entry barriers for customers! They could sell a limited version of the product to allow hobby photographers to try out the product at a much lower price. We have already covered subscriptions in this blog.
Now, what would happen if the company began charging the customer a fixed price for every photo that the application edits? Hobby developers would still be able to try the product at a low price since they would not edit that many photos. Real photo enthusiasts would edit a lot more and pay a higher price, but they also receive much more value from the product.
So how is that different from subscriptions? Well, with subscriptions, you have to mess around with pricing plans and feature fits. You simply have to figure out how to motivate advanced users to upgrade pricing plans, and that is not always easy. With the usage-based approach, customers automatically pay more the more they use the product!
Considerations before implementation
Doesn’t that sound great? Well, the issue is actually that not all software products can use the usage-based pricing approach. The pricing model works for photo editing software because the value metric is very clear, the more images you edit, the more value the product generates and the higher the price can be. Not all types of software have such a clear value metric, and I suggest researching how your product is or will be used to figure out if you can implement the usage-based approach.
If you struggle to find a clear value metric, you might want to combine the pricing model with other pricing models for a more effective pricing strategy. You can implement subscriptions and charge extra each month for the use of certain features, or even give a customer a limited number of credit points that are reduced each time the feature is used. If they run out of credits, they have to pay to get more!
Implementing the usage-based pricing model in code
The usage-based pricing model can be a game-changer for some software products, but only if customers think it works fairly. That is why the first step is to investigate your value metric. Then, the second step is to implement the pricing model in code. For that, you need a software licensing system that tracks the feature usage. It also makes sure only people who pay have access to the feature.
This blog covers how to implement usage-based pricing, both in your code and in the Cryptolens dashboard. We will go through two use cases. One is where you charge customers based on their usage of a specific feature. The other one is instead where you give a customer X amount of credit points, and each time they use the feature, one credit point is removed.
You can find the full documentation page here. If you would rather watch a video, we have made the following:
The two use cases for the usage-based pricing model
Let’s start off with the use case where you charge a customer different prices each month depending on how much they use a specific feature. Theoretically, the way to implement that is to track how much the customer uses that particular feature and change them accordingly. Another way is to let customers pay upfront for a specific number of credit points Each time they use a specific feature, one credit point is used up. When they reach 0, they would have to buy more credits.
You can also combine these use cases with other pricing models. One way is to have a standard subscription fee and charge them using a usage-based method for a particular feature. In the first use case, you can simply add the feature usage cost to the normal subscription fee. For the second use case with credits, you can instead give different pricing plans different amounts of credits. The basic plan can come with 10 credits. If they want more, they have to buy them individually!
The use-based approach in the Cryptolens dashboard
Creating and managing usage-based licenses is easy in the Cryptolens dashboard. After you have signed in, go to the product page. Click on a license key to bring up the menu. Scroll down to the section called “Data Objects”. At the bottom of that section, click the text that says “add/edit data objects”.
A data object is a custom variable that you can add to your license in Cryptolens. Data objects can store a string value and an integer value. This is how you track the feature usage!
To get started with the usage-based approach, please create a new data object by entering a name of your choice, for example, “usage of feature 1”. Click on the “Create” button.
Go back to the product page and bring up the license key menu by clicking on a license key. Head back to the section called “Data Objects”. This time, click on the text that says “manage credit usage”.
This page is perfect when you implement usage-based pricing. You can see the usage history, remaining credits, and where you can manually add or remove credit points for that particular license key.
In the “Current credits” cell, you will see the name you have given to the data object responsible for tracking the feature usage. You can see the current remaining credit points in the “Current value” cell. The last cell named “operations” is where you can manually add or remove credit points for that particular license key.
Simulating feature usage
To add 10 credit points, simply give the “Operations” field the value 10 and click on the green plus icon. You will now see that the “Current credits” cell has a value of 10. In the section below called “History”, you can also see a new entry saying that you added 10 credit points to that license key.
You can also simulate actual feature usage. Set the “Operations” field to the value of 1 and click instead on the red minus icon. That removed a credit and added the reduction to the history section.
Please note that all licenses that are using the usage-based approach need to include this data object. We suggest using feature templates to automatically create licenses that include this data object. You can find that tutorial here.
Usage-based pricing model in code
To implement usage-based pricing into your application’s code, we suggest you check out our full documentation page for the usage-based licensing model. You can find that here.
You can also watch the YouTube video we mentioned earlier where we cover code examples in Python.
Should you develop a SaaS application? That question is very valid, because today, SaaS products are everywhere, and they are very profitable too. Just look at Microsoft, Oracle, and Adobe. Some of the world’s leading companies have adopted the SaaS business model, so should you?
Today’s blog is all about the SaaS business model. The advantages, disadvantages, and some tips on how to develop them. We have already made the following video covering this topic:
First of all, let’s make sure that we are all on the same page here. What is a SaaS application? Software as a Service, or SaaS, is a type of cloud-based software where customers are able to rent the use of an app and connect to it, usually using a web browser. A SaaS product does not have to be downloaded or installed because the underlying infrastructure and app data are stored in the service provider’s data center. GitHub, Slack, and Trello are some examples you might be familiar with.
Advantages for customers
With that in mind, a customer doesn’t necessarily buy a SaaS product, they rather buy the right to use it for a limited period of time. The subscription pricing model is commonly used, and we have already made a blog post covering that pricing model. One benefit that I mentioned in that video is that subscriptions lower the entry barriers for customers, and that is also one of the benefits of SaaS products, as seen from a customer’s point of view. It’s just cheaper to get started with subscriptions than a one-time payment!
Another benefit lies within the cloud itself. Since you do not download a SaaS product, customers can use it anywhere, with any device that is connected to the Internet. There are no download or setup time delays, just log in and start!
Advantages when developing a SaaS application
Great, but what about the developer’s point of view? When you begin to code a SaaS app, you can have a lower initial cost because you can leverage cloud services from Amazon, Microsoft, or Google to host your product so you don’t have to invest in hardware.
These providers also make the application very scalable and flexible, you can simply tell them to increase your computing power as you face a higher demand for growth or seasonality reasons. This does not come with any unnecessary overhead costs and can be done pretty quickly. You can then fully capitalize on the high demand!
Disadvantages and solutions when developing a SaaS application
Now, there are also some important disadvantages and challenges we need to consider. If you really want to develop a SaaS application, I also have some solutions to share. One issue is that you have to code a lot of functionalities to facilitate all kinds of users. That can easily take a lot of time and effort. The solution to that problem could be to integrate with third-party products instead of coding everything yourself. For example, some products might benefit from having a sophisticated map function. Why code such a feature yourself, when you can simply integrate your product with Google Maps?
Another third-party solution you can use to save significant time and money is a special type of SaaS product called LaaS, Licensing as a Service. Cryptolens offers such a service! Instead of coding your own software licensing system that controls who has access to your application, you can use Cryptolens.
A final remark on continuous improvements
My last remark will be a bit broader than both the developer and customer perspective. The process of continuous improvement is a commonly used term within business management that refers to the ongoing improvement cycle focusing on employee involvement and customer enjoyment.
The SaaS business model makes continuous improvements easier since you have greater access to usage analytics data. You will then know exactly what features your customers are using in real time, and you can focus on enhancing the features your customers love the most.
Today, subscriptions are everywhere. If you want to watch a movie, you need a subscription. What do you need to listen to music? A subscription! And what about a car? You guessed it, you can actually get a car with a subscription with some brands. But why is that? What made companies switch from perpetual, try-and-buy pricing models to the subscription pricing model for software products?
In this blog, we will answer that question and show you how a subscription pricing model can take your software business to the next level. We have also made a video covering this topic:
Advantages of the subscription pricing model
Firstly, subscriptions are oftentimes preferred over a one-time payment since they significantly lower the upfront cost for your customers. Most people do not have $50.000 in liquid cash to spend on a car, but they might be able to afford $500/month. And although software products are usually a bit cheaper than cars, the logic is still the same.
You can also create different pricing plans to attract different kinds of customers. A basic pricing plan can be sold for a small subscription fee of $50/month for users who will only use the basic functionality of your application. It is then possible to charge extra for an unlimited pricing plan with all features at a higher price, let’s say $350/month. Both newcomers and advanced users can buy your product!
But that’s not all. You can also get more predictability from the cash flow of your business. Instead of having them buy your product and then you never see them again, subscriptions will give your business an MRR – a Monthly Recurring Revenue.
For example, let’s say that you have 10 customers, 8 of them are on the basic plan, and 2 of them are on the unlimited plan. That would give you, in this example, a monthly recurring revenue of $1.000. This is a game-changer for budget planning, you know exactly how much money you can spend on ads each month, for example!
Unless a customer cancels their subscription…
Disadvantages of subscriptions
That gives me a perfect opportunity to cover some disadvantages. The churn rate can indeed be a problem. If you charge customers on a monthly basis, you give them a lot of opportunities to churn. In the previous example, we can see that it would be especially bad for the MRR if one of the 2 customers on the unlimited plan churns since they actually bring in most of the money each month. This highlights a dependence on a few customers that you don’t have if you let customers pay the entire price at once.
You can incentivize people to pay upfront even with subscriptions. A popular way is to offer a slightly cheaper price if customers pay once a year instead of once per month, but that is not always ideal. The churn rate is definitely something to consider before choosing to implement a subscription pricing model.
Implementing subscriptions with Cryptolens
If you sell a software application as a subscription, you need a system that can automatically restrict access to your application from customers who stop paying. The system you seek is a software licensing system, but coding such a system will take significant time and money.
Using Cryptolens and our easy-to-use software licensing system is a lot more effortless! Since Cryptolens is also completely free during the development phase of your application, there is no risk of trying it out. We are trusted by hundreds of innovative and world-leading companies worldwide.
With comprehensive implementation guides in the programming languages you love, you can implement the subscription pricing model within minutes!
Today’s blog will feature how you implement subscription licenses. The use cases you can have for subscription licenses will be covered, and how you integrate your payment provider such as Stripe.
The most common way to implement subscription licenses is the Software as a Service (SaaS) model. That is where you restrict access to the product when a license expires. You can also allow customers to use the product without a valid license, but they are not allowed newer upgrades. You can also tie the subscription to a support agreement so that only people with a valid license get access to support.
All of these methods will be covered today. For the full documentation page on this topic, click here.
We have made the following video tutorial for this topic:
The SaaS Model
The most common use case is where a customer has to pay a monthly or yearly subscription fee to use the product. If they do not pay, their access to the product will be restricted. They would then have to extend the license to continue to use the product. This method is oftentimes seen today with the Software as a Service (SaaS) business model.
In Cryptolens, you can implement this using our pre-made “Expires” field. We already have a blog post covering how to set up time-limited licenses that you can find here.
In short, you have to click on “Edit Feature Names” on the product page and click the checkbox “Treat all licenses as time-limited”. Now, Cryptolens knows that you want to use the SaaS Subscription Model.
When creating a license in Cryptolens, you can specify for how long the license should be valid. If you want to extend the expiry date, simply click on a particular license and you can either choose a date in the calendar or choose to extend the license for X amount of days. You can also automate this by integrating with your payment provider. We cover that topic at the end of this blog.
An important last step to remember is to make sure Cryptolens blocks all expired licenses. You can find that tutorial here, but that should only be done for this method of implementing subscriptions.
Restrict Access to Updates and Support
Some software developers want to continue to allow customers to use the software after the expiry date has been reached. However, without a valid license, a customer cannot get access to updates. This would still incentivize the customer to keep extending their license.
Let’s take an example of how this could work in practice. Let’s say that a customer buys your software at the launch of version 1.0. Their license expires right as you release a minor update, version 1.1. The customer can get access to that minor update and continue to use the product even though their license has expired. However, when you release a major update to version 2.0, the customer is not able to access that version without a valid license.
You implement this version of subscriptions by using data objects. In Cryptolens, you would create a new data object and use it as metadata. Create a new data object and call it, for example, “major_version”. Give the IntValue field the value 1 if you want your version to be 1.0. Click on Create. Now, you have a way to track major releases of your application.
If you want to keep allowing customers with expired licenses to use the product, another way to incentivize them to renew the license is to limit the support given to customers without a valid license. This essentially means that they subscribe to a support agreement rather than to the product itself.
For more information on how to implement this model, please check the full documentation page. For this method, you should not tell Cryptolens to block expired licenses automatically, since you want people to keep using their version of the application.
Implementation with Payment Providers
You can manually extend the expiry date in the Crypolens dashboard, but it might be beneficial for you to automate the process so that the expiry date of a client is automatically extended after a successful payment has been made.
In the Cryptolens API, there is a method called the ExtendLicense method. When a successful payment has been made by a client, use that method when calling our API to automatically extend their license. This method works no matter if you are using Stripe, PayPal, other providers, or even an internal payment system.
For more information, please read this page in our documentation. There, we also have API methods to automatically create a new license key, add features, block the license, and more.
You now know how to implement subscription licenses in Cryptolens!
Choosing between different pricing models can be hard, but it is a crucial decision to get right. Should your software product be sold at a one-time price? Should you charge a continuous subscription fee? Or should you maybe even charge customers differently depending on how they use the product?
These questions will be answered in today’s blog, as I will briefly introduce three of the most common pricing models, Try-and-Buy (Perpetual), Subscriptions, and Pay-per-Use.
You can also find the video that we have made for this blog here:
The Try-and-Buy (Perpetual) Pricing Model
To illustrate some different ways a software product can be priced, consider the case of a music streaming app. They could let you try the application for one month before you have to pay the price of $50 to continue to use it forever, a so-called Perpetual, or Try-and-Buy model. That way, users are able to temporarily realize the value of your product for free, and at that point, they have an easier time justifying the one-time price.
The Subscription Pricing Model
The streaming app could, maybe more realistically, choose to impose a continuous fee. Let’s say a monthly fee of $12. Does that sound familiar? That is called a subscription model, and it can be beneficial from a business model perspective since you get a more predictable cash flow each month, and you might be able to attract users who are not willing to pay that high one-time price. The lifetime value of a customer can still be very high if they continue to use the app for a long time.
The Pay-per-Use Pricing Models
The last pricing model is to charge customers differently depending on how they use the application, the so-called Pay-per-Use model. The music streaming app could charge customers, let’s say $1, for every hour of streamed music. The more you use the application, the more you pay at the end of the month! This can create a more fair pricing plan – big users of your product pay a high price but they get a lot of value, small users pay a bit less but at that price, they still think it’s worth it.
Implementing Pricing Models with Cryptolens
So how do you implement these pricing models in practice? It all begins with a software licensing system. In short, the system is linked to your payment provider such as Stripe or PayPal, and it makes sure that only people who pay get access to your application.
With Cryptolens, you can implement an easy-to-use software licensing system within minutes with our comprehensive guides. Hundreds of innovative companies are using our licensing as a service (LaaS) platform to license all kinds of applications.
When developing a software application, many ask how they should implement a software licensing system. Should you code it yourself? Should you outsource software licensing?
I would generally say that outsourced software licensing is the most scalable, reliable, and cost-effective solution in the long run. This blog will cover exactly how a third party can help software developers save both time and money!
We have made the following video covering this topic as well:
Coding it yourself
First of all, what is a software licensing system? We have a short blog post covering that topic that I recommend you to read if you are unsure. You can find that blog post here.
This post will be all about implementing such as system in practice. One way is to code it yourself, and there are some situations where you might want to do that. If your application is not supposed to be sold on a large scale, and you want to grow your coding skills, coding a software licensing system can be a fun project for hobby developers.
You might also say that coding it yourself is the economically smart solution since you pay with your own time rather than your own money. That argument falls a bit flat when considering that some software licensing providers, such as Cryptolens, are completely free during the development phase of your application.
You can then implement software licensing without any risk!
Outsource software licensing – the benefits
Coding your own system will take time. Implementing a third-party solution is a lot more effortless, allowing you to quicker bring your product to the market. This also helps you save money, since there is no internal development cost.
So outsourcing helps you save both time and money, but let’s say that you completely ignored our recommendations and coded your own system anyway. You may suddenly find yourself in a problematic situation – your company grew so much that your self-coded system is no longer able to support your needs. Constantly getting angry emails from customers saying they can’t access your product is never good. This highlights the fact that a software licensing system needs to constantly be updated and maintained to work flawlessly.
What about coding your own system at first, and then switching to a third party when the maintenance gets out of hand? Well, at that point in time, switching licensing solutions will be a big project that will have an impact on all of your customers. Let’s face it, it is probably easier for your customers to go to a competitor than it is for you to switch solutions at that point.
A final shared value perspective
To conclude this blog, I would like to step away from the perspective of time, money, us and them, and step into a world of shared value – the concept that combines business success with providing value to society as a whole.
By outsourcing software licensing to experts, your company can focus on what truly matters:
Your own product.
That way, your company does not only become more productive and cost-effective, but it also helps you provide more value to your customers, and you make the world just a little bit better.