219. On AI Requiring a New OS
Not every platform shift yields a new OS or does it?
My friend @dsobeski asked:
Q. Do I believe there is value in creating a new operating system for the upcoming age of AI and devices?
tl;dr A. It is too soon to know. Also it is important to define what an OS is and where the innovation happens in order to base the discussion technically.
An OS is really three things and conflating them makes this impossible to answer. Separating them one can at least articulate a go-forward point of view:
(1) Hardware interface and resource allocation. At the core an OS by any traditional measure is an interface to hardware and a mechanism for allocating and managing those resources. The “computer science” on this is well established and not since the advent of virtual memory have we really seen much of a change. I don’t think AI will warrant a new approach to this level of an OS. What would drive that is if one believes these primitives themselves will be rearchitected IN AI (as opposed to support AI). I don’t see the primitives of networking, files, tasks/processes, and so on as being ripe for rearchitecture in the face of what we call AI today. Can I imagine algorithms that are either derived from or utilize AI techniques to perform better? Yes absolutely. Can I imagine system primitives that are tuned to managing hardware abstractions required for AI? Absolutely.
(2) User interface to the OS itself. So much of the debate/dialog around an OS is about the user experience for a relatively tiny number of concepts, primarily: launching programs, files, and settings. It is almost certain these will undergo rethinking in light of AI, but this layer is well above the “OS” proper and rethinking these is essentially how iOS evolved (and also Linux). It is not difficult to imagine, for example, launching programs via voice or text versus pointing or tapping. In fact, many people reading this probably use search to find programs anyway. Much ado was made of Windows 8 and the start screen in this realm. So much so in fact that few even remember you could just start typing a program name at the Fisher-Price screen to launch a program (or search, URL, etc.) Nothing at all tells me that settings will undergo a change due to AI since the trajectory should be to keep having less and less hardware/resource management there anyway. Finally, files are disappearing pretty rapidly though you wouldn’t know it by how developers talk (since code is file-based). The file-less future is farther away since sharing and archiving is still very file focused and also because of photos and videos. Still, I don’t think changing these necessarily means a new OS until you get to the third point. I would also argue in the end the difference between iOS and Windows/macOS with respect to (2) is diminishingly small in this area.
(3) An API for developers to create programs. In many ways the most interesting part of “do we need a new OS” is really about what APIs a developer has access to and uses. This defines the way people truly experience an OS and also the economics. Today, if you take my conclusion in (2) as a given, the primary difference between “modern” and “legacy” in my world view is the level of abstraction and access to (1) and (2) that developers have. By virtue of up leveling or restricting (depending on PoV) apps moved up the stack. People have fights to the death over “do anything on MY computer” but the reality is computing is fundamentally vastly better because of the modern level of abstraction and control on “modern” platforms, even though from a classic view of “microcomputers” this is a set of restrictions. Everything from running at a lower trust mode to not being able to access and/or control/monopolize hardware from apps are aspects of this level of “go be creative elsewhere”. I would *argue* with AI we need much more of this, not less, because the risks of bad actors trying to exploit a computing endpoint increase.
Note, there is also the actual device and hardware as well as an ecosystem around that. I am going to skip that and assume today’s hardware (sensors, compute, graphics, etc.) continues to improve, get smaller, use less power, and more. I’m also specifically speaking to client-side operating systems since my assumption is that the era of server operating systems is both on a different trajectory and also the domain of concern for a smaller set of people.
Now the question is for (3) will that drive an entire new OS, or will it be layered on one or more existing (1)+(2) OS platforms? It will certainly be layered on top in the near term. We have data on this from the internet. The world figured out it could turn anything into an internet operating system (e.g. TV, mail machines, IoT, browser as an OS, etc.) but having the internet on an OS that also had robust versions of (1) and (2) mattered. That 7-8X the number of people in the world decided that phones/tablets were a more accessible way to use the internet speaks to that more than anything. Having a unique (3) meant everything to scale.
That would argue that a new OS can certainly be built and thrive. The question becomes what existing platform offers interesting and useful abstractions that do not get in the way of doing what developers want. The mobile OS platforms provided rich and abstracted internet capabilities along with many things like payments, security, privacy, and more (all lacking on legacy OS platforms). Will whatever it comes to mean for AI get delivered that same way or will the presence of those get in the way? It really depends on what it is that AI does a couple of years from now that it is not doing today.
We have evidence for this point as well with mobile itself. The idea of building a mobile device out of (3) for legacy platforms could *not* work *because* of the assumptions about the legacy device. The fundamental developer model that was in use simply conflicted with what could be offered as a modern OS. Once Apple decided that touch, privacy, app sandboxing, ultra long battery life, always connected, quality over time, and so on were the new value propositions there was no way to really back into those from (3) of Mac. While they could get close, Windows with its focus on x86 hardware, application, API, and interface compatibility was in no position to provide an offering. Please see hardcoresoftware.substack.com and the prologue.
So, does AI require a new OS? Not yet for sure. In 5 years will apps begin to emerge or better will a set of value propositions for apps emerge that require a new level of abstraction to fully deliver on a new promise of AI? Maybe. I don’t think I know what that would be now.