Not adopting technologies at the rate of the market leader who is pushing for more and more control over the web might be "stalling web innovation" but the alternative universe is one where Chrome has no meaningful check against its hegemony of the web and can freely create new technology in support of Google's mission to harvest private information and serve advertisements to its users.
> Sideloading in this case is eliminating choice
There is nothing on MacOS that is preventing installing and running arbitrary code on your machine. Elevation of privileges is required for some of that code, but it is there for those that need or want it and a sane default exists for everyone else. This is the case with every modern operating system, including free ones.
Actually, there is but not In the way you expect. When the M1 Mac’s we’re released, you could sideline iOS and iPadOS apps but that was blocked by Apple in a later update. On the surface this is a means of clamping down on app piracy and unauthorized use of an app but also a a blockage all the same.
Being able to run arbitrary code doesn't really mean you get to run other people's code without their permission, which is essentially what running those applications on a mac was. You can argue the merits of DRM and copyright of course, but ultimately that's not the same thing as "running arbitrary code." You can run the code and that code includes a check to make sure the platform is one that the developer approved of. If you find a way to remove that check it probably still runs.
You aren't entirely wrong here, but we are one thin plank from the web being whatever Google says it is.
I know we don't live in an ideal web development world, but we are awfully close to something much worse.
But it's hard to explain the implications of Apple's business model to someone who is just happy how well his AirPods are integrating with all his other Apple stuff, and offended how other companies simply don't make anything equally well integrated with his iPhone...
Also, for everyone who says Apple is going to lock MacOS down, that's not going to happen with the M1 at least. The ability to run older versions of MacOS, alongside Linux support coming, means it's not happening. Despite what the conspiracy theorists say.
It's not that involved, by the way. There's a command that you run to turn off gatekeeper [1].
> "We were slaves to the mainframe! he said. Dumb terminals! That's all we had. We were powerless under the big machine's unyielding central control. Then we escaped to the personal computer, autonomous, powerful. Then networks. The PC was soon rendered to be nothing but a "thin client," just a browser with very little software residing on our personal machines, the code being on network servers, which are under the control of administrators. Now to the web, nothing but a thin, thin browser for us. All the intelligence out there, on the net, our machines having become dumb terminals again."
I think yielding control back to remote administrators is ultimately a mistake if you care about freedom and privacy. It's why I've come to believe the web, as a platform, is in some ways a giant step backwards (and I do realize that's not a popular opinion here).
I like that Apple is slowing things down. Users are better served by well written native apps IMHO. It makes life more difficult for those of us who write software but also for those who want to sell to, spy on, or control users.
Indeed, a comment in this thread points out that others have reported Apple went out of their way to allow secure access to the hardware on peer with what apple does with macOS - your generic concerns seem utterly without merit.
- All of my non-Mac PCs have a BIOS interface that lets me control very low level behaviors of my motherboard and CPU. Macs expose just the bare minimum.
- Windows, and to a much greater extent Linux both offer vastly more API hooks to customize things that I want about the OS. Apple does things like making NSScreen.visibleRect readonly so that only their Dock program can change it and nobody else. Meanwhile, on Windows/Linux I can programatically do just about anything I choose to, so I can replace the taskbar (and even app window chrome/menus) with something else if I want.
- Macs have extremely limited GUI configuration options. You can't even change the color of your mouse pointer from black to white if you wish to! You can't have "themes" that change anything significant. You can only put the Dock left/right/bottom. You can't move the menu bar. For a long, long time you could only resize app windows by the lower right corner until they finally implemented that. It's very often Apple's way or the highway - and there's a reason why that phrase is often associated directed towards Apple; because they just don't offer nearly as much control to users...
- Even if you try to customize these things by using third party hacks, there's no guarantee that your hack will continue to work after an update - and that's a loss of control. My Macs have broken many times from updates, way more than any of my real PCs. Even if I do hack Windows to do something that I want, Microsoft bends over backwards to stay compatible. Obviously Linux offers even more control, i.e. you can get right into the source code of almost anything on your desktop.
- I can only run macOS on Apple hardware. This is a severe loss of control for users. If Apple decided to stop making Intel machines tomorrow, I'd be screwed.
- If I'm running a cloud business, I can't even rent out a cloud Mac for an hour at a time. I have to rent it out for 24 hours at a time. That's a loss of control.
I'm sure I missed some things because I wrote this pretty quickly. I thought at some point that I should keep a running list of things that Macs just can't do, but that would be a waste of time - better to just accept things and relegate my Macs for doing iOS/Mac things only. So that's exactly what I did.
As for some of the others, well, again, yes and no. I mean, in the history of computing, "I can only run FooCo's OS on FooCo's hardware" was the norm"; I don't think it's Apple's fault if you can't rent out a cloud Mac for an hour at a time; I think it's debatable whether the lack of fine-grained editing of BIOS settings is a material loss on the Mac platform.
Also,
> If Apple decided to stop making Intel machines tomorrow, I'd be screwed.
I have bad news. :)
If you turn SIP off, you should be able to swizzle those methods with your own implementations. I admittedly haven't tried with NSScreen.visibleRect specifically, but I've swizzled plenty of other low-level objective-c stuff. When I need to go even deeper, there's dyld interposing.
You just need to turn off SIP. It's the magic switch that lets you do whatever you want. Some people argue "letting the user do whatever they want" is poor security, and perhaps it is, but you can't have it both ways—either grant yourself control and accept the security consequences, or leave Apple in control and accept the restrictions.
I scoured the Internet and this has apparently been a problem for at least six years, and Apple keeps breaking all the workarounds people find to disable the behavior.