1. An information recording and retrieval system, comprising: a database for storing information; and a plurality of objects, each representing a user or other entity identifiable by the system, each object representing a user being portable, each object comprising: an agent; means for communicating between said agent and agents of other objects; and means for communicating between said agent and said database; and a user interface for communicating between a user of said object and said agent; wherein said information to be recorded is organized as a set of threads, each thread comprising a chronological sequence of time-stamped facts all of which relate to a single object and at least some of which also represent descriptors of other objects, each fact including an attribute and a value of that attribute for said given object at the time indicated by said time-stamp, said facts being automatically recorded in said database upon physical collocation of two or more objects.