3 ms·
(Two proposals, in reverse order) > we still have 0 standardization or agreed-upon APIs As a former Unity Technologies employee on the in-app purchase abstrac
by ncr100 4y ago
(Two proposals, in reverse order)
> we still have 0 standardization or agreed-upon APIs
As a former Unity Technologies employee on the in-app purchase abstraction layer, I can say that the Unity runtime abstracts dozens of platforms' (mac, windows, etc) various APIs, today. And alternatively Godot supports a different set of platforms.
So, focusing on Unity, that problem has _a_ solution, however it is another privately managed API rather than one agreed upon presumably democratically by all developers, as I knowingly naively interpret is an aspiration here.
Therefore a free open platform-API standard can be created, trivially based upon Unity's IP. [IANAL so someone else check this plz]
> software distribution
Yeah distribution does not have a technical solution. In my experience it has been handled by agencies, each with proprietary partial automation and a lot of human handholding.
TBH there are 2 big app stores, and 400+ smaller app stores of varying sizes - Microsoft, Amazon, Samsung being larger western-mindshare stores, plus hundreds of global stores with lesser centralization than e.g. the tightly controlled Apple App Store. On top of that is the "no store" model of direct installation which relies on e.g. readme's for comprehensive installation.
So, I suspect a web-driver could be built that abstracts these sites. There exists APIs for many app-stores' publishing pipelines. Note, initial publisher-registration however typically requires manual work often involving real-world bank accounts.
Therefore, from that, a publishing standard could be put out there. Something that would identify app versions, publishing tracks, app high-level service features, permissions, user-facing metadata, publishing schedules, and store-review-status workflows.
- klabb3 4y ago> I can say that the Unity runtime abstracts dozens of platforms' (mac, windows, etc) various APIs, today I hear you. It's the best solution, and all credit to unity and others for doing that work. That said, I don't like it, because it's almost always a bad upfront tradeoff between fiedlity and velocity. Moreover you just end up with another layer in the stack, when we should have fewer. Half the time these things are broken, in my experience, not because of any fault of the middlemen, but because Microsoft, Apple or Google changed something in their proprietary, poorly documented code base.
- ncr100 4y agoI hear you right back. Absolutely true. A side note, working at Unity was fun because the point was not a generic solution for all programmers, but rather to make life easier for game developers so that they could focus on the creative aspect of their games. For example Not working around Google Play Library's latest unintentional goofiness around how their Android Activitys would close prematurely and send incomplete signals terminating their purchasing flows and then you as the game developer would have to somehow magically capture the now suddenly missing workflow signal and yada yada yada. So yes, I agree with you :-) And moving the discussion further, designing a new high level platform abstraction API could include a feature that compiles this new APIs bloat away and eliminates intermediate calls. Platform fragmentation is kind of a never going to solve it perfectly problem in my opinion. Until we have computers that write their own software to solve some end goal, humans are going to have to keep releasing patched versions of adapter layers.