~/talk

Type-driven User Interface Design

links:none on file
slides:none on file

Proposes using static types as the primary design artifact: build a small formal model for an import dialog using product and sum types, enforce the rule make illegal states unrepresentable, then mechanically map types to UI widgets. Example: a File -> file picker, a Json|Yaml sum -> radio buttons, loading/upload sums -> spinner, error view, ready button and final link with entity ID. Claims the model is precise, simple, separates essential from accidental complexity, and yields a usable UI without guesswork.

AI-written summary · about

  1. 0:00Introduction
  2. 1:47Classic UI limits
  3. 5:21Functional design approach
  4. 9:32First model with types
  5. 12:02Illegal states unrepresentable
  6. 14:53Type-driven UI process
  7. 23:43Conclusion and key takeaways
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.