I guess every software developer knows that building and selling modular digital products can be tricky, especially in terms of compatibility.
Any incompatibility uncaught by the add-on developer translates to bad customer experience, not only with the add-on itself, but with the CS-Cart platform as well. See how Magento/WordPress platforms handles such faulty modules. CS-Cart fails to do that, potentially resulting in a bricked website.
So, as it makes sense, the burden of finding these incompatibilities falls on a developer's shoulder: find ALL incompatibilities between ANY version of your add-on and ANY PLATFORM version ever released (overgeneralization).
That can be a tough job, but we love building software, and we do it anyway, because we love making our customers happy. Right?
So we've build a system that does automated testing on our CS-Cart add-ons and WordPress plugins that we develop.
Most of our products are add-ons for private businesses, and in that case we only test the add-ons on a very limited number of CS-Cart or WordPress versions (ie. the ones our client's websites are running).
This runs nicely especially with plugins build for WordPress: we can test a plugin release against all WordPress releases, automatically - because all WordPress releases are public - always.
All nice and well there.
Now... the problem.
When contributing with public add-ons for the entire CS-Cart market (via the CS-Cart marketplace), we face a challenge: there is no way for us, the developer, to access all the CS-Cart releases.
Which means we cannot test our products/add-ons that we publish (or would like to publish) to the marketplace against ALL CS-Cart versions.
Which translates in customers finding incompatibilities for us, and bad customer experience overall. Of course, our support makes up and we are prompt to solve all the incompatibilities our customers throw in our way, and the customers are happy in the end, but... is this really necessary?
We think not. We think we can improve this, not only for the CS-Cart customers, but also for the CS-Cart community as a whole (by sharing these tools and knowledge with other CS-Cart developers).
Solution?
So we turned to CS-Cart for help.
We explained this problem to them, and asked them: how can a CS-Cart developer access all the CS-Cart for testing purposes? Or what other solution can they offer?
Their answer to this question? "BECOME CS-CART RESELLER AND MAKE PROFIT ON SELLING OUR SOFTWARE". I wrote them back to make sure they understood the question, and the problem. Nothing.
They have completely ignored the subject of the matter :)
We then tried to play their game, and we asked: "if we become CS-Cart resellers, do we gain access to all the CS-Cart releases, so we can fulfill our objective?".
And their robotic answer was the same scripted "BECOME A RESELLER" pitch WITHOUT EVEN TOUCHING our question.
So while our concern was to help the CS-Cart customers and community, CS-Cart's main concern was to increase their sales.
And we are not interested in selling CS-Cart licenses.
But even so, we would've bought into the reseller programme if they would've confirmed we would have access to all their releases. But they didn't.
And why isn't there a "Developer program" already anyway?
Dilemma
So... Is there any future for the CS-Cart developer?
And, if not, is there any future for the CS-Cart customers?
Should we consider shifting our main focus as developers on WordPress/WooCommerce or Magento, where the market and community are way bigger?
How do you tackle this problem as a CS-Cart add-on developer?
And what do you, the CS-Cart developer, think about all of this?
I would love to hear about what other developers think.
Thanks.
And sorry for the long rant :)