newsfilter.io
Interview, Fireside Chat

Building a UI Framework with Ty Overby

  • Building a debugger for Bonsai leveraging its static component graph for navigation and value inspection is predicted to become possible.
  • Google is anticipated to replace DOM-based rendering with Canvas rendering for various components within the Google Docs suite.
  • The Houdini proposal is expected to offer direct integration with layout engines and powerful user event APIs, though adoption timelines and final feature sets remain unclear.
  • WebAssembly may eventually support a garbage collector for OCaml, enabling native execution on the web platform without external GC dependencies.
  • A new OCaml feature known as "let punning" is expected in a very new version to reduce verbosity by allowing variables matching value names to be ignored.
  • A CSS hashing project merging into the repository is expected to solve style name clashes in Bonsai by generating unique names based on string contents and filenames.
  • Re-implementing standard text input behaviors like text shaping and cursor management on a Canvas renderer is estimated to require a cost equivalent to years of work.
  • The browser DOM and layout engine limitations are expected to persist for a while, despite desires for more direct control.
  • Future language designs are predicted to increasingly acknowledge metaprogramming as a standard feature, with trends observed in Zig, Rust, and C#.
  • OCaml's current macro system is viewed as too powerful for small, lexical-scope-only extensions and not fully integrated into the language in a modular way.
  • Future work is expected to strengthen OCaml's macro support and expose them in a modular fashion to improve usability.
  • UI-based design tools are predicted to almost always fail to expose sufficient power to developers without powerful hooks or a transition back to code.
  • Bonsai is expected to be ineffective on platforms relying primarily on mutation without a virtual DOM style abstraction.
  • The Bonsai graph structure is defined as static after the initial setup phase, meaning no new component possibilities can be added at runtime.
  • Excel's success is attributed to the tiny barrier between viewing results and editing the formulas that produced them, despite its equation language being very limited.
  • The Blender node system is cited as providing incredibly powerful visual debugging of intermediate shader steps, a capability described as impossible to replicate purely in code.
  • The Svelte project, which compiles UI components specified ahead of time, is considered a model that "might have been developed for the web with hindsight."
  • The CSS language itself is regarded as quite nice, with implementation issues attributed to browser layout engines rather than the language syntax.
  • WebAssembly may eventually provide features to support an OCaml garbage collector if standard integration is not approved.
  • Side effects within a Bonsai application are expected to be confusing, and the system relies on a static graph structure that cannot be dynamically extended.