It's been so long since Apple has released anything in either iOS or macOS that excited me as a user. I don't seem to be their target customer anymore.
The only reason I even have to "upgrade" to a higher version number is how quickly app developers (including Apple themselves) drop support for older OS's. My iPhone which is stuck on iOS 15 runs just as well as the day I bought it, but every other app I download tells me (in essence) "LOL your phone is too old and our developers are too lazy to keep our software running on it. Upgrade your OS or get lost loser".
That's literally the only thing motivating me to upgrade anymore: The treadmill of software compatibility. Apple doesn't have to innovate--they just need to make sure the ecosystem is broken after ~5-10 years or so.
Isn't that true for pretty much every OS? The feature set we need to be able to do our jobs and computing hobbies have been available for two decades.
Operating systems like Debian is sufficiently boring that I can just upgrade and continue computing. macOS upgrades have become a small gamble, the stuff that I depend on may not continue to work, or at least it will take a good deal of work. There are however no reason to upgrade, so the risk isn't really worth the hassle of upgrading and breaking Java or Python.
Microsoft still manages to do 'cool stuff' at the kernel level; IO Rings, VBS, Rust, etc.
Only thing I see on the Apple' what's new that looks interesting is Metal updates. Most of the rest is UI.
You can still get software that installs and works perfectly on Windows 7 (released 16 years ago). Good luck finding software that even installs on Snow Leopard (released 16 years ago), let alone works well.
The flip side of this is that every attempt at advancing the Windows UI framework story beyond win32/MFC and WPF has failed and the platform itself is steeped neck deep in technical debt.
You can't blame this all on backwards compatibility. Microsoft can't just stick to one successor technology and keeps obsoleting every attempt after a few years. With that approach, of course no one is going to move over.
That’s one issue, but another is that they don’t make into successors full replacements. They’ve stuck to WinAppSDK aka WinUI for a while now, but it’s missing such basic elements as a datagrid/tableview which makes it difficult to take seriously as a desktop UI framework.
Also, they didn't even migrate their own internal dialogs with each replacement. You can still uncover dialog styles all the way back to Windows 95-style if you poke around Windows 11 long enough. Whenever they came out with yet another successor, they haphazardly migrated a handful of P1 components and then called it a day.
Snow leopard is a unix based os. There is a ton of software that can still install on it and work fine.
I mean OS updates are necessary, from security updates to support for new hardware. Stuff like init scripts were a suboptimal solution to begin with, it is not like that old stuff was a good solution. Xorg also doesn't fit how modern computers work, and is merely a collection of bandaids that is inherently unable to reach sane security by todays standards. So its not like progress is entirely superficial. And also with Flatpak there has emerged a way of shipping stuff such that used libraries can be shared but do not have to be, and every app can move at its own pace without conflicting with other apps or the OS. So at least in Linux land, especially in the last couple years, there has been great advances from a technical point of view. And those tackle also the problems arising when a huge number of indipendent parts come together, which were naturally very pronounced for Linux in the past.
Sometimes it’s Apple and Google that are forcing developers. The system is perfectly capable of running the app (you’re not using any new API) but store policies force you to add the restriction anyway.
Yeah we are in this situation right now with an App, we literally can't update it unless we target a more modern version of the SDK, which introduces breaking changes
Does it mean that you potentially have multiple version of the same software released if you are choosing to support devices that have been dropped from the latest SDK?
This problem could be mitigated by Apple making older versions of software available. Then you could continue to release updates, and users on older devices could continue to use earlier versions of your app on their devices.
Apple actually partially solves this: as a user, if I have EVER downloaded Older Version X of an app, and then go to download it again, they let me. However, if I have never downloaded the old version and go to download it, they just say “this app is not compatible with your device.” and don't give me the chance to get the older, compatible version. I don’t know why they make this distinction.
Worse are the third party apps where the old version still actually runs, but the developer deliberately blocks you with a full-screen “go away” dialog (I’m looking at you, FlightAware).
I got my first MacBook at Catalina, and still miss it. For a while, I downgraded my Intel Mac to Catalina again; I love the aesthetic compared to the newer releases, and it’s fast and snappy.
But the situation now is: No recent apps work on Catalina since it’s considered obsolete (except open-source apps you compile yourself). But Big Sur and higher are ridiculously slow on Intel hardware, to the point where it’s unusable. I now have an otherwise perfectly good 2019 Intel MacBook that has been gathering dust for the past years.
I’ve got a MacBook and Mac Mini stuck on Monterey (12), and an iMac stuck on Big Sur (11). I’m pretty much dead in the water when it comes to software compatibility, unless I want to put Linux on them. Even homebrew gives me a warning that they’ve stopped support and to expect everything to break. It’s a sad state of affairs.
This[1] worked well to upgrade old Macs that were stuck on old versions of macOS for me, if you're not choosing to stay on older versions for other reasons.
[1] https://github.com/dortania/OpenCore-Legacy-Patcher
OCLP is the solution.
Linux runs fine on my wife’s old (2013) MacBook. It’s more than fine, actually. I have Arch and Niri on there, and it makes a great SNES emulator.
Support rapidly being dropped happens mostly with smaller devs, because when resources are limited in the Apple platform world you can either adopt newer APIs and language features or you can support old OSes 3+ versions back. Trying to do both lands you in feature check conditional hell and requires a large matrix of test devices to ensure that nothing is being broken.
It’s less of a burden for corporate giants which is why you see much longer support timelines from e.g. Google.
When was the next Windows or Linux (distro) release that "excited" you?
It's all slow incremental updates pretty much.
The immutable and atomic movement in Linuxland is very exciting. Cloud native distro building with docker/podman in CI pipelines is just insane: Building+testing+deployment with ci/cd can now not only be done with some python package, but a whole distribution. Also Wayland, Pipewire, Flatpak and Btrfs are great stuff. Of course they don't get developed in one release cycle, but in recent years they made large leaps and became default on many distros.
Not Linux, but I still look forward to window managers and Neovim releases. The Cosmic desktop also looks promising, though I’m not using it until it has a scrolling window manager available for it.
https://xkcd.com/2224/
But yeah, I agree with you.