Is it possible to build subscription based apps with Xojo?

Hi all,

Can you tell me if it is possible to create subscription based applications with Xojo (lite) or any other version?

Thank you for your information.


Yes it is :smiley:

You’ll have to implement your own DRM system (or use an existing one) but there’s no technical limitation preventing you from building an app as a subscription service.

what is actually required for subscription type application for the desktop???
i assume the application need some sort of call home feature.

Yes, we sell SAAS apps for desktop developed in Xojo. My licensing / subscription management is more or less all home-grown.

Kimball, you can explain a bit more about what you do regarding the SAAS???

The high level concept is a new license is downloaded after each renewal. It shares an expiration date with the expiration date of the currently paid period. So at each launch the app downloads the latest license available on the server.

There are many ways to skin this cat, and you’d want to worry about revoking licenses due to chargebacks and refunds. Signatures help a ton too.


Hi Richard - I’m not sure where to really begin: SAAS (Software As A Service) is more or less a licensing model that typically applies to web-based apps, but we use the same approach with our desktop apps. The basic gist of it is that you pay monthly or annually to continue using the software, and all updates and tech support are free. Once you stop paying for it, your access is revoked.
This is the same model used by Adobe and other large players (including Xojo).
As for our specific implementation: We use the Magento store to sell our software, and have a plugin which manages billing periodically for our software (“subscriptions”, if you will). I then wrote some middleware which watches for subscription events in the Magento store and updates our licensing servers so that when someone’s subscription status changes, that is reflected immediately in their software. Upgrade to a bigger plan? Great, here’s your new stuff. Downgrade? Ok, here’s what you have now. Cancel? Ok, your access is now revoked, etc.

At launch (and periodically while running) our software phones home to check on subscription status.

All the above requires that they have internet access (at least periodically) when they use our software.

My preferred method for this is to also store the data in the cloud… although it’s not technically necessary as you could simply use the authentication and authorization features of a cloud-based storage system to authorize access to your application.

I set up a full RESTful server with a database on the backend and map the API calls to specific tables.

If the client stops paying, their login will fail.

If you do store your application data on the server, you instantly get the bonus of a multi-user environment.

i like this idea… how do you setup something like that??

Hi everyone,

Thank you all for your interesting replies. I like to apologize for my late reply.

I will probably go for the cloud idea to cancel a subscription (login) when ity is no longer paid.

Wish you all a very nice day and all the best!

Your input is surely appreciated.


Don’t forget to check StoreKit classes in MBS Plugin for macOS and the Windows Store classes for Windows.

1 Like

I use Django with the DRF module for setting up a REST server on a Ubuntu VPS. Python is very similar, in some ways, to Xojo so it was easy to learn. I went this route because learning a new language and framework allowed me to leverage tons of free, open-source code modules and was faster than rolling my own with Xojo.

However, I’m sure it would be possible to create something on Xojo-Cloud… just more work.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.