How two people type in one line without losing a letter

Two cursors, one line, nobody holding the pen in the middle. One slider takes an index-based merge apart and rebuilds it out of addresses that sit between the letters.

Stage Typing at once
  1. 0
  2. 1
  3. 2
  4. 3
  5. 4

Tap a part of the diagram to open that stage.

What the fraction bought

An index describes a position inside a list other people are changing under you. A fractional identifier with a site id describes a position only its own author can create, so every replica can sort the same set of edits into the same line — offline, out of order, with no server deciding who wins.

What's inside

  1. 1 Both type into the same gap — Index 1 stops meaning the same thing the moment somebody else edits ahead of you.
  2. 2 A letter gets an address, not an index — Ann and Bob land on the same midpoint — which is exactly the case the site id is there to settle.
  3. 3 The packets arrive in the wrong order — There is no order to preserve here. There are two orders, and both are real.
  4. 4 The inbox is sorted, not replayed — Two edits with equal positions are ranked by site id — an arbitrary rule, but the same arbitrary rule on every machine.
  5. 5 Both screens end on the same five letters — Convergence is not agreement about meaning. It is agreement about order.

Explorable Explanations

Stage Typing at once
  1. 0
  2. 1
  3. 2
  4. 3
  5. 4
1 / 5