Skip to content

Presence is a person, not a tab

Who is here, where they are pointing, and why two tabs are one visitor.

presencemodel

Presence is a person, not a tab

Open this page in a second tab. The count does not go up.

Awareness gives one entry per socket, so a naive reading has a visitor with three tabs open reported as a small crowd. Presence here deduplicates on the public key β€” a person, not a session β€” and the awake tab speaks for them, so an idle background tab does not announce where its owner is.

Pointers land on the same thing for everyone

The coloured blobs are other people's pointers. They are anchored to CONTENT, not to a position in the DOM: an owner sees affordances a visitor does not, so the same card is at a different index in each person's tree, and a position-based anchor paints confidently onto the wrong element. Every anchorable surface names itself instead, and the offset is stored relative to that element's own box so it survives different card widths and window sizes.

Colour comes from people

The chrome is monochrome by design. Colour enters in exactly two places: the backdrop, and the people who are here with you. That is why presence reads as presence rather than as decoration.