The GNU team did this when they added or changed behavior to the original tools. A lot of them have flags like -posix and such which give them a strict set of behaviors.
Has the number of people who want to learn decreased? If so, was it because of iPhones/iPads?
I found a few such things in the article:
- more-discoverable undo
- some sort of AI-based virtual assistant
- a stylus and holder, and presumably input methods and applications that are better suited for that stylus
- something nebulous about having warning labels and being designed for the higher-order cognitive centers of our brains
I think he wanted more discoverable everything, the undo was just used as a particularly bad example on the iPhone.
He wants the world to be more discoverable, to modify our very culture so that learning is easy (an example he gave was with math, so it's not just a small, 'smart' percentage of the population who actually gets it, but everyone absorbs it from a young age).
His ideal vision is always described in very abstract terms. If he took the care to write it down precisely, what it should look like, I'm sure there would be hundreds eager to build it for him. Of course, part of it is "design principles". But then do some common use cases.
When the abstraction meets reality we get comments like "the iPad should have a pen". Which is really an interesting observation, but doesn't quite rill the crowd like the abstract impressive-sounding stuff does. And you'd hardly call these isolated observation "vision".
Clearly, the user interfaces we have today are sub-optimal, and I can make hundreds of factual remarks on what could be improved. But I don't think this works out to a "vision". In fact, a vision is I think sometimes bound to be too abstract. If we just had products where the shit was fixed relentlessly, I reckon we'd get to "good" without needing them.
Look at Squeak. http://squeak.org/ The idea that you should be able to dig in and modify things is very powerful.
Another way to look at it is in terms of discoverability: you are at one level of understanding (using the phone, clicking on things), and it should lead you to a deeper level of understanding (perhaps moving things around, modifying them). At each level, there are hooks inviting you deeper, drawing you in. Ideally you get down low enough to start programming, to actually understanding how assembly and the CPU works, so there is no longer any area of magic.
If deploys are like playing Jenga on a sailboat, you're not going to be able to patch fast or safely.
That said, even becoming aware a CVE exists in the first place is still a problem for many teams. There are plenty of good options, it's just underinvested in early on.
As an American, I’d say internet deployment and infrastructure upgrades, but multiple government entities have tried that and the ISPs end up doing nothing.
It seems to be something that's easier to do at a local level.