diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-16 09:11:29 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-16 09:11:29 -0500 |
| commit | b9b46e5b74207c6cbe0e1c006c7540f56537ccab (patch) | |
| tree | 6ad45a149d08e3240ee2d378b09258d6f518967e /docs/design/2026-07-12-control-grammars-reference.org | |
| parent | 6189466dd21f3e19b6bdae9bf74e38f6211ae542 (diff) | |
| download | archsetup-b9b46e5b74207c6cbe0e1c006c7540f56537ccab.tar.gz archsetup-b9b46e5b74207c6cbe0e1c006c7540f56537ccab.zip | |
docs: record the component taxonomy and the alphanumeric survey
Crossing Foley's elemental tasks against cardinality over the kit finds two empty cells: selecting one of a dynamic set (the device and network lists) and alphanumeric text entry (a WiFi password). Panels that already exist want both.
The cross needed an axis the note didn't carry. Cardinality lumps all one-of-N together, so a chicken-head selector and a WiFi list share a cell that then reads as covered. Set stability is what separates them. The axis is invisible from inside hardware, where every option set is engraved at manufacture. That's why a catalogue modelled on period gear goes blind exactly where its software consumers live.
The period answer to a changing set was never a control but a re-labelable slot: jukebox title strips, Rolodex cards, scribble strips. The slot is manufactured, the label isn't.
Reference photos supersede the teletype for text entry. They're all ABC-order industrial keypads, whose colour-coded CANCEL, CLEAR/NO and ENTER/YES land on the palette untranslated. A survey adds two idioms unlike a keypad: the index typewriter, which selects on one control and commits on another, and the chorded keyset, which has no key per letter at all.
Diffstat (limited to 'docs/design/2026-07-12-control-grammars-reference.org')
| -rw-r--r-- | docs/design/2026-07-12-control-grammars-reference.org | 152 |
1 files changed, 150 insertions, 2 deletions
diff --git a/docs/design/2026-07-12-control-grammars-reference.org b/docs/design/2026-07-12-control-grammars-reference.org index 4d5e028..c6509ac 100644 --- a/docs/design/2026-07-12-control-grammars-reference.org +++ b/docs/design/2026-07-12-control-grammars-reference.org @@ -30,7 +30,7 @@ No single canonical registry of control grammars exists. The concept is split ac * Proposed axes for the classification brainstorm -Starting point, to be argued in the brainstorm, not settled here: +Starting point, to be argued in the brainstorm, not settled here. Argued 2026-07-16 — see "The brainstorm, run" below, which adds an eighth axis and records what the cross found. 1. Elemental task (Foley) :: select / position / orient / path / quantify / text — plus the display-side tasks the gallery adds (indicate state, indicate quantity, indicate history, indicate spatial status). 2. Input model :: none (display) / click / click-step / drag-1D / drag-2D / held / composed. Already on every spec sheet; drives Emacs portability directly. @@ -42,7 +42,155 @@ Starting point, to be argued in the brainstorm, not settled here: The gap-finding move the brainstorm exists for: cross axes 1×4 and look for empty cells — a use-case with no component is a cell the catalogue cannot fill. +* The brainstorm, run (2026-07-16) + +The gap-finding cross, run against the 109-card kit. What follows is what it found, the axis it needed that the seven above don't carry, and the period models proposed for each empty cell. Build decisions live in todo.org; this section is the map they come from. + +** Axis 8 — set stability (new, and the one that finds the hole) + +*Fixed* (the option set is knowable when the panel is built) versus *dynamic* (the set is discovered at run time and changes without the panel changing). + +The seven axes above cannot find the kit's largest gap, because axis 4 lumps all one-of-N together: a chicken-head selector whose stops are cut in metal and a WiFi network list sit in the same cell, though nothing about the first tells you how to build the second. Crossing task x cardinality alone therefore reports the cell as densely covered. Only set stability separates them. + +The axis is invisible from inside hardware, which is why it was missing. *Every* one-of-N control in this kit has its positions engraved at manufacture — silkscreened legends, cut detents, printed scales. A faceplate physically cannot hold a set that changes, so a catalogue derived from period hardware inherits a blind spot exactly at dynamic sets. The kit's consumers are software panels (net, bt, audio, maint) whose central objects are dynamic sets: available networks, paired devices, running services. The blind spot lands precisely on what the consumers most need. + +** The cross, run — elemental task (Foley) x cardinality x set stability + +First pass, scoped to the Controls section (the input side, where the cross bites). Counts are card counts; =--= is an empty cell. Display-side tasks are summarized below rather than celled, since the gaps there are not where the interest is. + +| Elemental task | bin | 1-of-N fixed | 1-of-N dyn | m-of-N | m<->m | cont | 2-axis | compound | +|----------------+-----+--------------+------------+--------+-------+------+--------+----------| +| select | 10 | 13 | -- | 3 | 2 | -- | -- | -- | +|----------------+-----+--------------+------------+--------+-------+------+--------+----------| +| quantify | -- | -- | -- | -- | -- | 13 | -- | 2 | +|----------------+-----+--------------+------------+--------+-------+------+--------+----------| +| position | -- | -- | -- | -- | -- | -- | 2 | -- | +|----------------+-----+--------------+------------+--------+-------+------+--------+----------| +| orient | -- | -- | -- | -- | -- | -- | 2 | -- | +|----------------+-----+--------------+------------+--------+-------+------+--------+----------| +| path | -- | -- | -- | -- | -- | -- | 1 | -- | +|----------------+-----+--------------+------------+--------+-------+------+--------+----------| +| text (digits) | -- | -- | -- | -- | -- | -- | -- | 3 | +|----------------+-----+--------------+------------+--------+-------+------+--------+----------| +| text (alpha) | -- | -- | -- | -- | -- | -- | -- | -- | +|----------------+-----+--------------+------------+--------+-------+------+--------+----------| + +Cell contents, first pass: + +- select x binary :: 01, 07, 08, N01, R03, R24, R29, R38, R48, R50. +- select x 1-of-N fixed :: 02, 06, 24, N03, N06, R06, R20, R22, R27, R28, R33, R34, R42. +- select x 1-of-N dynamic :: *empty*. +- select x many-of-N :: N09, R51, R52. +- select x many-to-many :: N28, R37. +- quantify x continuous :: 03, 04, 05, N05, N07, N08, N10, R02, R04, R12, R14, R18, R23. +- quantify x compound :: N04, R49. +- position / orient / path :: R19, R26, R43, R44. +- text x digits :: R16, R39, R41. +- text x alphanumeric :: *empty*. + +Display side (Meters, Indicators — roughly 55 cards) covers indicate-state, indicate-quantity, indicate-history and indicate-spatial-status densely; no empty cell worth a card was found there. Left uncelled deliberately. + +** Findings — the two empty cells + +*Foley names six irreducible tasks. The kit serves five and a half.* + +1. *select x one-of-N, dynamic set.* The bt panel lists paired devices; the net panel lists available networks, each row carrying an SSID, a signal strength and a lock state. The catalogue meant to describe those panels has no widget for the thing those panels most obviously are. Nearest misses: N03 (a fixed, small preset bank) and R20 (a drum of values, not rich rows). Neither is it. +2. *text x alphanumeric.* The kit enters digits three ways and text zero ways. The net panel needs a WiFi password. + +Both are needed by live consumers today, which is what makes them the two that sting. + +** Why hardware had no dynamic-set control, and what it did instead + +The period answer to a set that changes was never a control. It was *a re-labelable slot*: hardware supplied a holder and let a human write the label. + +- Jukebox title-strip rack (Seeburg wallbox) :: printed strips slotted into a rack and replaced when the records change; a page-flip lever browses them; a letter-plus-number selector picks one. A scrollable list of rich rows with selection, built in 1950. +- Rolodex :: spin through rich cards; add and remove at will. +- Mixing-console scribble strip :: tape and grease pencil over each channel. +- Telephone switchboard subscriber strips :: relabeled as subscribers came and went. + +The shared grammar is worth naming, because it is the aesthetic-honest answer to every dynamic set: *the slot is manufactured, the label is not.* A device list rendered as a rack of slotted, hand-labeled strips is not a skeuomorphic joke — "somebody wrote these because the set changes" is exactly what a device list means. + +** Period models proposed per gap + +One row per candidate model, so each model keeps its own verdict. + +| Gap | Model to build from | Verdict | +|-------------------------+---------------------------------------------+----------------------------------------------| +| select x 1-of-N dynamic | Jukebox wallbox title-strip rack | First pick. Page-flip browse, rich strips, | +| | | select one. | +|-------------------------+---------------------------------------------+----------------------------------------------| +| select x 1-of-N dynamic | Rolodex card spinner | Alternative. Better for long sets, weaker at | +| | | showing several rows at once. | +|-------------------------+---------------------------------------------+----------------------------------------------| +| text x alphanumeric | Industrial ABC-order keypad | *First pick*, superseding the teletype — see | +| | | the survey below. A faceplate, not a | +| | | machine. | +|-------------------------+---------------------------------------------+----------------------------------------------| +| text x alphanumeric | Index typewriter (stylus + print lever) | Strongest novel idiom found: select and | +| | | commit are two separate controls. | +|-------------------------+---------------------------------------------+----------------------------------------------| +| text x alphanumeric | Chorded keyset (Microwriter / Brailler) | Six keys, no key per letter. The most | +| | | compact honest answer. | +|-------------------------+---------------------------------------------+----------------------------------------------| +| text x alphanumeric | Letter-drum bank (combination lock) | Craig's reference. Fixed length, so wrong | +| | | for a password; right for a callsign. | +|-------------------------+---------------------------------------------+----------------------------------------------| +| text x alphanumeric | Teletype (ASR-33) keyboard + line | Demoted. Honest but it is a machine, not a | +| | | faceplate, and QWERTY is the least | +| | | panel-native option. | +|-------------------------+---------------------------------------------+----------------------------------------------| +| text x alphanumeric | Dymo embossing wheel | Charming and faceplate-native; painful past | +| | | about eight characters. A descendant of the | +| | | index typewriter, mechanism differs. | +|-------------------------+---------------------------------------------+----------------------------------------------| +| swatch pick (chrome) | Signal-lamp lens turret, or the theatrical | A rotary whose detents are coloured lenses; | +| | gel wheel | the sample is the label. Joins the kit's | +| | | existing rotary family. | +|-------------------------+---------------------------------------------+----------------------------------------------| +| cycling state button | Legend switch (MIL-STD-1472) | Lit pushbutton whose cap legend and colour | +| | | ARE the state; press to step. The kit has | +| | | lit keys (02), not this. | +|-------------------------+---------------------------------------------+----------------------------------------------| + +** Survey: how period hardware entered letters (2026-07-16) + +Craig fed four reference photos (filed in =working/retro-stereo-widgets/references/= as =2026-07-16-abc-keypad-stainless.png=, =-abc-keypad-membrane-fkeys.png=, =-abc-keypad-membrane-color.png=, =-letter-drum-bank.png=) and asked for a wider search. Both moves changed the recommendation. + +*The references beat the teletype.* All three keypad photos are *ABC-order*, not QWERTY: A-Z laid out alphabetically with a separate 0-9 block, on stainless or membrane, with colour-coded function keys (yellow CANCEL, red CLEAR/NO, green ENTER/YES, blue HELP, F1-F4). That is the industrial convention wherever the operator cannot be assumed to touch-type — fleet, kiosk, access control. It is a faceplate rather than a machine, it panel-mounts, and its colour coding lands on the kit's palette without translation (terracotta for CLEAR/NO, run green for ENTER/YES, amber for CANCEL). The teletype is honest but it is furniture; the ABC keypad is the panel-native answer and supersedes it. + +*The survey found idioms genuinely unlike a keypad.* Ranked by distinctness: + +- Index typewriter :: Hall Type-Writer No. 1 (1881), AEG Mignon Model 4 (1924-30s). One hand walks a *stylus over a printed index plate*, the other pulls a *print lever* to commit. Select and commit are two separate physical controls — an idiom nothing in the kit has. Arbitrary length. Reads unmistakably as period hardware at small size. The Dymo wheel is a descendant, but stylus-on-index plus lever is a different mechanism from rotate-dial plus squeeze. *Strongest find.* +- Chorded keyset :: Microwriter (1978-80s, six keys — one per finger plus two thumb), Stenotype (patents 1911/1913), Perkins Brailler (1951, six keys as dots 1-2-3 / 4-5-6). No key per letter at all; a simultaneous *chord* is the character. Six keys plus a live chord readout is the most compact honest answer for a password field, and the kit already names the chorded grammar (R50 is its safety-hardware form) without holding a chorded *text* control. +- CDU / MCDU scratchpad + line-select keys :: Boeing/Airbus FMS, ~1980s-present. Text lands in a *scratchpad buffer* and stays uncommitted until a line-select key beside the target field both commits it and says where it goes. A different *flow*, not a different selector — its character source is an ABC keypad. The screen-flanking LSK bezel is iconic. +- Joystick scroll-and-fire :: Asteroids (1979); Defender/Stargate allowed more than three characters. Up/down steps the alphabet, fire commits and advances. The three-initial limit was an obscenity policy, not a technical one. Generalises to any shaft-encoder-scrolls-an-alphabet control. +- Multi-tap / T9 :: multi-tap early 1990s; T9 from Tegic, 1995, first shipped on the Benefon iO and Samsung Anycall. Twelve keys, letters cycled by repeat press with a timeout commit. The most *practical* small-panel password entry found, and the letter-cycling state animates well. +- Trackball gesture :: Atari Quantum (1982) — the player encircles letters, and top scorers draw their initials freehand. Genuinely unlike everything else; needs a drawing surface, so it is big. +- Keypunch + program drum :: IBM 029 (1964). A punched card on a *program drum* templates the fields — auto-duplicate, force numeric/alpha, skip. The column ruler plus field mask is a different framing; the machine is huge. +- Keyboard + lampboard :: Enigma (1920s-45). A keypress lights exactly one of 26 lamps and the operator hand-copies it. Judged a *feedback* idiom, not a selector — the 26-lamp alphabet grid is worth stealing as a readout for some other card, not as text entry. +- Keyboard perforator :: Teletype Model 15 (1930-63), Model 19 with integral perforator. Keying punches tape offline; compose and transmit are separated in time. The punched-tape strip is a fine visual but the keyboard is ASR-33-adjacent. + +*Two flags from the survey, carried rather than smoothed over:* + +- No true A-Z *thumbwheel switch* could be verified — Digitran and Grayhill mil-spec coded wheels are 0-9 or hex (0-9 A-F) only. Craig's letter-drum reference is a *combination lock*, not a thumbwheel switch. The drum bank is real, but its lineage is locks, and a card should say so rather than implying a switch that may not exist. +- The trackball-gesture and Quantum details are single-sourced. + +*Recommendation.* Build the ABC keypad first — it fills the empty cell, two live panels want it, and it is what the references show. Then the index typewriter as the second card, because it is the one genuinely new *grammar* (select on one control, commit on another) and it is small and beautiful. The chorded keyset is the third if a compact password field is wanted. Everything else is banked. + +** The gallery cannot build its own chrome from its own kit + +The last two rows are a finding in their own right. The gallery's own controls — the style-chip swatch rows, the screen-family chips, the validation lamps that cycle off/amber/green — are all bespoke HTML with no card behind them. The size toggle is a segmented control the kit already has (06) and does not use. + +That is the cheapest completeness test available: a catalogue that cannot build its own interface from itself has holes, and it names them for free. Worth re-running whenever the gallery's chrome grows. + +** Still open + +- The full seven-axis classification is not settled. Only axes 1 (elemental task) and 4 (cardinality), plus the new axis 8, were argued; grammar, state authority, persistence and era are untouched. +- The cell assignments above are a first pass from card names and spec sheets, not a card-by-card audit. Confidence of completeness needs the audit. +- The display side is uncelled. +- Whether the chrome gaps (swatch, legend switch) earn cards, or stay page furniture, is undecided. + * Related -- Gallery: [[file:../prototypes/panel-widget-gallery.html][docs/prototypes/panel-widget-gallery.html]] (100 cards, spec sheets carry input model + period). +- Gallery: [[file:../prototypes/panel-widget-gallery.html][docs/prototypes/panel-widget-gallery.html]] (109 cards, spec sheets carry input model + period). - Source survey: takuzu =working/research/ui-components/historical-panel-components.org= (processed 2026-07-12; build + banked + stale verdicts recorded in todo.org). |
