UI Landscape — Draft Survey

Raw output of three parallel exploration agents dispatched to widen the aperture on UI tech for OpenLight. Values-first, no convergence. Collected here unedited for reading before we decide how to structure.

Each agent was briefed on OpenLight's values from inside.md (folk-like, uncovered-not-invented, simplicity-is-natural, transparency-of-relationships, multidimensional-never-sliced, knowledge-as-identity) and on the view-as-invocable-with-surface framing. All three were instructed NOT to recommend or rank — only to survey.


Part I — Novel, Moldable, Live, and Fringe UI Paradigms

I. Moldable, Self-Describing Systems

1. Smalltalk-80 / Squeak / Pharo

A complete live object world where the IDE, compiler, debugger, and application coexist in one image. Every object can be inspected, every method can be edited at runtime, and the system is bootstrapped from itself. "Doing" and "defining" are the same gesture — you sculpt the running system.

2. Self / Morphic

Prototype-based language whose UI toolkit Morphic treats every visible thing as a directly-grabbable "morph" with an inside. You can pull a button apart, see its sub-morphs, drop one into something else. No separate "design mode."

3. Glamorous Toolkit (GToolkit)

Feder Chiș's "moldable development" environment built on Pharo. The premise: inspectors, debuggers, and views should be cheap to make custom per domain. Every object can offer its own set of views; the IDE adapts to the data instead of the reverse.

4. Lively Kernel (Morphic-on-Web)

Dan Ingalls' browser-hosted Morphic successor. A live object world running in JavaScript where you edit the page with the page. Recent incarnation: Lively4.

II. Hypertext & Document-Centric

5. HyperCard

Stacks of cards with scriptable fields and buttons in HyperTalk — prose-like code anyone could write. A generation of non-programmers built software with it. Its death is still mourned.

6. Decker

John Ohno / Internet Janitor's modern HyperCard homage — pixelated, deliberately constrained, web-native, with Lil (a small scripting language). A proof that the HyperCard shape is still alive.

7. LiveCode

Commercial HyperCard successor with a cross-platform target. HyperTalk evolved into LiveCode Script.

8. TiddlyWiki

A single HTML file that is a personal wiki, composed of "tiddlers" (small chunks) that can transclude each other. The whole system fits in one file and edits itself.

9. Roam Research / Logseq / Obsidian

Block-based note-taking where every block has an address, can be transcluded, and can participate in queries. Graph-shaped rather than tree-shaped knowledge.

10. Xanadu (Ted Nelson)

The unbuilt hypertext. Transclusion (inclusion by reference, preserving provenance), two-way links, parallel visible documents with visible connections. Most of the web's shortcomings are Xanadu's critiques.

III. Text-Native / Keyboard-Native Environments

11. Acme (Plan 9)

Rob Pike's editor where text is uniformly active: any word can be a command; mouse chords execute, acquire, or plumb text across the system. No syntax highlighting, no modes, no menus — the interface is text with mouse chords.

12. Oberon / Bluebottle / Active Text

Wirth's Oberon system has text as the universal interface, but any text region can contain embedded objects ("elements") that are live. Commands are written in text and executed by middle-click. Bluebottle (A2) extended this with active objects and a zoomable desktop.

13. Symbolics Genera (Lisp Machine)

An operating system where every value on screen is a typed object with a "presentation" — right-click anything and get operations valid for its type. Dynamic Windows (CLIM) presents output that can be reused as input. The entire system is inspectable Lisp.

14. Emacs

Emacs is not a text editor; it is a Lisp machine wearing text editing as its default costume. Every keystroke is a command; every buffer is inspectable; the system is modifiable from inside itself.

IV. Spatial & Zoomable

15. Pad++ / Jazz / ZUIs (Zoomable User Interfaces)

Ken Perlin and Ben Bederson's experiments with infinite zoomable canvases where semantic detail emerges as you zoom in. The UI is a plane, not a stack of windows.

16. Dynamicland (Bret Victor / RealTalk)

A room-sized computer: paper pages with printed code and colored dots, cameras overhead, projectors overlay live graphics onto the pages. Multiple people, physical objects, programs that literally sit next to each other on a table.

17. Croquet / OpenCroquet / Croquet OS

Alan Kay's distributed 3D collaborative world, with every object a replicated live program. The successor was commercialized by Croquet Labs.

V. Data-Flow, Node-Based, Reactive

18. Max/MSP & Pure Data

Miller Puckette's node-and-wire programming environments for music/signal. Every box is a live operator; patches run as they are edited; the audio thread never stops.

19. TouchDesigner / vvvv / Notch

Visual node-based real-time graphics/media systems. Same family as Max but for pixels.

20. Observable Notebooks

Mike Bostock's reactive notebook where cells form a DAG: when one changes, dependents recompute automatically. Order of cells is visual, not temporal.

21. Spreadsheets (Improv, Lotus, Quantrix, beyond grids)

Beyond Excel: Lotus Improv (dimensions and named models instead of A1:Z99), Quantrix (multi-dimensional), Airtable (tables as apps). Spreadsheets remain the most-used programming model on Earth.

22. Red / Rebol / Reactive VID

Carl Sassenrath's Rebol (and Red, its successor) had a dialected approach to UI: a small DSL describing the interface, evaluated to produce a live window. VID (Visual Interface Dialect) was radical in its brevity.

VI. Structural / Projectional Editors

23. JetBrains MPS (Meta Programming System)

Projectional editor: you don't edit text, you edit an AST, and the rendering is a projection of that tree. Different projections (math notation, tables, diagrams) of the same underlying structure.

24. Hazel / Isabelle jEdit / structure editors

Hazel (Cyrus Omar, U. Chicago) is a typed functional language with a structure editor that maintains well-formedness and live type-directed suggestions even in holes. You never have a syntax error because you can't type one.

VII. AI-Native / Voice-Native / Post-GUI

25. Dynamicland & RealTalk (revisited as AI-substrate)

Already listed, but worth noting: RealTalk's claims model (objects publish typed facts, others subscribe) is a natural fit for agent-substrate thinking.

26. Conversational / Agent-First UIs (ChatGPT, Claude artifacts, Cursor)

The shift from WIMP to prose-as-interface. The user speaks intent; the system renders appropriate artifacts.

27. Genera / Natural-language command layers (historical)

The "describe what you want" interfaces long predate LLMs — Genera's presentation types let you right-click a value for its operations, effectively offering "what can I do with this?" in UI form. See Genera entry above.

VIII. Fringe / Under-recognized

28. Inform 7 (natural-language programming)

Graham Nelson's IF authoring system reads like English: "The kitchen is north of the hall. A red key is in the kitchen." Compiles to a working game.

29. Subtext (Jonathan Edwards)

Research language/environment where the program IS its visual representation, with explicit structural editing, example-driven semantics, and schema-as-UI. Successor projects: Subtext 2, 3, "Live Literate Programming."

30. Eve (archived, still instructive)

Chris Granger's attempt at a "literate + reactive + structural" programming environment for non-programmers. Shut down 2018; retrospectives are widely read.

31. Luna / Enso (hybrid visual/textual)

Node-based and textual representations of the same program, switchable. Originally Luna, rebranded Enso, pivoted to data workflows.

32. Inkle / ink, Twine

Narrative tools that became inadvertent UI paradigms — branching passage graphs with inline scripting. Twine especially is a folk tool.

33. Beaker Browser / Hypercore / local-first UIs

A browser and stack built around the premise that each user runs a node, data is local-first, and apps are small static bundles. The UI paradigm: "your device is the substrate."

34. Potluck (Ink & Switch)

An experiment in incremental formalization: start with prose, gradually annotate parts of it into structured data that gains live behaviors (totals, lookups, graphs) without leaving the text.

35. Kartik Agaram's Mu / freewheeling apps

Agaram's "freewheeling apps" philosophy: tiny programs you can read in an afternoon and modify the source of, distributed as a single file. A deliberately folk-scale software ethos.

36. Webstrates

Research system where any DOM element in a shared webpage is collaboratively editable, persistently stored, and can be "transcluded" (imported live) into other documents. The browser becomes a shared Morphic.

IX. Worth a shorter note

37. NewtonScript / Newton OS "soups"

Soups are schemaless typed stores; the OS-level data model was chunks-with-frames long before JSON. An early pass at substrate thinking.

38. BeOS Tracker / OpenDoc / Apple's OpenDoc

Component-document architectures where a single document embeds editors from many apps. OpenDoc's failure is instructive — too much ceremony, not folk-enough.

39. Engelbart's NLS/Augment

The "mother of all demos" foundation — not just mouse and hypertext, but view specs, shared-screen telepresence, structured outlines, and a philosophy of augmenting collective intellect. Still under-mined.

40. Boxer (Hal Abelson)

Logo's successor: a programming environment where everything is a "box" — code, data, UI — nested visibly. Boxes are chunks that look like what they are.

41. Croquet's Squeak predecessor: EToys

Squeak EToys for children: scripting via tiles, live world. The lesson: tiled visual programming works for specific age/context, fails to generalize.

Cross-cutting threads worth naming (from Part I)

Patterns that recur across many entries above:

Key references to pull on (from Part I)


Part II — Non-mainstream / emerging languages with UI stories

Gleam

Roc

Mojo

Grain

Nim

Crystal

Elixir

Clojure / ClojureScript

ClojureDart

Common Lisp

Racket

Scheme

Red

OCaml

ReasonML / ReScript

F#

Haskell

Elm

Lua

Fennel

Pharo Smalltalk

Julia

Dart beyond Flutter

Kotlin Multiplatform

Raku

Io

Pony

Vale

Zig (revisit via Mach)

Additional ones worth noting given the framing

Unison

Hazel

Inko

Idris / Lean 4

Notes on confidence (from Part II)

Pharo/GT, Elm, Reflex, Clojure/Hiccup, McCLIM, and Red are the ones where the architecture directly mirrors OpenLight concepts. Mojo, Dart-beyond-Flutter, Raku, Io, Pony, Vale, and Grain have effectively no UI story today. Lean 4 ProofWidgets and Hazel were added beyond the original list because they seemed load-bearing for "typed-field-projects-a-surface."


Part III — Folk-Like UI Systems: Historical Grounding

A survey of historical UI layers that ordinary people genuinely wielded — not just used, but composed and extended. For each: primitives, audience, why it did or didn't take hold at folk level, and what OpenLight might absorb structurally. Synthesis at the end.

This is exploration, not recommendation. The bias throughout is toward systems that actually escaped their original users.

HyperCard (1987, Bill Atkinson, Apple)

Primitives. Stack (a document), card (a page in the stack), background (shared across cards), field (editable text), button (clickable area), and HyperTalk scripts attached to any of the above. Every object answered messages (on mouseUp, on openCard, etc.). One scripting model, one object hierarchy, one inspector.

Audience. Explicitly "programming for the rest of us." Atkinson wanted anyone who could use a Mac to be able to build with it. Bundled free with every Mac for years.

Folk adoption. Probably the most successful end-user authoring medium ever shipped on general-purpose hardware. Teachers made curricula, kids built adventure games (Myst shipped as a HyperCard stack), librarians built catalogs, doctors built clinical reference tools. Ran on millions of machines; spawned a cottage economy of stacks traded on BBSes and floppies.

Why it worked. Three factors that recur everywhere below:

Why it faded. Color arrived late; the web ate it; Apple lost interest; no sanctioned path to the internet. It died of neglect, not of user rejection.

For OpenLight. The uniform inspector is the lesson. Every object — card, field, button — answered the same question structurally. OpenLight's field is a better version of that premise: every chunk carries its own type. The HyperCard-scale risk is that if OpenLight wants folk composition, there must be a single, obvious way to say "show me what this is and how to change it." HyperCard's right-click-to-inspect was that handle.

VisiCalc (1979) and early spreadsheets

Primitives. Cell (identified by column/row), value, formula referencing other cells, recalc. That is the whole model. Three primitives, one update rule.

Audience. Accountants and managers who had pencils and ledger paper. Bricklin watched a professor manually recompute a projection and recognized the tedium as a computable shape.

Folk adoption. The first killer app. Millions of non-programmers became, functionally, programmers — writing declarative dataflow, debugging dependency chains, composing sheets. Excel today is, by count of users writing formulas, the largest programming language community on Earth.

Why it worked.

Costs paid. No abstraction over sheets (Excel adds it crudely, sometimes). No versioning native to the medium. Enormous error rates in production spreadsheets (Reinhart-Rogoff, countless financial disasters). The primitive's simplicity caps the ceiling in certain dimensions — structural refactoring especially.

For OpenLight. Incrementalism and reactive visibility. The spreadsheet never forces you to commit to a program; you commit to one cell at a time, and the consequences are visible. The field-with-derived-interfaces model could take this: a user types a value, a dispatch surface lights up because the type matched, no ceremony. Also: the spreadsheet's failure mode (untraceable relationships, no provenance) is exactly what OpenLight's transparency of relationships value forbids. OpenLight gets to keep the reactivity and refuse the opacity.

Smalltalk (1972–, Kay, Ingalls, Goldberg et al., Xerox PARC)

Primitives. Object (with state and behavior), message (how you ask an object to do anything), class (an object that makes objects), block (first-class code). The image itself — the entire running system — is inspectable and editable live.

Audience. Kay's stated target was children. The Dynabook vision (1972) was a computer for learners. The reality was that Smalltalk mostly reached professional programmers who recognized its power.

Folk adoption. Mixed. Etoys (see below) and Scratch descendants did reach children; Smalltalk itself did not, at scale. The image was too much machinery; the medium of distribution (the whole image) was too heavy; the platform was commercially locked for years.

Why the children-first vision underperformed. The system was philosophically folk-like (uniform, live, inspectable) but the surface area to learn before productive work was large. HyperCard's English scripts were easier to start; the spreadsheet's grid was easier to start; Smalltalk asked you to understand objects, messages, and an IDE before you saw results.

What it got structurally right.

For OpenLight. Self-description as the load-bearing property. Smalltalk's image described itself to itself; OpenLight's field does the same at the substrate layer. The cautionary tale is the onboarding cliff — self-description alone does not deliver folk-level unless the first thing a newcomer sees is small enough to wield.

Squeak Etoys (1996–, Kay, Ingalls, Kim Rose, Scott Wallace)

Primitives. Sketch (a drawing), script tile (a colored block representing one operation), viewer (the pane of everything an object can do), phrase (a row of tiles that together make a statement). Drag tiles from the viewer to compose.

Audience. 8–12 year olds. Deployed at scale via the OLPC project.

Folk adoption. Real within its target: hundreds of thousands of children used Etoys to make interactive simulations, often without adult help. Not folk-universal; it assumed a certain kind of classroom or curious child.

What it got right.

For OpenLight. The viewer pattern is strong. A chunk with a type has a known contract — the interface can render "everything you can do with this chunk" as tiles. OpenLight's interface derived from types is structurally the same move.

Scratch (2007–, Resnick, Maloney, MIT Media Lab)

Primitives. Sprite (an object with costumes and scripts), stage (the shared world), block (a shape-coded statement), hat block (event trigger), category (motion, looks, sound, control, sensing, operators, variables). Blocks fit together only in valid shapes — syntax errors are physically impossible.

Audience. Kids and newcomers broadly. Explicit "low floor, wide walls, high ceiling" goal (from Papert, via Resnick).

Folk adoption. Over 100 million registered users. The block-based idiom has spread to Snap!, Blockly, App Inventor, code.org — effectively the default lingua franca for teaching programming.

Why it worked.

Costs paid. Blocks hit a ceiling for any serious program. The social platform itself is what gave it scale — much of Scratch's folk-ness is community architecture, not just the language.

For OpenLight. Remixability as the unit of distribution. If a chunk is self-describing and traceable, sharing a scope is analogous to sharing a Scratch project — a forkable, readable unit. The folk dimension of "I saw what someone else built, I tweaked it, I published mine" is something OpenLight could have cheaply given the substrate's shape, and Scratch is the proof that this mechanism alone drives adoption.

Logo (1967, Papert, Feurzeig, Solomon)

Primitives. Turtle (an agent with position and heading), command (forward 50, right 90), procedure (named sequence with parameters), recursion. That is functionally it.

Audience. Children. Papert's constructionism was the frame: learners build their understanding by building artifacts.

Folk adoption. Enormous educational reach from the late 70s to the 90s; direct ancestor of Scratch, Etoys, Logo-like turtles everywhere. Never captured adults beyond education.

What it got right.

For OpenLight. The agent-with-a-body pattern maps onto OpenLight's vision of archetypes. An agent in the field with a scope, a purpose, a visible face is closer to Logo's turtle than to a conventional command-line tool. Making that body visible and directly addressable is a folk-level move.

Excel Formulas

Primitives. Cell reference, function, range, named range, more recently dynamic arrays, LAMBDA, LET.

Audience. Everyone with a job. Finance, operations, research, logistics, wedding planning.

Folk adoption. Total. The most-used programming language by volume of practitioners. Most of the world's critical business logic runs here.

Why it is folk-like in a way almost nothing else is.

Costs paid. No modularity at the right scale. No source control. Tight coupling between layout and logic. The same features that enable folk composition limit refactoring.

For OpenLight. Tolerance of partial correctness may be under-weighted in systems with strong types. OpenLight commits to the field enforcing its own integrity — good — but if that enforcement is rigid, the first mistake costs more than the first success, and folk adoption collapses. Excel's genius is that #REF! is a local, recoverable, visible state. The field's contract-validation needs an analogous local-failure mode.

UNIX Shell

Primitives. Process, file, stream (stdin/stdout/stderr), pipe, exit code. Commands are small programs reading streams and writing streams.

Audience. Originally Bell Labs researchers; ended up everyone who runs a server, writes a build script, or lives in a terminal.

Folk adoption. Within the technically curious: total. Outside that tier: low. Shell is folk-like for a specific folk — programmers and sysadmins — and gatekept from general users by the terminal surface itself.

What it got right structurally.

What it gave up. Typed data. Structured pipelines (PowerShell fixes this; most shells don't). A graphical folk surface. Discoverability for newcomers (man pages assume the vocabulary they explain).

For OpenLight. The single-operator composition lesson is the strongest. If OpenLight has many ways to compose, it is not folk-like. The field's dispatch — an invocable reading the field and writing back — is already shaped like a pipe. Making that feel like | to an end user (one gesture, one mental model) is the move.

Plan 9 (1980s–90s, Bell Labs) — acme, rio

Primitives. File as universal interface (to processes, network, windows, devices — everything). 9P as the one protocol that reached everything. acme as an editor where any text is executable: mouse-chording with text performs operations.

Audience. Systems researchers, a narrow cult.

Folk adoption. Did not achieve folk reach; too austere, too uncommercial, too willing to break with convention. But the idea has outsized influence on system designers.

What it got right.

For OpenLight. Text as directly executable at the surface is a folk-like pattern if the surface is consistent. OpenLight's scope bar or command surface can absorb this: what I type is what the system does; there is no separate "command mode." Plan 9's cult status is a warning — pure structural elegance without a gradient of onboarding does not deliver folk-level.

REBOL / Red

Primitives. Dialect (a small, domain-specific language expressed as data), block (code-as-data, Lisp-style), word (a value that can be a symbol, a binding, or a function), an all-in-one visual dialect (VID) for UIs.

Audience. Scripters and integrators. Sassenrath's pitch: every problem deserves its own dialect; REBOL lets you build one.

Folk adoption. Low. Beloved by its users, never broke out. Red continues the project.

What it got right.

What held it back. Ecosystem isolation; small community; closed-source legacy. Good ideas, wrong historical moment.

For OpenLight. The UI spec is data in the same substrate as everything else. This is exactly OpenLight's "interface derived from types" premise, arrived at from a different direction. REBOL is a data point that says: when UI is data, folk can modify it — not always, but often enough to matter.

AppleScript / Shortcuts

Primitives. Tell (address a named application), command (verbs the app exposes), dictionary (the app's API, visible via Script Editor). In Shortcuts: action (a block), variable (flow between actions), trigger, the whole thing as a flowchart of drag-and-drop steps.

Audience. Mac/iOS users who want to automate without writing code.

Folk adoption. Moderate. AppleScript reached power users and IT admins but not general users; Shortcuts is reaching closer to folk, especially on iOS where no alternative exists.

What it got right.

What held AppleScript back. Every app spoke its own dictionary poorly; cross-app composition was fragile; the language was weirder than it looked.

For OpenLight. Dictionaries — the app's self-description — are the interface. The app's shape is readable. OpenLight's invocables declaring typed inputs that the interface reads is the same pattern; the difference is OpenLight's substrate enforces the contract instead of AppleScript's "hope the dictionary matches reality."

IFTTT / Zapier

Primitives. Trigger (a service emits an event), action (another service does something), connection (OAuth into a service), variables flowing between steps. Zapier adds multi-step, filters, paths.

Audience. SaaS users with no programming background.

Folk adoption. High at the primitive level (millions of zaps, applets). Hits a ceiling at multi-step orchestration where the interface gets overwhelmed.

What it got right.

What held it back. The underlying services don't share contracts, so every connector is hand-built; composition beyond trivial is brittle.

For OpenLight. The template / browseable-scope pattern is a folk-multiplier. If a scope is shareable and browseable, most folk users remix rather than compose from scratch. OpenLight's substrate has the shape for this; the ecosystem design decides whether it happens.

Notion / Airtable

Primitives (Notion). Block (paragraph, heading, toggle, image, database, page), page as nested blocks, database as a typed collection of pages, view as a filter/sort/render over a database, relation and rollup for cross-database references.

Primitives (Airtable). Base, table, field with type, view, linked record, formula field.

Audience. Knowledge workers, small teams, side-project builders.

Folk adoption. Large and genuine. People who never touched a database run companies on Airtable. Notion templates are a folk economy.

What they got right.

Costs paid. Performance falls off a cliff at scale. Versioning is weak. Migration between types is painful.

For OpenLight. These are the closest living analogues to interface derived from types at folk-level. The lesson: when the user declares a type, the interface must update live and locally. A schema edit that requires a migration is not folk-like. OpenLight's type-in-the-field should be editable in place with the interface reconfiguring around it.

Max/MSP, Pure Data

Primitives. Object (a box with inlets and outlets), patch cord (a connection), message (typed data flowing along cords), patch (the whole graph).

Audience. Musicians, media artists, installation builders.

Folk adoption. Total within the media-art community; zero outside. The community is a specific folk — not "general public," but also not professional software developers.

What it got right.

What held it back (outside its niche). Large patches become unreadable. Abstraction (subpatches) exists but is fiddly. The graph surface is dense.

For OpenLight. The dataflow graph is a UI idiom that thrives when the domain is inherently about signal flow. Not every OpenLight invocation needs a graph view, but some do — dispatch chains, multi-agent sessions, cross-scope derivations. Having the graph as one derived view (not the only view) is the structural right answer.

LabVIEW

Primitives. VI (virtual instrument) — a function with a front panel (the UI) and a block diagram (the dataflow). Wire (typed connection), terminal (input/output), subVI (a VI used inside another VI).

Audience. Engineers and scientists, especially those with instruments to control.

Folk adoption. Substantial within its domain. Engineers who don't consider themselves programmers ship production test systems in LabVIEW.

What it got right.

Costs paid. Diagrams get huge fast. Source control is painful (binary format). The tooling is expensive and proprietary.

For OpenLight. Two views of the same object — the user-facing surface and the internal structure — visible simultaneously. OpenLight's interface-derived-from-types wants this. The "front panel vs. block diagram" split maps onto "what the operator sees vs. what the invocable contract declares."

Glamorous Toolkit / Moldable Development (Tudor Gîrba et al.)

Primitives. Object with multiple inspector views (textual, tree, table, graph, custom), Pharo Smalltalk image as the live substrate, GtDocument (live, executable documentation), example (a runnable, testable sample for any method).

Audience. Developers working with unfamiliar systems. Aimed at professional use, not folk, but with folk-adjacent virtues.

Folk adoption. Small; professional niche. Belongs in this list because it is the most articulate modern expression of "every object teaches you how to inspect it."

What it got right.

For OpenLight. Inspector views as part of the type. If a type lives in the field, views of that type live in the field too. When the interface asks "how do I render this?", the field answers. This is the pattern OpenLight already aims at; Glamorous Toolkit is the closest operational proof that it works.

Synthesis: What Recurs

Principles that repeat across the systems that genuinely reached folk:

1. The primitive matches a mental model people already have. Ledger (Excel). Card (HyperCard). Sprite (Scratch). Turtle (Logo). Room (Dynamicland). Block (Notion). The primitive does not introduce a new concept; it computerizes an old one. OpenLight's chunk and scope need to land on an equally pre-existing intuition — the closest are note and filter, and the work is to make them feel as inevitable as cell.

2. Uniform inspection — one gesture reveals what anything is. HyperCard's inspector, Smalltalk's browser, Etoys' viewer, Glamorous Toolkit's inspectors. The user can always ask "what is this?" and get a structural answer. This is the load-bearing folk property — without it, the system is magic, and magic trains learned helplessness.

3. Visibility of effect. Spreadsheet recalc, Scratch sprite motion, Logo turtle, LabVIEW front panel updating live. The distance between cause and effect is zero, or close. Bret Victor's "immediate connection" is the same thing articulated as a principle.

4. Syntactic or structural impossibility of gross errors. Scratch blocks that don't fit, LabVIEW wires that won't connect, typed fields that reject bad data. Folk users don't recover from syntax errors gracefully; the medium has to prevent them.

5. Tolerance of local failure. Excel's #REF!. A shell pipeline that fails one stage. A HyperCard script error dialog that lets you keep working. Folk systems accept partial correctness; formal systems often don't. OpenLight's contracts need a local-failure mode that doesn't tear down the session.

6. Sharing is structural, not bolted on. Scratch's remix, HyperCard's single-file stacks, Zapier templates, Notion templates. The act of publishing and the act of authoring are one gesture. OpenLight's scope shape has the right atomic granularity for this; what's needed is the social primitive that makes a scope shareable with one move.

7. Incremental depth — low floor, wide walls, high ceiling. Coined in the Scratch literature but describes every successful system above. You can start small, grow, and never hit a wall where "now you must learn something qualitatively different." This is the hardest property to design for; it is earned by the primitives being simple and composable, not by tiered onboarding.

8. Self-description loops back to user power. Smalltalk's image, acme's executable text, AppleScript dictionaries, Glamorous Toolkit's moldable views. When the system describes itself to itself, the user gets to read and modify that description. OpenLight's self-describing field is exactly this value at the substrate level; the question is whether the UI makes the self-description legible at folk level rather than only to agents.

Synthesis: What Was Traded Away

Every folk-like system paid for its folk-likeness. The trades clustered:

Expressiveness traded for legibility. Scratch cannot do what Python can. HyperCard could not scale. Max/MSP patches become unreadable. The question for OpenLight: is there a primitive simple enough to teach in a sitting and rich enough to carry the substrate's ambition? The best candidates historically (cell, card, block) suggest the answer is yes but only if the primitive is chosen well.

Performance traded for directness. Spreadsheets recompute eagerly. Smalltalk's late binding costs cycles. Notion's block-per-paragraph model is not what a performance-tuned editor would choose. OpenLight's self-describing field is going to cost something; the trade is likely worth it if the cost is predictable.

Professional tooling traded for directness. Excel has no source control. HyperCard had no diff. LabVIEW's binary format fights git. Folk-like tools historically sacrifice the professional development loop — and the consequence, at scale, is a population of practitioners who never encounter version control, testing, or refactoring. OpenLight's history-built-in value refuses this trade and should be able to have both; the engineering work is to make history and provenance feel folk-level (undo, view-history, fork) rather than professional-tooling-level (git, blame, rebase).

Closed ecosystems traded for coherence. REBOL was closed. AppleScript per-app. HyperCard Apple-only. Coherence is cheaper inside a walled garden. OpenLight's self-describing substrate has a native advantage here: if contracts live in the field and tools reach the field, coherence comes from the structure, not from the vendor.

General audience traded for a specific folk. Max/MSP serves a specific folk (media artists); LabVIEW another (engineers); shell another (programmers). The honest observation is that "folk-like" usually means folk-like for a definable community, not literal universal accessibility. OpenLight's audience question — whose folk? — is worth naming. The first answer might be people who work with knowledge professionally: researchers, writers, engineers, designers. That is a definable folk, not "everyone."

The shape OpenLight can take from this (from Part III)

Distilled, for the interface layer specifically:

The folk-level value in inside.md is not a concession to usability. It is a correctness check on the primitive. If only experts can wield the primitive, the primitive is wrong. Every system above that reached folk did so because its primitive was right; every one that didn't, didn't.


Cross-survey overlaps (observed, not synthesized)

Systems named in more than one of the three reports:

These are the gravitational centers — when a system appears in multiple surveys started from different framings, that's a signal of architectural mass relevant to OpenLight.


End of raw draft. Structure decisions, editorializing, and horizon-vs-interface placement pending.