Improve digital purchase and distribution system for Npcap OEM
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 3.6k
- Forks
- 592
- PR merge metrics
- No merged PRs in 30d
Description
Problem Description
The current purchase and distribution system for Nmap OEM is a very manual process with a lot of friction. It often requiring substantial manual work on both sides involving formal quotes, purchase orders, invoices, license certificates, download credentials, vendor onboarding, etc. All that back-and-forth typically takes days to accomplish what a better system could handle in seconds. We've all grown used to phone app stores where we can go from searching for an application that meets our needs to using it within seconds, including payment, download, installation, and ongoing maintenance such as updates and transfers to new devices). They handle installation limits so a user can maybe install the $3 app on their phone and tablet and maybe even share with other family members for free, but not deploy it to all 50,000 phones across a corporation.
Much of the process is due to burdensome enterprise procurement requirements with me (and the purchases at these large orgs) may not be able to change much. But we should at least offer an option for immediate purchase and fulfillment for the nimbler customers who can. We should make the price a bit lower for them too since it saves us time and money.
At the very minimum build an online Npcap software store where people can go to buy Npcap OEM licenses for immediate payment and delivery. An even better system would be capable of handling installation, automatic updates (if desired), subscriptions/renewals, updates, etc.
Requirements and Goals
We're still looking for the best platform to meet our needs, but here are some goals:
- If the system helps with installation in the way a traditional "app store" model does, it needs to be able to handle system device drivers like Npcap, not just user-mode applications. This generally means it must be able to run the Npcap OEM installer in silent mode with admin permissions. This is no problem for the case of a "simple store" where the user downloads Npcap and then runs it themselves.
- A lot of people buy Npcap OEM internal-use licenses for automated deployment using their own management systems. So we will need an approach which still allows that (provides the plain installer exe). People buying Npcap OEM redistribution licenses need this as well. This is also no problem for the case of a "simple store" since that's how it generally works.
- The platform can't take a big cut of the revenue. It's not like they have to stock physical items and ship them. A fixed monthly or annual charge is ideal. Payment processing fees should be competitive (2.9% for credit card payments seems fairly standard) and preferably we can choose between independent payment processors such as Stripe. If we are to use this for larger transactions (US$10k+) then it should support lower-cost bank transfer payments as well.
- If the platform has a way to track and limit usage (like the phone app stores do), that would be great. It would allow us to potentially charge per single seat installed with discounts for higher volume. Right now we only have 100-seat, 500-seat, and unlimited-seat offerings beyond the free/demo version which is often limited to 5 installs. None of these are currently technical limitations of the software--the customer needs to track themselves and buy the appropriate license.
- An ideal system could offer multiple term options so we can offer more choice to customers. Some would like a perpetual license (perhaps even including all future updates) while others might want a monthly subscription. Many customers want something in-between, like a perpetual license with optional annual updates or an annual term subscription. The system should be able to handle renewal reminders and payments.
- An ideal system would work well for both the Npcap OEM internal-use licenses and the redistribution ones.
- Users should be able to choose commercial support offerings.
- It needs to work internationally since our customers are all over the world. So preferably can handle different languages, currencies, etc. We probably want to set master prices in USD and let the system handle conversion as needed.
- A system which could potentially work for Nmap OEM in the future would be even better.
Even a system which doesn't meet all of our needs could still serve most of our customers. And we could keep the manual approach for cases which truly need it.
Options
We are still in the early stage of researching our options. But some obvious ones include:
- Shopify provides hugely popular online store infrastructure. It's mostly targeted to physical goods, but they (or integration partners) might offer good options for a digital shop like this.
- There are enough software providers out there that there must be some good "canned" solutions for selling the software.
- There may also be contractors/companies who specialize in setting up online stores for digital goods.
- Amazon lets you sell software. I've purchased packages like TurboTax there. It's not a great system since it's kind of jerry-rigged into a system meant for physical sales, and Amazon probably charges huge fees.
- There are software resellers and distributors, many of which we already work with as they place Npcap OEM orders for their enterprise customers. Most of them seem entrenched in the manual-order-processing world, but perhaps there are others who could handle this well. Some organizations will still have more complex situations or procurement requirements and so there might still be value in working with a dedicated reseller or distributor to handle that interfacing.
- There are Windows package management systems like the Windows Packet Manager (winget) and Chocolatey and Ninite but I think those are only for free apps. I don't know that any of those three support payment.
- Microsoft provides the Windows Store, but I don't think drivers can be sold on that. We should investigate further since I could be wrong or out of date.
- Valve's Steam is mostly or entirely for games, I think.
Examples
This section is for examples of other software and how they handle packaging, sales, and redistribution. Good examples are idea, but I suppose we can learn from problematic attempts too. I'll fill this section out later
Feedback
I made this a GitHub issue rather than using our internal project notes/goals system just in case anyone has suggestions. Plus other software publishers might find these notes helpful in the future. I'd love to hear feedback on possible options. If you distribute and sell Windows software, what have you done? Or on the user side, do you have examples of software (or distribution platforms) you've used that have made it easy and pleasant to buy and install Windows software?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No repository files, tests, or entry points are identified. Start by comparing the listed options, including Shopify, Stripe, Amazon, Microsoft Store, winget, Chocolatey, and Ninite, against the requirements for payment, installer delivery, licensing, renewals, international support, and redistribution. Done means documenting a viable platform recommendation and its trade-offs.
Written by the indexing model from the issue text.
Assessment
- Domain
- payments, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100