LivingKiosk · Display 31

Passage

A public-domain poem, set large enough to read from across the room, changed quietly every couple of minutes. 1,205 poems by 30 poets, all of them long out of copyright, all of them inside the image — Passage never makes an outbound request while it is running.

What it does

It fits, always

Each poem is measured and set at the largest size that still puts the whole thing on the glass. A couplet is set huge; a long ode is set smaller. Nothing is ever cut off and nothing ever scrolls.

It works offline

The whole collection is built into the container. No API, no key, no upstream service that can disappear or start charging.

It asks nothing of you

No clicks, no notifications, no colour that means urgency. Press the space bar if you want the next one sooner; otherwise leave it alone for a month.

Build your URL

Ground

Paper for a room with daylight in it, ink for one without, dusk for the hours between.

Length

Every poem is set as large as it can be while still fitting the glass, so a long one is set smaller. On a small screen, choose short.

Alignment
Placard

The title and poet, set small and last. Hide it for the words alone.

Poets

Leave all unselected for the whole collection — 30 poets, all out of copyright.

Every parameter

ParameterValuesDefaultNotes
dwell153600 seconds120How long each poem stays up. Out-of-range values are clamped, not rejected.
themepaper · ink · duskpaperThe ground the poem is set on.
alignleft · centreleftLeft keeps a hanging indent on wrapped lines, as in print.
lengthany · short · longanyShort is 6–16 lines, long is 17–40. Use short on a small screen.
poetscomma-separated namesallSurnames work. A name that matches nothing is ignored rather than emptying the wall.
placardon · offonThe title and poet beneath the poem.
seedany textnonePins the walk, so the same URL always starts on the same poem. Two screens without a seed will not be in step.