---
# System prepended metadata

title: Universal Application Environment Services
tags: [thoughts]

---

---
tags: thoughts
---
# Universal Application Environment Services

Given that we'll use the browser as the first UAE, what services in the browser should be considered part of a UAE? One of the aims of this whole exercise is to create a path towards a simpler, smaller browser kernel. One that can be extended if needed, but has a base set of services.

I think it is very difficult to get a definitive answer without trying a few different approaches and see what works and what doesn't.

But at least we need:
- the ability to link and include documents (with live code)
- the ability to communicate between them and the host document.
- display content
- ask for user input
- load subresources

In a microkernel browser / UAE, you should also be able to load extra services if needed. These should be javascript or Web Assembly and not need privileged access. Maybe there should be a way to ask for 'drivers', which are available in the UAE but not loaded by default. Since the UAE has control over that code, these could have privileged access.

For the first experiments I'll just assume the UAE is exactly what a modern browser supports, nothing less.

