The main reason we don’t have a future like this isn’t technical.
It’s that there’s no business model here.
Developers want apps that jail everything inside to force people to buy or subscribe to the app.
Interoperability means no moat, and decomposing apps entirely means no products at all just a tool box that nobody can really control.
So far nobody has ever found a way to reliably monetize this kind of software landscape.
[…] Quality software that is easy to use (especially for non-technical users) is extremely expensive.
Developers are expensive.
So instead you get “WIMPs” (Weakly Interacting Massive Programs) that win in the marketplace because they are more polished, more maintained, and more supported.
(Because people pay for them.) Lately most of these WIMPs are in the cloud.
The more I’ve matured as a developer the more I’ve realized that business models are the tail that wags the dog and that a lot of the landscape of software is defined by what people will pay for and/or what is structured so as to make people pay for it.
Business models are also why things are increasingly centralized and in the cloud.
It’s not because it’s inherently better, though it does make certain things easier to implement.
In many cases it’s a lot worse: higher latency, not available offline, much more limited and slower UI, etc.
It’s because the cloud is DRM and makes it easy to force a subscription.