Slide 1

Slide 1 text

r + The Browser is the Computer Daniel Lopez Angel De Miguel

Slide 2

Slide 2 text

About us

Slide 3

Slide 3 text

Washington Posh 1995/10/11 99c The network is the computer Thin clients, the new norm Dot-com is not a bubble Reputed economist confirms it Amazon rocks! Read the opinion of our Director The early days

Slide 4

Slide 4 text

The original thin client

Slide 5

Slide 5 text

r +

Slide 6

Slide 6 text

2024

Slide 7

Slide 7 text

Where the World is going Laptop computers increasingly cheaper and powerful … and your phone, and your tablet! Browser APIs increasingly capable Improved filesystem access, WebGPU, networking WebAssembly continues to improve Garbage Collection, Memory64, JSPI, multi-threading, etc. Increased complexity of development environments Languages, tools, services, etc.

Slide 8

Slide 8 text

What is a server? Compute Networking Storage Ecosystem

Slide 9

Slide 9 text

Compute Browser-native Wasm apps and components Performance Compatibility Syscall Emulation Emscripten, WALI, and WebVM Hardware Emulation V86, QEMU-Wasm, etc. Wasm Syscalls Hardware

Slide 10

Slide 10 text

Networking External Communication Web Native Fetch WebSocket Proxy VPN tunneling Internal Communication Direct communication Web Streams Emulated TCP/IP stack

Slide 11

Slide 11 text

Storage FileSystem Access API Access user filesystem (read / write) FileSystem Access API Origin Private FileSystem A dedicated folder per origin OPFS In-Memory Persistence Browser Storage ZenFS EmscriptenFS

Slide 12

Slide 12 text

Ecosystem Meet people where they are

Slide 13

Slide 13 text

Putting everything together Compute Networking Storage Ecosystem Compute Networking Storage Ecosystem

Slide 14

Slide 14 text

Endor.dev ENDOR Demo time!

Slide 15

Slide 15 text

Use cases Isolated ephemeral environments you can use Don't be afraid to break things! Zero-installation environments Stop asking people to install software to run your project Learning Give your students an environment they can work with Development From cloning to contribution without installing a single package

Slide 16

Slide 16 text

What's next? More languages and services 64 bit support Persistence Designing and sharing complex environments

Slide 17

Slide 17 text

References https://github.com/copy/v86/ v86 https://emscripten.org/ Emscripten https://github.com/ktock/qemu-wasm/ QEMU-Wasm https://github.com/chipmk/tcpip.js tcpip.js https://webvm.io/ WebVM https://github.com/arjunr2/WALI/ WALI https://zenfs.dev/ ZenFS https://www.exaequos.com/ ExaequOS https://howfuguismybrowser.dev/ Project Fugu

Slide 18

Slide 18 text

Thank you! endor.dev @endorhq