The flip side is that some of us never actually wanted to create public apps but Shopify policies and market forces brought us here to support business-critical fulfillment workflows. I don’t charge for it and don’t make money off it, but clients very much expect the support to be there and for it to work.
Constant API deprecations and “action required” notices are a real tax on small businesses that Shopify has grown too large to be able to understand, and I believe that overall it is devaluing the platform. No other platform that I have to support is this aggressive with API deprecation or this passive aggressive with “action required or else” threats. Shopify always reaches for delisting first from a do-not-reply email address, and it’s not an acceptable way to treat a “partner”, or a hard-working human being for that matter, who is probably busy unclogging a toilet and dealing with the fire sprinkler inspector at the time that the “action required” email came in. Or, heaven forbid, the company’s tech guy is on vacation. There’s probably only one of him or her; it is a small business, after all.
X12 and GS1 standardized the concepts of “here is an order, tell me the inventory, give me the tracking” decades ago. They have little reason to change, and in the rest of the logistics industry at least in the United States, API support is usually measured in decades. We can all agree that the format of an ANSI X12 file is insane, but there is something to be lauded for being able to create something that is still working and is still used 30 years later.
With Shopify, I spend a great deal of effort working on things where if I am successful, nobody notices because it does the exact same thing it did before. The only “feature” is that it actually kept working. You may argue that this is just a feature of modern software development, and that is true to some degree, but I think that Shopify is taking it to the extreme.
I think it would still be reasonable to expect a faster cycle of API deprecations for more dynamic segments like catalog management, customer accounts, themes, or checkout, but I really don’t understand why the APIs for fulfillment workflows at this point cannot be standardized to a separate, more mature support track.
While API deprecations were necessary during the transition to fulfillment orders and inventory tracking at multiple locations, I don’t see why going forward Shopify can’t create long-term servicing (LTS) versions of some of these critical fulfillment APIs to provide clients with some kind of longer-term integration stability. Not saying that it wouldn’t ever be maintenance-free, but some of these APIs certainly do not need to be versioned on a quarterly cycle.
I hope that this is interpreted as constructive feedback.