The whole OS is a mess of tightly coupled software with messy boundaries. I don't think the coupling is the thing that matters.
Springboard definitely isn't OK.
There's no good reason that Airdrop shouldn't be in the Linux kernel and it probably would be if the protocol were well documented.
You can use game overlays other than the Steam one, so there's nothing stopping Microsoft from creating an overlay that provides the Edge browser.
Rich integrations are great but when the boundary is perceived by the user as being two different programs or systems, both sides of the integration should have well-documented public interfaces that support swapping out the other side (no "private API" funny business).
What's not:
* Not allowing controls to manage integrations. Maybe I want to connect A to C, D, or Q instead, or not allow a connection at all.
* Accidentally-on-purpose clobbering customer choices (ooh, whoops, we reset all your file associations for the sixth time this year, perhaps now you'll stop changing them).
* Using undocumented APIs or similar gimmicks to ensure a competitive product will be inherently hamstrung.
* Pretending a seperate product is an indivisible component of the whole. I'm sure there are a bunch of places where Edge could be pulled out in favour of an external help-file/PDF/etc viewer.
Obviously, I want the best experience as an end-user. But I think it’s ridiculous, at a certain point you should have to invest the billions of dollars to build your own equivalent operating system. You really can’t expect all of that. Microsoft already has a pretty flexible system.
Maybe there is a business model for that massive investment. I don’t think that 100% native integration for third party applications is a big draw to most people. It’s mostly something people complain about on this forum.
Proof of that is Apple. It’s relatively inflexible, and people seem to like it quite a bit. They are doing very well. Then there’s also Linux but then people complain things aren’t tightly integrated enough.
Basically people want to have their cake and eat it too on someone else’s 1 billion dollar investment.
I don't much care about Windows, but as someone who has to use it for certain work I feel like I have the right to complain about Microsoft trying to force it's other products on me. And they probably could survive by having their OS be a bit more end-user friendly,, and if they couldn't, we would use some other OS.
Linux is a server kernel primarily. It gets used elsewhere, but that’s the core focus for development. Windows is a consumer OS. They’re really two different tools for two different jobs.
What you didn’t mention before, but now you are, is that you would choose a different product that works as you described. That sounds better. The only problem is that it doesn’t exist. Again, no one is going to spend $1 billion to build a system for everyone else to essentially have native integrations into as they sit back having spent all of that money to build this hypothetical extremely flexible product. Those types of ideas are basically the typical HN pipe dream.
I do too, but as someone who doesn't use Outlook or Edge, having those two specific products integrate doesn't give me any practical benefits, whereas having the OS try to force products like Edge that I don't use on me because they happen to also be made by Microsoft gets in the way of me just trying to use a computer the way I want.
In theory, something like Linux has a good model with multiple distributions, with each making different choices for the end-user. In practice, only a handful of distributions get any kind of traction and/or support.
A vendor of a web browser and email client, sure. A vendor of an operating system and one (or both) of a web browser and an email client, hell no. If anything, an operating system should be forced _not_ to tightly integrate to vendor-specific apps and instead should provide integration loosely and in a way a user can plug in their choice of app (or disable entirely).