Conceptual Design · 2024 — 2025
Simple Computer
Currently
Work in progress, stage: big picture thinking. Mapping primitive actions of computing activities. Key questions include the dynamic equilibrium between humans and machines in the division of actions on agentic interfaces.
Context
Current operating systems are built on foundational paradigms that have not changed since the 80s. File system hierarchy is still how modern OSes organize data. Operating systems still abide by an application-centric model, treating each piece of software as a discrete object. Users still need to learn complex interfaces and make steps between their intent and the end result.
My Thoughts
There have been lots of attempts to build an AI OS or agent-based interfaces. It’s an especially exciting moment in computing history. I was born in the ’90s, when the internet truly awakened.
Simple Computer
Let's think of a simple computer. It would be a true AI-first operating system that runs directly on computer hardware. You would not need Windows or MacOS as the underlying system.
AI would be the core system architecture, not just a feature: direct hardware management and resource control. What consists of an app anyways? Core functions, UI and interaction models, and backend services bundled together in one discrete file.
Figma
For instance, let's try unbundling features of Figma. There are major features like vector editing, asset management, collaborative design, and export to various formats. These features, in theory, could exist as modular or independent services in the world. A truly intent-based system that knows the user well could adjust these applications based on user needs.
Dynamic Equilibrium
The key question in this new world of computing is how to separate control between AI and humans. We do not want AI to do everything for us, even if AI models understand a lot about us or our previous history of decision-making. Lots of attempts at AI-native tools these days seem to hand most of the control over to AI.
But agents often misinterpret user goals and make actions at the wrong moment. There needs to be a dynamic equilibrium that shifts human and AI control based on context, user confidence, and cognitive load.
Ontological Decomposition of Intent
I think there needs to be some sort of ontological mapping of an intent to successfully build an agentic interface. Say a user casually says that they want pizza. This could build systematic knowledge between user intent and actionable system responses, creating a more intuitive computing experience.
Let’s take the simple statement: "I want pizza." This sentence itself has many dimensions: temporal, preference, logistical, social, historical, and possibly more. If we let AI do everything for us, it would probably look at vendors and types of pizza that this user has ordered from in the past. Intent is multi-dimensional and varies by context.
What do we do on computers?
So let's create a non-exhaustive taxonomy of activities that we do on computers:
- Create information: write, draw, sketch, compose, model
- Make media: record videos, podcasts, and music
- Content creation: writing, designing, coding, digital art
- Information consumption: reading, watching, browsing, research
- Data management: organizing files, databases, cloud storage
- Entertainment: games, streaming, social media
- Productivity: spreadsheets, presentations, planning, project management
- Shopping and commerce: online purchases, banking, financial management
- Learning and research: courses, documentation, tutorials, skill development
Most modern work spans multiple applications. Say a user wants to create a presentation about Q3 performance. This usually fragments across Excel, Mixpanel, Gmail, PowerPoint, Google Calendar, and more.
I am imagining that these applications, in their unbundled state as capability modules, could be chained so the user flow is much more streamlined and customized. This ontology of digital activity could keep an agent’s search space tractable and give it a mental model for preparing workflows for humans. I also imagine mixing and matching two or more existing applications by taking certain core capabilities from each.
Why capabilities instead of apps?
If an OS could chain different workflows on the fly, it could produce a bespoke workflow per intent. Capability modules could map to actions, and an AI surface could decide what matters most to you and to the context you are situated in.
Technical Aspect
I am thinking of building this with WebAssembly. Yes, it is going to be a challenge, and yes, I do need to level up. But if the screen is going to be streamed to you, WASM is highly performant, runs close to metal, and its tiny module format aligns with the capability modules concept. Not every screen would be streamed; there would still be deterministic structure, but some parts would be contextual and shown based on what the user would love to see.