Jeffrey M. Barber

Tombstone

Jove3

Aug 2007 โ€“ Feb 2008 ยท age 25โ€“26

What it was

The ground-up rewrite of Jeff's web-application compiler, pulled apart into languages and layers after the first suite hit its wall. An application's reactive state became its own language: cells and database-backed sets with lifecycle hooks, compiled with a cycle check ("Cyclicness is bad") and a topological sort, plus typed input and output ports so one application could be embedded in another. Styling became a second language whose rules sliced and stretched bitmaps into button sprites, then emitted the CSS. The runtime became a JavaScript kernel with reactive cells, a batching query cache and a tiny VM through which the server told the client what to forget. The desktop editor rendered controls by screenshotting them in an embedded browser, and a layout editor running in the browser itself was begun. Two demos compiled and ran. Then it was packed up, on purpose.

Wins, for the age

What it taught

Genealogy

Ancestors: Career Brkz Rednova: the startup years this rewrite ran beside. HUROX: the social network whose next version it was built for. HUROX JS: the batching cache and opcode RPC, grown into a kernel. Jovian Katana V1: a designer that compiles a whole site. Jovian Suite: the cycle-checked dependency graph, now given its own language. Descendants: Adama: a declared reactive state graph, separate from any view. Kira Project: typed contracts that generate their own client stubs. Lamancha II: reactive fields and viewer formulas as a language again.

Epitaph

Here lies Jove3, which finally saw that its compiler was a reactive graph with a view attached. It was packed up on February 22, 2008, three hundred lines into the version that would have lived in the browser.