Blog on Software Licensing, Commercialization, and Revenue Optimization

Cloud-Based Softare Licening Platform – Why The Cloud Is Better

What is a cloud-based software licensing platform? In today’s fast-paced world, more and more products are moving to the cloud. And sure, there are many benefits with the cloud, such as increased accessibility, reduced infrastructure cost, and greater integration capabilities. But what about cloud-based licensing? Why are many companies moving from physical license keys to the cloud? In today’s blog, we will answer that question and show you how switching to a cloud-based software licensing platform can improve and modernize your business.

If you would rather watch a YouTube video on this topic, here’s one that we have made:

Cloud-Based Software Licensing Platform

First of all, how does non-cloud-based licensing work? One old-school way is to sell a software application on a CD that comes with a license key string on a physical paper. The customer then has to insert the license key string into the application in order to access it. Another physical license key example would be licensing dongles. Software applications then comes with a USB stick which has to be inserted into the computer in order for the software product to be accessible. Neither of these methods feels modern, and keeping track of the physical keys quickly becomes a nightmare. Cloud-based licensing solves this problem!

A cloud-based software licensing platform is a place in the cloud, usually in a web browser. There, you can easily see all of your customer’s license keys, relevant information such as the expiry date, and analytics data regarding how the customer uses your product. So is this method as safe as having physical license keys? Yes, it still keeps the product from being copied and used by non-customers! You can even automate a lot of processes, such as payments, by integrating the platform with other third-party providers.

Cloud-based software licensing platform benefits

The cloud-based solution also gives you more flexibility when it comes to licensing models. Subscriptions, usage-based models, and floating or node-locked models are very easy to set up and manage in the cloud. Each model has its own benefits. In general, the different models give you the ability to price your software product more effectively. A powerful way to implement cloud-based licenses is to also implement a licensing model called account-based licensing. Then, all of a customer’s license keys are stored under a username and password. A customer can sign in with their usual user account, and they never have to worry about keeping track of their unique license key. The customer experience is so much smoother, and with cloud-based licensing, your company has a lot more control and flexibility to manage the license keys.

Implementing Cloud-Based Licensing

So if cloud-based licensing is so much better, how do you migrate to the cloud? Well, the easiest and most cost-effective way of doing so is to outsource software licensing to a Licensing as a Service (LaaS) provider. Then, you don’t need to invest a lot of time and money to code it and maintain it yourself, and you get a lot of integrations and advanced features from day 1. We have already made a blog post that tells you how to choose the best provider for your business. We also have a page about the process of migrating license keys to Cryptolens. I now hope you know more about cloud-based licensing, and why so many products in general are moving to the cloud.

Thank you for reading!

Open-Source License Server – Support Licensing Offline

An open-source license server is a great solution if you are selling a software product to customers who run the application in an offline setting, where software licensing is otherwise an issue. Given the lack of internet connection in, for example, air-gapped networks, your application will not be able to communicate with the software licensing system, and you will lose the ability to manage the licenses.

In today’s blog, I will briefly cover how the open-source license server by Cryptolens helps you out in those situations so you can implement software licensing in an offline setting. Please read our full implementation guide if you want to implement our license server.

We have also made a YouTube video for this blog:

Open-Source License Server

First of all, let’s dig a bit deeper into the problem. Whether you are using an internal software licensing system or working with a Licensing as a Service (LaaS) provider, you most likely need an internet connection to verify a customer’s license key. Then what happens if you want to sell offline applications?

Let’s take the example that you sell your application to a large enterprise. The 3 employees who will use the application are working in an air-gapped environment. When they run the application without internet access, the connection between the application and the software licensing system is lost. That means that the license files cannot be kept up to date.

This is where a license server from Cryptolens comes into the picture. One computer, which is called the license server, is allowed internet access. Then, we let the 3 machines that run the application contact that license server when performing license verification. It is then the license server that contacts the software licensing system. Key verification can now proceed as normal, and we can keep track of this customer’s licenses, even though they are running our application in an offline setting.

Open source license server for offline licensing.

Cryptolens is a Licensing as a Service (LaaS) provider that offers a customizable license server to suit your unique licensing requirements. Our implementation guide and customer support make it effortless to set up offline licensing!

Stripe Integration for Software Licensing Systems

Stripe is a great service provider for setting up subscription payments and pricing plans for software products. However, integrating Stripe with a software licensing system makes it even better. Read this blog to learn more about how the integration can enable you to charge more effectively for your software products and reduce the time burden!

Alternatively, watch the following video we made:

Stripe Integration for Software Licensing Systems

When software developers want to sell their software products, Stripe is a perfect payment provider for setting up recurring payments. However, it is only when you combine Stripe payments with a software licensing system that you realize the full potential. But what do I mean by that?

A software licensing system works as the lock in your application that makes sure only customers get access to your product. They are given license keys, and the validity of their license key is checked by the software licensing system every time a customer tries to enter the product. If you set up recurring payments and different pricing plans with Stripe, you can integrate Stripe with a Licensing as a Service (LaaS) provider such as Cryptolens to ensure the correct customers always have access to the correct features within your product.

Creating a Stripe integration for your software licensing system helps to make it more scalable.

How the Integration Works

Webhooks in Stripe can facilitate communication between Stripe and the software licensing system to make sure the subscription status is correct for each license key. Let’s say this customer on the basic pricing tier tries to enter the product. The software licensing system checks the validity of their license key. Thanks to Stripe, the system knows that the customer has paid their latest subscription fee and will be allowed in. The system will only unlock the basic features to reflect the customer’s pricing plan.

If the customer would have had a subscription for the unlimited pricing tier, all features would be unlocked. That is how a Stripe integration can make recurring payments smoother, especially if you have different pricing plans.

Who Needs a Stripe Integration?

I would say that a Stripe integration is a key factor in making your business scalable. Manually creating license keys and blocking them as soon as a customer cancels their subscription works as long as you do not have that many customers to manage. When you do get a lot of customers, keeping track of all of them will be a big time burden. If you get it wrong, it could have big consequences for your customers!

Cryptolens helps you out in that situation with a seamless Stripe integration. To learn more, please check out our full implementation page for Stripe. This ensures that you allow for the fast growth you are working so hard to achieve.

Creating an Interactive Software Product Demo (Free)

When we at Cryptolens swapped out our old video demo for an interactive software demo, we saw big improvements in interactions and completion rates. When thinking about it, it’s easy to see why. Everyone are used to seeing demo videos play in the background of websites, but they can easily be ignored and missed. A product demo is a unique method of showing off your strengths and benefits!

In this blog, we will cover how to create an interactive software product demo for free using arcade.software. We will also cover how to add the demo to a webpage. Elementor is my website editor of choice, but it of course works on other websites as well!

We have made the following video if you’d rather watch and not read:

Creating Interactive Software Product Demos

Step 1 – Sign Up to a Tool

The first step is to sign up to the tool you want to use to create your demo. The tool we picked is called arcade.software, but you can choose whichever one you prefer out of the competition. In our experience, Arcade works well and is easy to set up. The free version might be fine if you are not planning to use the demo on that many pages, but since we are displaying the demo on our front page, we opted for the Pro plan.

Step 2 – Record the Software Product Demo

After signing up to Arcade, recording the product demo is easy! Simply download their Chrome extension, go to the page you want to record, and open the Arcade extension using the puzzle icon in Chrome. In my experience, the standard recording settings are fine. When ready, simply press “Record interactive demo”!

When you are recording, Arcade will produce a combination of screenshots and videos based on your interactions in Chrome. It will automatically create hotspots above the buttons you click to navigate through your product that you can edit in the next step. These stages are usually displayed as screenshots, but when you scroll or type out text in fields for example, Arcade will record the actions for a visually appealing demo.

Step 3 – Edit the Software Product Demo

Arcade - an interactive software product demo tool

When you’re done recording, simply press the Arcade extension once more to end the recording. Arcade will then automatically create a product demo with hotspots. While some editing features such as zooming and panning are restricted to the paid versions, you are able to add text boxes and chapters to guide users through the demo. Make sure to use your brand colors!

Step 4 – Embedding the Demo on a Website

Embedding an Arcade is done with a simple HTML code. Press the “Share” button when you are done editing, and select “Get Code”. At Cryptolens, we chose to display the Arcade using the “Inline” option for both desktop and mobile. At the bottom of the page, click “Copy Code”.

This HTML code can now be pasted anywhere on any website. For this guide, I will be using Elementor’s page builder for WordPress. When editing a page in Elementor, find the “HTML” widget and drag it wherever you want the demo to be. In the HTML Code field, simply paste the HTML code you copied in the Arcade dashboard. The demo should now be visible and fully working on the website!

Thank you for reading, Stay Creative!

What is Cryptolens?

At Cryptolens, we are devoted to helping software developers launch and scale a software business. We offer advice and guides in blogs and YouTube videos, specially made for software product startups! Furthermore, we offer an easy-to-use software license management tool to help software developers set up a software licensing system. Restricting access against unauthorized users is a crucial enabler when wanting to sell a software product, and our Licensing as a Service (LaaS) platform helps you do just that!

SDK Licensing and Pricing Guide

Let’s start this SDK Licensing and Pricing Guide with some background. Software Development Kits are becoming more and more popular, and it’s easy to see why. As software products themselves become more popular and advanced, developers see a growing interest in not having to reinvent the wheel. Selling libraries, APIs, and documentation to help developers speed up the process is, therefore, a great solution. They are not only are they helpful, but they can also be very profitable to sell.

For Software Development Kits (SDKs), there are some unique considerations you need to keep in mind when it comes to software licensing. Getting it wrong could mean that far too many will have access to the SDK. Although it is a bit more complex to sell and protect SDKs from unauthorized users, we will also cover how you can turn that challenge into an opportunity today.

We have made the following YouTube video on this topic that you might want to check out:

Challenges with SDK Licensing

The reason why SDKs have unique licensing requirements is because of end users. SDK licensing is where you distribute a component such as a library that will later be a part of another commercial solution. To keep it simple, the image below illustrates the purpose of an SDK. Let’s say that “Company SDK” in the image is the company that develops and sells the SDK. That is then the company that implements a software licensing system to restrict who has access to the SDK. The customers of Company SDK are called Customer A and Customer B, and they each get one license key so they can access the SDK.

It’s pretty straightforward so far, right? The two customers integrate the SDK into their own software products that they sell to their own customers. These customers are called end users because they are the final customers in the chain.

SDK Licensing

So what is then the difference between licensing an SDK, compared to a desktop application, for example? Well, because the customer of Company SDK is not the end user of the SDK itself, all of the end users of Customer A will share Customer A’s license key and all the information stored within. The same is true for Customer B. This is of course not ideal since the the intention is to only allow the customer, and not all of the end users, to access the SDK. Desktop applications will usually not run into the same problem, because their end users are most likely their own customers.

Opportunity: Pricing Model Efficiency

This scenario poses both challenges and opportunities. In order to protect your SDK, the software licensing system has to ensure that end users cannot access the SDK. The positive aspect is that you have quite a lot of freedom to implement a very effective pricing model that charges for the actual value that customers receive.

An effective way to price an SDK could be to charge customers per end user, or per installation of the SDK. That way, you ensure that the more value your customers get, the more they have to pay. Customer A in the example has a lot more end users and will pay a high price as a result. They are probably fine with the high price because all of the end users are giving Company A a pretty nice revenue stream. Company B will pay a lower price because they have fewer end users.

As a final remark, I would like to highlight the fact that not all SDKs are alike. The SDK is required to have an internet connection to keep track of the end users or installations. That means that these pricing models are not possible to implement in an offline setting.

We at Cryptolens offer you another solution for offline protection which involves storing the application’s identifier inside the license file. For more information on that approach, please check out our full technical implementation guide. You can of course also charge per installation or end user even with our software license management tool.

Thank you for reading, Stay Smart!

Username and Password Authentication

The normal way of authenticating users in Cryptolens is through license keys. However, there is another way. You can choose to allow customers to use username and password authentication. This blog focuses on how this method works in theory. Please visit the full documentation page if you want to learn about the code implementation. We have also made the following video tutorial which features code examples in Python:

Username and Password Authentication

There are some use cases where it might be more convenient to authenticate users with a username and password as opposed to a traditional license key. If a customer has a lot of licenses, or if you offer your application both as a web and desktop service, username and password authentication would be a suitable approach.

Step 1 – Access Token Permissions

In Cryptolens, the first step to implement username and password authentication is to select the correct access token permissions. In the “Miscellaneous” section of the access token permissions page, you will find “User Auth Normal” and “User Auth Admin”. It is recommended to use the “User Auth Normal” for the client code. However, in your back-end where you will create new user accounts, the permission “User Auth Admin” is more suitable.

Step 2 – User Creation

In your code, you need to implement a way for customers to sign up and choose a username, password, and alternatively, an email address. This is also where you can assign a customer ID. Please watch the video above or the full implementation page for code examples on how to set this up. After a user has successfully registered, they will appear in the Cryptolens dashboard and be assigned to a Cryptolens customer.

Step 3 – Authenticating Users

Because the user account that was just created is associated with a Cryptolens customer, you will be able to retrieve all of their Cryptolens license keys when they log in. You will also get the license properties such as the features, notes, product ID, and more. From this point, you will be able to proceed with key verification as normal. Once again, please check the full documentation page for code examples and a more detailed guide.

Thank you for reading, please reach out to us if you have any questions!

How to Find the Best Software License Management Tool in 2024

What is the best software license management tool? Well, the answer to that question is very dependent on your unique licensing requirements. In today’s blog, I will highlight the main aspects you need to consider when searching for the best provider for your application!

If you’d rather watch a video on the topic, please watch this one:

How to Find the Best Software License Management Tool in 2024

First of all, what do I mean when I say software license management tool? I am referring to a service provider that helps you create a software licensing system to protect and sell your software application.

Software license management tool image

When you are choosing between different Licensing as a Service (LaaS) providers, I would advise you to first list your licensing requirements. Will you, or are you, selling your application to businesses or private consumers? What licensing models are you interested in? What integrations with other business systems do you require, and how important is scalability to you? We will cover all of these questions in more detail today.

B2B and B2C Applications

Let’s start with the first question. Many LaaS providers set a limit to how many license keys you are allowed to create on each pricing tier. As a result, it can get quite expensive if you are selling a lot of licenses at a cheap one-time price, which is quite usual for B2C companies. If you are selling B2B, you will probably require fewer license keys, and you are less price-sensitive since you most likely will sell each license key at a high price, maybe even a recurring subscription fee.

Licensing Models

That brings me perfectly on to talk about the next consideration, which relates to licensing models. Most LaaS providers will give you the basic licensing models such as the perpetual and subscription models. This is usually fine if you are selling B2C, but for B2B companies, you might benefit from other models, such as floating, or node-lockled licenses to allow for multiple seats. Maybe you even need licensing to work in an offline setting.

The more advanced licensing models can come at an extra cost with some providers, so make sure to check that your provider is able to accommodate your chosen licensing model. If you are unsure about what licensing model you want to implement, you can check out this blog post.

Integrations and Scalability of the Software License Management Tool

The last point I want to mention is related to scalability. You of course need to investigate what integration capabilities you need from a licensing provider today, but you also need to have a more long-term perspective. Today, you might be fine with manually creating license keys in the LaaS dashboard, but when you get more customers, you might want to automate the process using, for example, Zapier. At some point, you might even want to invite more employees to work in the dashboard. It is then good to check if your licensing provider is able to supply you with the integrations and features you need to allow for future growth.

Cryptolens Software License Management Tool

Lastly, with all of these considerations, choosing the correct software license management tool can be tricky. Especially when it comes to scalability since it can be difficult to predict exactly what your licensing needs will be in 5 to 10 years.

That is where Cryptolens comes in! We offer all licensing models and comprehensive implementation guides in your programming language. If your needs still exceed our capabilities, we are willing to tailor our product to your licensing needs. And the best part? You can get started with software licensing for free, within minutes.

Thank you for reading, Stay Smart!

How to Market a Software Application

How do you market a software application? Today, we will answer that question by sharing three steps on how to launch a software product, going from (1) the market research phase to (2) testing an MVP, to (3) selling it at a larger scale. These three steps are quite common for software startups to begin with, but they are, contrary to what some other creators are saying, not that easy to get right.

We have made the following YouTube video on this topic that you can check out:

3 Steps on How to Market a Software Application

Step 1 – Market Research

To cover the main points, allow me to tell you a short story about an innovative software developer wanting to sell their software product. Our story begins with a brief prototype of a software product. The first question to ask yourself is; will anyone buy it? In marketing terms, you will have to research your market and audience. Let’s say that the product is a code cleaner that checks for errors and suggests code improvements. The audience to target will most likely be software developers who write a lot of code each day and want to ensure top quality.

One important question to research is “How can I reach out and find my target audience?” That question is important for the step after market research. Here are some other questions to research:

“What does my target audience look like?” “What problem does my target audience need to solve?” “How do they solve that problem today”. You can use many tools and analyses for this step, but we will cover more of those in future blog posts.

Step 2 – MVP Feedback Collection

Once you know a bit more about the target audience and market, the next step is to try to sell an MVP, a Minimum Viable Product, to a couple of early users. What is a Minimum Viable Product? Well, it is the simplest version of your product that has just enough features to satisfy early users. The main goal with an MVP is to evaluate how well your product fits the needs of your customers, which we sometimes call the product-market fit.

Remember how I told you to research where your target audience can be found? Well, now you know why because this step includes reaching out to them and getting their feedback. Going back to our example, early users might want you to color-code the code suggestions according to different categories. When you implement such a feature, your product-market fit will improve, because your product is more in line with what the market wants.

Step 3 – Getting Customers to the Software Application

The last broad step that we want to mention is how to get more customers after you have enhanced the product. For software businesses, getting more customers usually means getting more website visitors. Traffic to a website can come from paid channels such as Google Ads, and organic channels, such as your company’s blog or social media pages. Paid channels can be set up with Google Ads, but let’s not focus too much on that today.

Content creation is a great way to grow the organic channel where you educate people about what your product is and who it’s for using videos, blog posts, and social media posts. Levering SEO, or Search Engine Optimization, can work very well to grow the organic channel faster than just making content without having a clear plan. Working with SEO essentially means that you try to appear in top positions in Google’s search results when future customers search for the solution you are offering.

How to Market a Software Application

In our example, “Code cleaner” seems to be a relevant keyword to make content for. You can, for example, write a blog about the importance of keeping a code clean to improve your SEO score and rank higher on Google. With a clear SEO and content strategy in combination with Google Ads, you are well on your way to success. With these 3 steps, we hope you have learned something about how to market a software application.

The Moral of the Story When Marketing Software Applications

To conclude this story, we want to quickly bring you back to reality. As we mentioned in the beginning, there are a lot more aspects to think about after you get your first couple of customers, and there is even more to learn about the three steps we have mentioned today!

For example, when I launched my first startup, I completely ignored the MVP step and launched a working prototype immediately. As a result, I had no clue what I needed to fix when no one was buying the product, and we even gave it away for free! Simply reaching out to our target audience and getting a couple of them to try it out and give feedback would have helped greatly, but there were also major flaws in the distribution of the product. Either way, I am happy that I tried, because trying and failing is always more illuminating than not trying at all.

Thank you for reading, Stay Humble!

Adding Cryptolens SDK Into a Rhino 3D Plugin

The goal of this blog is to explain the 5 easy steps on how to add Cryptolens SDK into a Rhino 3D plugin. If you want to install our software license manager for a Rhino 3D plugin, please also check out our blog on how to get started in .NET. You can find that post here.

This blog will mainly cover how the steps in theory, and if you want code examples, please read the full documentation page for Rhino 3D plugins. We also show code examples in the following YouTube video:

5 simple steps to add Cryptolens SDK into a Rhino 3D plugin

Step 1 – Download the SDK

In our example, we create a plugin based on Rhino 8. When you have your project open, please follow this link to download our SDK on GitHub.

When on GitHub, click on “Releases” and choose the latest release. There are two versions to choose between. “Cryptolens.Licensing.CrossPlatform.zip” can be used if you expect to target platforms other than Windows. Normally, we suggest to try downloading “Cryptolens.Licensing.zip” and checking if all the features you need are supported.

Step 2 – Extract the folder

When you have downloaded your desired file, the next step is to extract the libraries. You will see that we have all of the binaries for all of the platforms on the downloaded file. For this tutorial, we will be using “netstandard.2.0”.

When in the “netstandard.2.0” folder, please copy the folder’s path link.

Step 3 – Dependencies

In Solution Explorer in Visual Studio, right-click on “Dependencies” under the name of your project. In the new menu, click on “Add Project Reference…”.

Step 4 – Browse

In the new window, click on “Browse” in the left menu. Now, click on the “Browse…” button in the lower right corner. In the “File name” field, please paste the folder path that you copied in step 2.

You should now be able to see the file called “Cryptolens.Licensing.ddl”. Please select that file and click “Add”. That should take you back to the original window, and simply click the “Ok” button to complete the step.

Step 5 – Install Newtonsoft.Json

The final step is to install Newtonsoft.Json using NuGet. To do that, right-click on “Dependencies” once again under the name of your project. This time, click on “Manage NuGet Packages…”

In the new window, change to the “Browse” tab and search for “Newtonsoft.Json”. When you find it in the search result, please install it using the down-arrow icon to the right. Click “Apply” in the window that pops up.

Code examples and full implementation

A good step to do next would be to build the project using our key verification code to see if everything is working. We suggest checking out the YouTube video above or going to the full documentation page.

Thank you for reading, please reach out to us if you have any questions!

Developing B2B Software Products

When you look at the software startups that receive venture capital investments today, many of them are software companies selling to businesses rather than private consumers, but why is that? What can make businesses better customers than private consumers when developing B2B software products?

Today’s blog will answer that question and also show you some things to consider when selling B2B. In case you’d rather watch a video, I have made the following one on this topic:

Developing B2B Software Products – Advantages

Now, it is quite different to sell software products to companies than to private consumers. For example, companies are usually a lot less price-sensitive compared to private individuals, and they tend to buy in bulk.

Selling to businesses can also give you more freedom when it comes to pricing models. Private consumers like to buy products at a one-time price, but businesses are more willing to buy subscriptions and other pricing models. We have other blogs that cover the many benefits of that, such as providing companies a predictable and stable monthly revenue.

Alright, let’s get to the developer’s perspective. If you sell a software product to private consumers, they tend to care a lot about the user design and they usually want things to look pretty. But when selling to companies, you don’t have to spend as much time on the user design because they tend to value the functionality a lot more. This can free up a lot of time and enable you to develop the features you really want instead of having to design everything to perfection.

Since business customers can bring in large deals, having a couple of customers can be enough to get a decent revenue. You are then also given a lot of possibilities to tailor the software product specifically to their needs. This can pose interesting challenges that will not only make your product better and more advanced, but they can also make you a better developer!

Disadvantages

However, tailoring your product after a few customers will take time. If one churns, most of that time might have been in vain. This also indicates a strong dependence on a few customers, which is not ideal.

Because companies rely on your software product to make money, they expect your customer support to be top-notch. Private consumers might not care as much about support or uptime, for example. They might use the product just for fun!

The professional nature of business customers also means that they require your software product to be integrated with a lot of other business systems such as ERP or CRM software. Creating seamless integrations with those systems might pose a bit of a challenge.

Mitigating the Disadvantages

At the beginning of this blog, I mentioned that companies like to buy products in bulk. That is also true for software products because they want multiple employees to be able to access the product. The best way to implement that is by choosing a floating or node-locked licensing model.

Cryptolens makes it effortless to implement any licensing model in your favorite programming language! With our easy-to-use software license manager, you can implement licensing for free, within minutes.

Thank you for reading, Stay Smart!