Also, iPhone OS was actually a great dev platform unlike Mac OS, which facilitated a huge app ecosystem at least initially (nowadays apps are less of a thing). People have their complaints, but it's a paradise compared to creating Mac apps because there aren't too many wrong ways to do something, the OS handles a lot more for you, and initially it was a gold rush because of how readily you could profit from making apps. It became standard for everything to have an iPhone app.
Macs, on the other hand, always suffered from a lack of third-party software. Eventually it began to matter less cause of web stuff, but it's still an issue.
And even so they support carbon or cocoa or whatever it was for longer than people expected.
They were nice sometimes, like with Rosetta (and v2).
Are you building a Mac-first app using the most blessed toolkit (Cocoa)? You're probably fine, so long as you're not looking to toss out a binary and forget about it for 5+ years (periodically recompiling with newer SDKs and such). Even 20 years down the road getting old FOSS Cocoa projects building and running again isn't too hard, because even though there are a lot of deprecations the deprecated stuff largely still works.
On the other hand if you're building lowest common denominator cross platform desktop apps, yeah life might be harder. Same for games. That said I think the bulk of this pain comes from making assumptions that an unavoidably changing world will remain static — the sort of backwards compatibility provided by Microsoft is really the exception not the rule, and even there it's starting to flake away likely because the teams at MS are growing tired of having nearly unbounded backwards compatibility act as a ball and chain on OS development.
For running apps that were created without their devs' intent of long-term maintenance I think the best thing is probably third party compatibility layers like WINE, which allow for a pinned API target without locking OS vendors into decades old decisions and emergences.
If you look at what most software does, it's pretty static. Like you're telling the OS to draw windows with buttons and run your code in response to inputs. More complex with games, but still. The Mac user interface doesn't change much over time. The software should be a lot safer from OS changes. Microsoft showed that it's possible, and they even did it with third-party hardware. Same with the web. If Apple wanted compatibility with less burden, they could've provided better abstractions to devs. "Do things this one sanctioned way, and it won't break."
Mac OS was not good for games in the end. It was common for a minor OS release to break a good portion of your game library, sometimes permanently. If I understand correctly, Apple even intentionally let OpenGL go stale to push Metal instead. This was all on top of DirectX being Windows-only. Relying on WINE for an official software release is a kludge, and despite the common claim that it comes at no performance cost, somehow things tended to be much slower in it (not from the WINE translation layer itself but some other consequence of semi-incompatibility).
(a) Deprecation of a framework is inaccurate. It was halting development on OpenDoc -- which had been sold as the future of software development on Macs and other OS's up to that point (sort of, you had to be there). There is no modern parallel; Apple halting all development on UIKit and removing support and tools for it tomorrow would be something like it.
(b) Steve said in the video that the guy in the audience might be right. But he also said that Apple had to focus to survive.
Apple just barely made it -- remember that while the iMac was a design masterpiece, it wasn't that big compared to the rest of the industry; Apple was still essentially fighting for its life with every hardware release until the iPod.
This is exactly what FileMaker Pro does.
You have the underlying data structure that is independent of calculations and presentation. It is sparse by definition, and can store far more data than any spreadsheet in existence. It can include defined relationships between the different kinds of data.
You have the calculations, that are stored with the data structure, but are functionally independent from it. They can transform, combine, and summarize the data in just about any way you like. They can store their results, increasing speed at the cost of storage, or they can be on demand.
You have the presentation, which depends on the data but is defined separately -- you can have as many different presentation forms as you like, hundreds or even thousands.
And you have actual code that can run on the data and validate it, modify it, organize it etc.
I think only momentum and lack of vision has prevented FM from eating spreadsheets' lunch.
Long time ago and my memory could be iffy.
Also, I think Michael Spindler did more damage to Apple than Scully did.
I'll grant that he did spark the revival by doing the NeXT deal, as Apple did need an acquisition to reboot the software stack.
Steve Jobs' vision of a walled garden with tight vertical integration was what has kept Apple alive all these years and why things like the iPhone are so successful. I have both an iPhone and an Android, and the integration between iPhone and all its products is beyond comparison to Android.
It was absolute malpractice to buy NeXT for the OS, which was an obsolete, moribund, and expensive version of Unix.
What they ended up getting was adult management, which was not what they bought the company for, but was what Apple needed.
https://youtu.be/qyd0tP0SK6o?t=1260
And god, Jobs just drips with a sort of icky confidence and condescension, and there's certainly a lot of cult of personality present in the audience members.