Teleporting thru Information Space

I’m really excited by the research effort proposed in Towards a Dynamic Multiscale Personal Information Space, a 2020 paper advocating more ‘convivial’1 information spaces. As the authors describe it, when a user interacts with the computer:

The system offers a novel interface to her digital information, consolidating her data (e.g., email, messages, calendars, web pages, notes, sketches, and analyses and visualizations) across applications. When she interacts with the information in her workspace, it seems to be alive, aware of when and how it was last used, and sometimes even why she was using it. To get back to her writing, Samantha browses a timeline of her past working sessions. She vaguely remembers last searching the web for an article she’d once read, but now can’t remember if she successfully found and referenced it. She scrubs through the visualization of her activity to before she left for the conference. This timeline, like the workspace itself, is multiscale, enabling her to move up and down levels of abstraction. She shifts to a level where only major activities (like a session of data analysis, writing, or web browsing) are displayed, and sees a familiar view of her text editor. When she clicks it, the image centers and thumbnails of all the other applications that were open cluster around it.

This vision reminds me of a couple 20 year old papers in the PIM space worth your time, like Haystack: Per-User Information Environments or Lifestreams: A Storage Model for Personal Data:

A lifestream is a time-ordered stream of documents that functions as a diary of your electronic life; every document you create and every document other people send you is stored in your lifestream. The tail of your stream contains documents from the past (starting with your electronic birth certificate). Moving away from the tail and toward the present, your stream contains more recent documents – papers in progress or new electronic mail; other documents (pictures, correspondence, bills, movies, voice mail, software) are stored in between. Moving beyond the present and into the future, the stream contains documents you will need: reminders, calendar items, to-do lists.

What I like about this latest addition to the never-ending dream of the Memex is that it’s very explicit about how deeply integrated with the Operating System such a system would need to be to be effective:

We call for operating-system- wide activity tracking… Each of these systems transparently monitors application activity at the OS level, creating a timestamped trace of activities such as which files were opened and/or modified, which system calls were executed, which GUI windows were opened/closed, and which sub-processes were launched.

It’s also very explicit, in the sub-title, “Beyond application and document centered views of information”, where the problem lies. The artificial divide we interpose between code (Applications) and data (Documents) is part of the problem. Breaking down this divide reminds me of the Glamorous Toolkit – a kind of all-in-one platform fusing knowledge management, IDEs and computational notebooks. To a lesser extant Roam Research and friends embody this OS-like quality, and of course Emacs is the ancestor of all of them.

Funding models, the difficulty of integrating novel components, and UX concerns all have a tendency to push these applications to becoming a kind of user-specific operating system. But no-one wants their Memex to be or live inside a walled garden. Cloud-based or proprietary second brains are a non-starter for myself for obvious reasons. A healthy ecosystem is a network of interdependencies which can adapt to the loss of non-keystone species. org-mode files don’t look great inside Working Copy but they’re usable. For composability, what is needed are common file formats and protocols. This is easier said than done, of course, especially given that iOS barely supports files.

Still, vision-questing like this seems worthwhile. What would a healthy personal information ecosystem look like? For me:

  • It would be local-first, or at minimum have a sensibly unrestricted offline experience. Your data should be yours, & private by default.
  • Your data should synchronize to all of your devices, to the limits of their storage ability, with few to no manual steps required to bring them in sync.
  • Maintaining one or more shared, public spaces at different URLs should be as seamless as maintaining your personal Memex.
  • A core set of connecting paradigms & affordances would be shared between applications operating in this ecosystem. It seems a bit too early to say what those paradigms should be precisely, but some plausible ones that would benefit from cross-tool integration could be:
    • Bidirectional links
    • Blocks
    • An Inspector view of entities
    • A Live Notebook or Coder view for inline execution
    • Version control
    • Link & metadata-aware search

Most of what I see in the space these days are applications. I’m more interested in the infrastructural, middleware aspects of this. It feels like core components at the storage and messaging layers are missing, and I hope to explore this in future posts. Where else is this work being done? What do you think is missing?

  1. “I choose the term “conviviality” to designate the opposite of industrial productivity. I intend it to mean autonomous and creative intercourse among persons, and the intercourse of persons with their environment; and this in contrast with the conditioned response of persons to the demands made upon them by others, and by a man-made environment. I consider conviviality to be individual freedom realized in personal interdependence and, such, an intrinsic ethical value. I believe that, in any society, as conviviality is reduced below a certain level, no amount of industrial productivity can effectively satisfy the needs it creates among society’s members.” Illich, Ivan. Tools for Conviviality (pp. 20-21)↩︎