Information management classics: Lifestreams (1996)

[2011-04-08] info mgmt, computers
(Ad, please don’t block)

Lifestreams [1] were created in 1996 to correct some of the shortcomings of document management when used for personal information management. Even today, document management is still the dominant way of information management, both conceptually and as a user interface metaphor. Some of the shortcomings are:

  1. Naming a file and choosing a storage location is unneeded overhead.
  2. Directories are inadequate as a classification mechanism. Classification should be dynamic and multi-dimensional (more than one “directory” a file can be in).
  3. Archiving should be automatic. Often users completely remove files to avoid clutter. Putting them away in an organized (and retrievable) way is difficult.
  4. Summarizing, compressing, visualizing groups of documents is important and should scale.
  5. Computers should make “reminding” convenient. The goal should be to make calendars active (send an email etc.) and integrate them into the system.
  6. Personal data should be accessible anywhere and compatibility should be automatic (that is, many devices should be supported).
Lifestreams correct these shortcomings by storing all documents in a single stream that is ordered by date of creation (no name or directory needed!). It is displayed as a diagonal stack of thumbnails with visual clues for properties such as “not yet read” or “writable”.
The graphical user interface of the Lifestreams application.
Past, present, future. The date of creation is partitioned into past, present, and future:
  • The past is used for archiving.
  • The present holds what the user is currently working on.
  • A date of creation can also be in the future, with the intention of the document being a reminder: something to be worked on in the future, an email to be sent automatically, an upcoming event, etc.
This time-centric approach leads documents being shown together that have been created at roughly the same time. Directories would prevent this kind of correlation.

Standard operations. There are a few standard operations on documents:
  • “new” for creating a new unnamed document, without having to specify a storage location;
  • “clone” for duplicating documents;
  • “freeze” for making documents read-only;
  • “transfer” for distributing documents, sending emails etc.;
  • and “print” for printing documents.
Substreams. Where traditional file systems have directories, Lifestreams offer substreams.
  • A substream is created by filtering either the global stream or another substream. It is updated dynamically, whenever documents change.
    • One example of filtering is using the full-text “find” operation. The substream only comprises those documents of its superstream that contain the search text.
  • A summary of a stream is a dynamic document that summarizes one aspect of that stream. For example, “by document size” shows a table with document sizes.
Integrating applications. An agent is like a plugin for Lifestreams and provides application-specific functionality such as implementations of standard operations and completely new operations. Support for several applications shows how universal the Lifestreams model is:
  • Email: is sent via the “transfer” operation. Automatic sending in the future is done by place the email creation date in the future. The future is thus a convenient metaphor for automation.
  • Phone call records: the agent-supplied operation “make a phone call” automatically logs phone call records. A calling list can be created by summarizing them, possibly after a filtering step.
  • Stock portfolio management: Each stock is a document. Summaries provide lists and graphs.
  • Bookmark management: A daemon watches web browsers and automatically adds new bookmarks to a stream (as a URL document). These documents can be easily transfered to other users, via the “transfer” operation.
  • Using time as the dominant criterion for ordering is smart, because it is intuitive and easily remembered. It also can be automatically attached as meta-data to documents. Conversely, document names have to be created manually.
    • A similar kind of meta-data that is available to modern applications is geo-location.
  • Splitting time into past, present, and future elegantly separates different ways of working with documents. However, this separation should probably be handled differently:
    • Past, present: should be more like labels that are attached to documents, e.g. “archived” and “current”.
    • Future: It is better to store a separate due date instead of using the date of creation, because even if with a reminder for the future, you will sometimes want to know when it was created.
  • Delivering data to many devices (desktop computers, mobile phones, etc.) has been solved via webapps. It would still be a challenge if current smartphones didn’t have modern web browsers.
Further reading:
  1. Lifestreams Project Home Page