· ✦ · Invite → into this space · a new conversation · ✦
✦ · · then: link · QR · sound · ·
An outside review of the shipped screens said it in one sentence: the interface explained internal mechanics where it need not, and failed to explain consequences where it must. We agreed, wrote down three scenarios a newcomer should manage with no explanation — invite a friend, handle a delayed message, read a sensor’s freshness — and closed three waves against them.
The shell says less, and says it plainly. The space panel reads in the order a person asks: Now (instruments, radio — only when something is live) → People → About this place → Manage. A stale reading says no fresh data · last reading 6 days ago before it says a number. The header’s four ways in share one quiet hue, and the first says what it does: create. Words for the wait: saved on this device — sent when a path opens; a presence age carries its label. A link in a conversation is a row until you open it.
Navigation by meaning. Where you go to find what was published is one place now — Materials: posts, files, links, filters inside. The shelf and objects each keep their tab with one sentence about what it is for, where a newcomer meets it.
Invitations by intent. Inviting used to begin with a protocol entity. It begins with a decision now: into this space (a pass — they ask to enter, this device lets them in) or a new conversation (five words or a link that open a new place); the carrier — link, QR, sound, words — comes after. Entering is one field: paste a link, a pass, or type the words you heard; it tells them apart. Previewing an invitation never spends it.
Profile & devices. One overview, and each task opens from it: start a conversation, verify this device, backup — its state first: no backup yet or last backup N days ago — technical details, rename.
Nothing in the protocol moved. Presence remains what a person declares; there is still no “online”, no typing light, no read receipt.
🐛 Broken, or claiming more than it can prove? → Field notes.