Skip to main content

Module timeline

Module timeline 

Source
Expand description

An episodic memory of the work: what the person and the agent did, over time, as a story one can read back (after Scott Jenson’s “Episodic Memory” prototype). It shows attention, not content: which kind of work, when, for how long and how busily.

  • Input: Activity: one thing that happened (a command run, time in a workspace, a job), its lane (who or what: you, the agent, jobs), its kind (the colour), what it was, where it came from (its provenance: the workspace, how it was started) and what it produced (assets).
  • Synthesis: episodes turns many activities into a few episodes: neighbours of the same kind merge, then the shortest episodes fold into their neighbours until a handful is left (50 browser visits become “Research”).
  • View: Timeline: one row per lane, a bar per episode (its width the time, its height how busy it was, its colour its kind), the hours under it, a card on hover, and, for the episode clicked, context cards below: each thing done in it, where it came from and what it produced. Summary shows the episodes, All every activity.

Structs§

Activity
One thing that happened.
Episode
Several activities read as one: a stretch of one kind of work.
Timeline
The view.

Enums§

TimelineEvent
What the timeline tells the app.

Functions§

clock
The time of day of t (seconds since 1970) in the local time zone: “09:19”.
duration
A duration as people say it: “45 s”, “26 min”, “1 h 05”.
each
Every activity as an episode of its own (the “All” view).
episodes
The story in a few episodes: per lane, neighbours of the same kind less than gap seconds apart merge; then, while there are more than target episodes, the shortest one folds into the neighbour in its lane it is closer to (in time), until target are left or nothing can merge.
fill_ends
The activities with their ends filled in: an instant lasts until the next activity in its lane, at most idle seconds (then the person was away), and at least one second.