Live-Offline Dualism in Software
April 23, 2019

Collaboration software should carry one shared timeline through presence and absence. A late arrival can rewind toward the beginning, an offline editor can return through a meaningful merge, and every person can recover the state that moved while attention went elsewhere.

One Timeline Serves Live and Absent People

“Live” and “offline” describe positions within the same history. A participant may follow the present, replay an earlier interval, edit from an older version, or reconnect after the group has advanced. The product should retain enough structure to join those positions again.

That structure lets returning people see what happened before arrival, what changed during absence, which local changes still matter, and where the group made a different decision.

Replay and Merge Make Time Navigable

A meeting can let a late participant rewind, review the missing interval, and accelerate toward the live conversation. Decisions, speakers, documents, and topics remain connected across recorded and current time.

A collaborative document can remember the common base, local edits, and remote edits. When histories diverge, the interface can present a merge that explains competing intentions instead of replacing one person’s work with a generic conflict error.

A team workspace can keep tabs, messages, documents, and tasks locally available. Reconnection then synchronizes a known state instead of rebuilding every screen from nothing.

Five Kinds of State Preserve Continuity

Base state
The version a person last shared with everyone else before attention or connectivity diverged.
Local changes
Edits, drafts, acknowledgments, playback position, and actions that happened away from live time.
Remote changes
The work other people completed while one participant followed an older view.
Ordering
Causal and version information that distinguishes automatic reconciliation from a genuine choice.
User intent
The role of each action—comment, approve, edit, resolve, reply, bookmark, or catch up—not only its final bytes.

Continuity Becomes a Product Capability

People miss meetings, edit on airplanes, reopen old tabs, switch networks, and return after a project changes direction. Software that models those transitions can make absence ordinary. It can also make the interface feel fast because each screen begins from retained local state and synchronizes only what changed.

Design the next collaboration product around time itself: let people move through history, preserve their intentions, and rejoin the present without reconstructing the work by hand.

Originally posted on LinkedIn

Brian Greenforest · (2019-04-23 18:48:02 UTC)

Open the original LinkedIn post · LinkedIn activity 6526526954395570177

LinkedIn status when archived: Visible to anyone on or off LinkedIn.

Ironically, product managers designing project management software, lack an abstract skill of the thinking about time as a spatial dimension. For decades, users suffer from the "live-offline" dualism incompetence in computer science. While watching an old video, why not fast forward to the live source? While entering a video conference after it's over, why not rewind it back to see what we've missed? While going offline with a Google Doc, and after returning back, why not automatically create a conflict resolution UI, and propose a Pull Request to merge it by other collaborators? Why new Microsoft's "Teams" is so slow when browsing between tabs? What about offline access? Concurrent, offline, and collaborative hierarchical documents editing computer science theory went insanely beyond of our imagination. But an entire generation of product managers seem to be totally unaware about this theory and design their products like it's Web 1.0. Software developers, thrown on modern projects, often lack knowledge of the theory of concurrent computing, and they even avoid to think about these scary concepts of conflicts resolution! Modern software runs slow, because an entire generation of web developers has built a "perfect world", where everything is always consistent.