In a world of smart devices and mobile users, software developers/integrated software vendors (ISVs) face new challenges in commercializing and operationalizing their products. Even the best product, hitting the market at the right time, needs a viable process and associated technology for monetizing and maintaining the solution.
All software products require a thoughtful approach for:
- Multi-channel distribution – through online or mobile stores and your site
- Multiple packages – scaling the solution to a varied audience
- Multiple payment models – individual, volume, and use-based licensing
- Access Controls – remote licenses or cloud logins
- Tracking free/trial version users and ensuring licenses are acquired
- Easy payment for license purchase and renewals
- Promoting major upgrade releases, and forcing minor security patches
Now, in the “integrated” world, you also need to keep up with concurrent releases in hardware and software that your app depends on, ensuring that all components are tested for compatibility:
- Devices – what versions and brands of device are compatible with your app?
- Certification – are there industry certifications required for using those devices?
- Hardware Updates – have you re-tested with each new model of integrated device?
- Software Updates – do you need to re-certify vendors for each of your major releases?
- Browsers – have you tested everything in the latest browser versions?
- Mobile – will your app still work on the latest iOS or Android OS?
- Security – are there OS or network security updates that will affect your app?
If you are providing a reseller model, you may need to do all this while also working through a third party who owns the communication channel with your actual users, maybe even keeping a custom-branded version of your site or URL for each reseller.
This can be a daunting task, especially if your core capability is building application features, not dealing with all the “business” stuff.
Here are some recommendations for surviving this turbulent time of “going to market”:
- SOLUTION PACKAGING: Realize that all users are not alike. Your app may need to operate in mobile, local, or cloud-hosted models. Or your users may respond to a “basic” vs “pro” package that gives them access to more features. Let the market show you what works, and don’t be afraid to re-adjust and adapt as you go.
- USAGE TRACKING: Your software should “report in” on where it is being used and when, what version, and whether the license is fresh. You cannot rely on downloads since these can be copied and deployed on multiple systems. Your software needs to be “activated” after install, checking to verify that it has a valid multi-user or single-user license. And if the product is cloud-based, you need visibility into usage trends to allow you to scale to handle the load.
- LICENSE MIGRATION: Use that awareness of usage patterns to allow for users who update or replace their systems. Your license needs to be portable to whatever is their current device – as long as they are not actively using it on more devices than you licensed them for.
- COMMUNICATION: Give fair warning if a license is about to expire. There should be advanced notice – particularly if you are providing a SaaS model, where your service may be part of a larger ISV solution. You need to engage with that vendor long before their license expires. Even a single user deserves the opportunity to renew before their app stops working.
- LICENSE ENFORCEMENT: Once you have warned users, use a gatekeeper to enforce compliance. The easiest way to force license compliance is to simply have the software prompt with a reminder, or take a payment for a renewal, as it launches. Waiting for an audit is longer and less effective.
- LICENSE MANAGEMENT: Don’t be afraid to lean on a 3rd There are companies out there with license-management solutions. Don’t reinvent the wheel if you can buy what you need off the shelf.
- AUTO-UPDATES: Bugs happen. Hackers get creative. Expect it, and have a plan for managing updates from the moment you launch. You can’t rely on users to come looking for a patch, so you need a built-in mechanism to prompt them (and sometimes force them) to perform required upgrades.
- COMPATIBILITY: Expect to test, and test, and re-test. The list of “compatible” devices and operating systems and browsers and hardware is a living thing. The ones you launch with will grow and evolve, and you have to evolve with them to stay relevant.
- RETIREMENT: Know when to say NO. Everything has a life-span. Your product needs to keep marching forward, so you will need to consciously cut off support for older versions and devices. That is a hard choice, but your limited resources have to be reserved for the most popular/recent versions. Sell users on the benefits of an upgrade, and don’t look back.
Yes, this is a lot to think about. But having a plan for these topics will set you on the right path towards success.