Links to This Note13
- iiframe- Successor to Brane.
- WorkerDOMBrane will follow WorkerDOM's core model.
- Treehouse... Worker]]. Later affected WorkerDOM and Brane.
- Super App is a Universal Chat App... techs, etc., as learned in Brane and [Web.dev Mini App Review](https://web.dev/mini-apps/). ...
- Providing DOM API to Worker Threads- Part of Brane
- 2022-08-03Brane is a vast project that ...
- 2022-07-12On 2022-07-11, I analyzed that Brane is harder than it seems.
- 2022-07-11## Brane Notes
- 2022-07-06### Brane
- 2022-07-05... never been done before, i.e., Brane
- 2022-06-26## Brane Notes
- 2022-06-22## Brane Project Demo Spec
- 2022-06-14## Brane Work Note
Brane
Brane is an experimental project that aims to build a secure, convenient third-party app environment based on web technologies. Brane's idea loosely follows the Progressive Web App and MiniApp Standardization White Paper.
Distributed dev model that third parties participate
- No distributed development model correctly executes third-party code even if they use WebView.
- PWAs possess critical weakness compared to Native Apps; it fails to deliver a coherent experience on a native platform.
- Therefore Brane works as building blocks for web-based third-party app stores, creating new markets and lowering the bar for new developers.
- It may be worthwhile to implement the Mini App white paper. However, the white paper compromised the security model and diverged from the web standard. The Mini App white paper aims at significantly different goals.
- Parties that create browsers do not own these limitations; Brane aims to democratize these privileges from mega-corporates creating browsers to Super App developers, who are much smaller in scale.
Brane MVP
- Forced Shutdown
- Basic Multitasking and Preloading.
- Intercept Geolocation API and present a custom permission modal.
- Employ Cross-Origin Isolation where needed.
Demo Plan
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)