diff --git a/questions/create.yaml b/questions/create.yaml new file mode 100644 index 0000000..fb60444 --- /dev/null +++ b/questions/create.yaml @@ -0,0 +1,234 @@ +# What you can make with redoal, and how far each piece is. Every card +# is cut to the same measure: one sentence for what it is, one for +# where it stands, opening with a status word that the accent repeats: +# Running (green) - in your hands today +# Landing (amber) - on the desktop since 0.1.20, phones get it with +# the next beta; flip to Running after that build +# Planned (grey) - decided, not built +# The two live cards (the pulse, the releases) keep themselves current. +name: What can you make with redoal? +description: > + A drawing is an address. What you make is what you leave at it, what + you teach it to do, or the piece of the network you carry yourself. + Each card says what a thing is, then how far it is: running today, + landing on the phone next, or planned. +alternatives: + - name: Draw your way in + description: > + Making with nothing but a finger and a voice. Everything here runs + in the apps, in the browser on this page, or both. + features: + - name: The count so far + description: > + Live from the front door: how many voices have been left at + places so far. + icon: lucide:activity + color: "#6cc08b" + resource: + source: + kind: url + url: https://relay.redoal.com/pulse + public: true + jq: > + { "name": (.voices_echoed | tostring), + "description": "voices echoed so far" } + empty: The first voice hasn't echoed yet. + - name: A line is an address + description: > + Draw a line and the shape itself is where you are; draw it + again anywhere and you are back. Running everywhere. + icon: lucide:map-pin + color: "#6cc08b" + - name: The line comes back + description: > + The address redraws the shape, so a place looks like the line + that made it. Running everywhere. + icon: lucide:pen-line + color: "#6cc08b" + - name: Neighbours at the line's foot + description: > + The nearest places line up under your drawing, fainter the + further off they are, and your ink settles on the best one. + Running in the apps. + icon: lucide:route + color: "#6cc08b" + - name: A place holds voices + description: > + Recordings stay at the drawing they were left at, for whoever + draws their way there. Running everywhere. + icon: lucide:archive + color: "#6cc08b" + - name: Leave a voice + description: > + Record on top of what is there; it carries your machine's + seal, not your name. Running in the apps and the browser. + icon: lucide:mic + color: "#6cc08b" + - name: Who is here + description: > + The people standing at the same drawing right now, counted + only once they have reached you. Landing: on the desktop now, + on the phone with the next beta. + icon: lucide:users + color: "#e0b04a" + - name: Talk, live + description: > + Hold to speak to the people here, from your machine to theirs, + nothing in between. Running whenever there is company. + icon: lucide:audio-lines + color: "#6cc08b" + - name: Answer with a drawing + description: > + A reply is a second line, anchored at the voice it answers. + Running in the apps. + icon: lucide:reply + color: "#6cc08b" + - name: One place across hands + description: > + The same line drawn facing another way is the same place. + Landing: on the desktop now, on the phone next. + icon: lucide:rotate-ccw + color: "#e0b04a" + - name: Voices that find you + description: > + Listen once, and the author's next voice at that place is sent + to you. Landing: on the desktop now, on the phone next. + icon: lucide:send + color: "#e0b04a" + - name: Favourites and recents + description: > + The places you keep, and the ones you passed on the way. + Running in the apps. + icon: lucide:star + color: "#6cc08b" + - name: Forget + description: > + Only the one who left a voice can erase it, and the erasure + travels as far as the voice did. Running everywhere. + icon: lucide:eraser + color: "#6cc08b" + - name: Draw in the browser + description: > + This site's canvas finds the place and who is near, without + installing anything. Running here. + icon: lucide:globe + color: "#6cc08b" + - name: Two lines at once + description: > + Two shapes added into one address. Planned. + icon: lucide:combine + color: "#8b9099" + + - name: Teach a place a behaviour + description: > + A place can do more than hold voices. Behaviour is written in a + small language of twenty-four words and left at a drawing like + anything else, for every visitor's device to run. + features: + - name: A place that does something + description: > + A doorbell, a counter, a turn-taker: a small machine that runs + on the device of whoever arrives. Running from the command + line. + icon: lucide:bell + color: "#6cc08b" + - name: Twenty-four words + description: > + The whole language can send, remember, publish and change + state, and nothing else, so it can never do harm. Running. + icon: lucide:spell-check + color: "#6cc08b" + - name: Events, states, handlers + description: > + Name what can happen, where the thing can be, and what to do + when. Running. + icon: lucide:git-branch + color: "#6cc08b" + - name: Check it, then make the bytes + description: > + One command says whether the file is sound and how big it is + on the wire; another turns it into the bytes for a place. + Running. + icon: lucide:terminal + color: "#6cc08b" + - name: Try it dry + description: > + Fire events at it on your own machine and watch each one move, + before anyone else sees it. Running from the command line. + icon: lucide:flask-conical + color: "#6cc08b" + - name: The bench in the app + description: > + The other side of a place's sheet: how it works with its + surroundings. Running on personal devices; the installation + keeps it closed. + icon: lucide:wrench + color: "#6cc08b" + - name: Publish from the app + description: > + Leaving a behaviour at a place from the app itself, with no + command line. Planned. + icon: lucide:upload + color: "#8b9099" + - name: A whole experience at a place + description: > + A game, a service, an app, found by drawing near it. Planned. + icon: lucide:sparkles + color: "#8b9099" + + - name: Carry a piece of the network + description: > + Nothing here belongs to a company. Install it, hold a copy of what + people leave, or run a door of your own. + features: + - name: Install it + description: > + Desktop for Linux and Mac, iPhone through the beta program. + Running. + icon: lucide:package + color: "#6cc08b" + resource: + source: + kind: url + url: https://dl.redoal.com/releases.json + public: true + empty: Nothing released yet — the first cut lands here. + - name: varde holds the bytes + description: > + A small daemon that keeps recordings and moves them between + machines that agreed to it. Running on the desktop, and built + into the phone app. + icon: lucide:hard-drive + color: "#6cc08b" + - name: The front door + description: > + The first node answers the browser, introduces phones to each + other and keeps a copy of what is left. Running on one machine + in Oslo. + icon: lucide:door-open + color: "#6cc08b" + - name: Two phones meet through it + description: > + Introduced at the door, two phones reach each other directly + and keep that path open. Landing: on the desktop now, on the + phone next. + icon: lucide:smartphone + color: "#e0b04a" + - name: Nothing arrives uninvited + description: > + A voice is only sent to you after you have listened to its + author. Landing: on the desktop now, on the phone next. + icon: lucide:hand + color: "#e0b04a" + - name: Same room, no door + description: > + Two desktops on one network find each other without the front + door at all. Running. + icon: lucide:wifi + color: "#6cc08b" + - name: A door of your own + description: > + Run a second front door that helps people meet and learns + nothing about them. Planned. + icon: lucide:key-round + color: "#8b9099" diff --git a/questions/index.yaml b/questions/index.yaml index f968d8f..91f2e6c 100644 --- a/questions/index.yaml +++ b/questions/index.yaml @@ -37,84 +37,19 @@ alternatives: - name: Meet a network you carry in your hand description: > - The one trick, and what it enables — the parts that run today, - said plainly. + The one trick, and what it enables — said plainly, with how far + each piece is. + action: /create + consequence: [Learn more] features: - - name: The count so far - description: > - Live from the front-door relay — the running tally of what's - been left at places. - icon: lucide:activity - resource: - source: - kind: url - url: https://relay.redoal.com/pulse - public: true - # /pulse (redoal ADR-0023) returns { voices_echoed: N }; shape - # it into one card — the number as the heading, the phrase - # beneath. Emit a bare object, not a wrapped [ … ]: the portal - # collects the jq output stream into an array itself, so a - # wrapping [ ] nests it ([[{…}]]) and drops to a raw JSON dump. - jq: > - { "name": (.voices_echoed | tostring), - "description": "voices echoed so far" } - empty: The first voice hasn't echoed yet. - name: A drawing is an address description: > - The computer measures how your line curves, turns, and keeps - rhythm, and boils it down to a twenty-byte fingerprint. - Similar drawings get similar fingerprints — two spirals land - like two houses on the same street, and that closeness is - the whole network. + Draw a line and the shape itself is where you are. Similar + lines land near each other, and everything else follows: the + voices people left at a place, the ones standing there now, + a line drawn back in answer. No accounts, and no company in + the middle. icon: lucide:map-pin - - name: Your machine asks the room - description: > - To find someone, your machine asks the machines around it: - "has anyone been near this shape?" Your spiral finds my - spiral directly, peer to peer. The whole directory is the - shapes people know, passed along on a napkin. - icon: lucide:users - - name: Voices stay where you left them - description: > - A drawing is a place, and places hold voices. Listen to the - recordings people left at a gesture, leave your own on top, - and when someone stands at the same drawing right now, just - talk — live, machine to machine. - icon: lucide:mic - - name: Sealed by your own hand - description: > - Every recording and every stored stroke carries a signature - from the leaver's own machine — proof that it arrived - intact and that the same hand made the same things. The key - lives only with you: keep it and you're recognized, delete - it and you were never here. - icon: lucide:stamp - - name: Draw and speak, and you're in - description: > - The primitives are the drawn line and the human voice. A - child, an elder, or a newcomer still learning the local - script arrives on the same terms as everyone else — that is - the whole entry requirement. - icon: lucide:hand - - name: Carried by iroh, through varde - description: > - What is left at a place is kept and mirrored by - [varde](https://project.uhhm.no/uhhm/varde), a small - daemon that moves bytes between consenting machines over - [iroh](https://iroh.computer) — verified, rate-limited, and - legible to the network it runs on. Recordings travel that way, - with no company carrying them. - icon: lucide:waypoints - - name: Built in the open at UHHM - description: > - [UHHM](https://uhhm.no) builds and carries the gesture math, - the relay, and the portal this page runs on — and hosts the - network's first node. It is a prototype and an artwork before - it is a product: what you can touch is real and running, the - transport that reaches across the internet is being built - now, and the rough edges are where the interesting questions - live. - icon: lucide:anvil - name: Follow the build as it lands description: >