PIM - personal information manager

A Personal Information Manager pim

To study the requirements of personal database management, we constructed several prototype systems, culminating in a program suitable for release as a commercial product. This program, named "Lotus Agenda," meets several design requirements for managing personal information. These are:

  • The user must be able to easily enter, edit, and manipulate free textual items without concern for the underlying structure of the database.
  • The user must not be required to specify the structure of the data in advance and must be able to modify the database structure as it evolves without losing data or reorganizing the database.
  • The user must be able to define reports in idiosyncratic formats. Through these reports, the user must be able to create and modify both database structure and content.

From the user's perspective, Agenda consists of a few simple elements that are used to incrementally define and populate a database.

The first of these is the item, as described above. Items are the content of the database and can consist of up to several lines (350 characters) of text. Items in Agenda are assigned to or filed in categories. Categories provide the structure of the database and are used to organize items and display them conveniently. Like items, the categories are not pre-defined--the user creates, deletes, and modifies categories as necessary in order to manage the items.
Each category defines a subset of those items assigned to it. Alternatively, categories can be understood as one-place predicates defined over the universe of items. Given the categories defined earlier, the user might assign an item "Call Fred next Tuesday about pricing policy plans" to several categories: "Phone calls," "Fred Smith," and "Pricing policy committee."

Shows a simple list of items in Agenda assigned to a category called "Tasks". A bar cursor serves as a pointer, highlighting the current item or category in reverse video. In the example, the cursor is on item "Call Jeff about the R&D budget."

Both items and categories can optionally have an attached body of text called a note. Notes can be up to about 10,000 characters in length and may be internal to an Agenda database or contained in a separate ASCII file. Notes are easily accessible from an item or category by placing the bar cursor on the item or category and pressing a function key.

You can attached the item "Call Jeff about the R&D budget." Typically, notes are used to capture some further detail or some secondary information about an item or category. Another use of an item and its note is to make the note a short document and use the item itself as a title. Notes on categories are often used to document the intent behind the category, i.e., what sorts of items should be assigned there.

The categories are organized into a tree structure called the category hierarchy. The purpose of the hierarchy is to conveniently describe two fundamental structuring principles: subsumption and mutual exclusion. Items that are assigned to a category in the hierarchy are also implicitly assigned to the parent of that category in the hierarchy, i.e., a parent category subsumes its children. A category in the hierarchy can be optionally designated as exclusive, indicating that no item can be assigned to more than one child in the category's sub tree.

Subsumption and mutual exclusion, defined through this tree structure implement a limited class of logical implications: A implies B (subsumption); and A implies not B (mutual exclusion). Advanced features called conditions and actions allow users to define more complex logical interrelationships between categories, including a form of declarative if-then rules. Automatic assignment and other forms of intelligent behavior are implemented in part by enforcing these relationships.