Hacker News new | ask | show | jobs
by tpmoney 668 days ago
I think the problem from Apple's perspective is the assumption they're building this platform to compete with 3rd parties. NFC payments is a perfect example of this, where I think from their perspective it wasn't "built improperly" because it was never built with the intention of 3rd parties accessing it directly, any more than Amazon storage provisioning tools are built incorrectly because AWS users can't build their own S3 competitor on top of those tools.

Edit:

I've talked about this in a previous discussion, but we have a sort of arbitrary line we draw on what should or shouldn't be a service / integral part of an OS / Platform and what should be, for lack of a better term, hot swappable by the end users.

On the one hand, you have the sort of "GNU Maximalist / Microkernel" approach, where everything is replaceable. On the other you have the "iOS / Video Game Console" approach, where the system is largely a black box and you get an API and can do things with that API but you can't swap out anything not controllable by the API. There's no objective place to draw that line though, it's all dependent on the experience your platform is designed to provide. Why is "displaying text to the screen" a service we delegate to the OS? Why does Linux consider window management an "application" to be swapped out, but Windows and macOS consider it an integral part of the OS platform? Why do we expect an OS to provide a TCP/IP stack these days, and no one complains that they can't implement their own TCP/IP stack in their mobile app? Clocks are widgets in linux, and an integral part of the OS in windows and macOS. Heck even down to the programming language level we don't have consistency. Is C necessarily better or worse than say Python or Javascript because it doesn't have a native String type and you can pick your String library?