Whiteboard
An endless surface with nothing on it until you put something there. Whiteboard, in the sidebar.
Why it is here
Everywhere else in Félagi a piece of work needs a title, a type and somewhere to live. That is the right shape for work that has been decided, and the wrong shape for the two hours before it was.
The early phase of anything — a workshop, an architecture argument, a retro — has nothing in it that fits a form yet. A tool that insists on one at that point does not get used; the team photographs a real whiteboard instead, and the photograph is where the thinking goes to die.
So: sticky notes, boxes, text, arrows, freehand drawing and images, anywhere on an endless plane.
What makes it not Miro
The wire back to the data model.
A note can become a real issue. The first line is the title, anything after it is the description, and the note stays on the board pointing at what it became — the shape of the board is the record of the conversation, and deleting a note because it graduated would take the argument with it.
An issue that already exists can be dropped onto the surface as a card, showing its live status, read on every load and pushed on every change. A board left open overnight is not lying by morning.
Working at the same time
Everybody on a board sees everybody else's cursor, labelled.
Cursors are whispered between browsers and never reach the server. Sixty positions a second per person is not information worth a request, a queue job or a row; it is worth exactly as much as the moment it describes.
Changes to things — a note moved, a colour changed, a card dropped — do go through the server, because those are facts. They are sent immediately rather than queued. Everything else in Félagi queues its broadcasts, which is right for news; a whiteboard is not news, it is a shared object two people are touching.
Nothing is applied to an element you are holding. If a note arrives while your hand is on it or your cursor is in it, the update waits — otherwise the note jumps backwards mid-drag.
Two people dragging the same note is a conversation happening in the room. The last hand wins, per element, and there is no merge dialog.
Private boards
A board is shared with the workspace by default, because the argument for having one at all is that other people are standing at it.
Only me makes it a notebook: nobody else sees it in the list, nobody else can open it from a link, and nobody else can subscribe to it — hearing a surface is reading it.
Only whoever made a board can change who sees it. A colleague turning your sketch into a team board is the same violation as the reverse.
Voting
A sticky note carries a vote button. One vote per person, stored as who rather than as a number, so it can be taken back — a retro where somebody's fifth vote was an accident is a retro with the wrong answer at the top.
Keys
V N B T A P H |
select, note, box, text, arrow, pen, pan |
⌫ |
delete what is selected |
Esc |
deselect, back to the select tool |
| Space or middle-drag | pan |
⌘/Ctrl + scroll |
zoom towards the pointer |
Where the drawing lives
Positions are doubles, not integers. The surface has no edges and no fixed scale; two people at different zoom levels are looking at the same numbers, and rounding would quantise a drag at 25% into four-pixel jumps.
Colours are token names — yellow, blue — never hex. A board should survive a
theme change, and somebody who picked #ff00aa in light mode has made a note
nobody can read in the dark.
Everything is one row per element in one table. A table per shape would be six tables answering the same question and six joins to draw one board; the difference between a note and an arrow is two nullable columns, not a schema.
Not there yet
- No undo. Deleting is confirmed but not reversible.
- No selecting more than one thing, so no moving a group, and no copy or paste.
- No connectors that follow. An arrow is a line between two points; it does not stay attached to the notes at either end when they move.
- No frames, sections or templates. No retro template, no lanes.
- No comments on an element, and no history of who moved what.
- Not in the API, not in search, not in the import or the export. A board is reachable from its own page and nowhere else.
- No catch-up after a dropped connection. Reload the page.
- Text on a note is plain. A toolbar per note, on a surface where six people are typing at once, is a worse problem than the one it solves.