Skip to main content

2022-06-22

Brane Project Demo Spec

Google's WorkerDOM has no event algorithm. It partially has some implementations, such as addEventListener. The event algorithm goes much more profound than that.

Then, Brane should cover very partial JS APIs. The question goes: how do we know what will be the core and what will be plugins?

Note that the division between core and plugin should be the importance of each feature, not size.

Currently thinking:

  • For the format, it could be anything.
  • Use Sandbox for the outer side.
  • Use a variant of WorkerDOM inside.

Since Brane implements an arbiter, which spans more than just a DOM... We should be able to decline whatever is not allowed.

Terminology:

  • Host: The main thread app
  • Guest: Untrusted, third-party app that should be containerized.

Primary goals in Demo

  • Non-blocking (Guests' operation cannot affect the normal execution of the Host.)
  • Isolated (Guests can never unauthorizedly affect the Host)
  • Submissive (the Host can forcefully shut down guests)

Preferably, WorkerDOM and Worker API will already have a non-blocking operation feature. Needs confirmation.

We should start from isolation. Then, the next step is to investigate how deep isolation iframe Sandbox provides.

Today's Hacker News

Deno raises $21M

  • An Isolate Cloud is. Similarly, a compute abstraction uses only the application code and the most minimal package possible.

Deno envisions a Vercel-like experience for the backend (FaaS.)