The Ink & Switch Dispatch
Keep up-to-date with the lab's latest findings, appearances, and happenings by subscribing to our newsletter. For a sneak peek, browse the archive.
2024 Feb 22
On Patchwork we’re exploring dynamic history: auto-saving every change to a document, and flexibly querying that granular history.
We seek to combine the best aspects of two paradigms:
Auto-saving requires less effort by users, supports live collaboration, and avoids accidentally losing work. But manual savepoints are useful for indicating milestones, which helps with collaboration and understanding history.
Dynamic history is thus:
In using this first prototype to work on real documents, we’ve found that it’s useful to have multiple ways of querying history. For example, zooming out to see a big batch of edits from many authors over the course of a few days, or zooming in to see very small edits from a single author.
In practice, though, it seems most cases can be supported by a small set of groupings, such as by author and edit time. So we plan to build default user-facing views based on these groupings, while still preserving the ability to query more flexibly in rarer situations.
One more thing: in many tech stacks, supporting dynamic history might take a lot of engineering effort. But we’re building on top of Automerge, which already tracks the full change history. In an upcoming post, we’ll share more about why Automerge gives us a strong foundation for user-facing version control.