Instead I have discovered that along the way I will end up going back and documenting something that seems so self-evident that I have forgotten about it completely.
One example of that is really documenting what are the activities I expect to be able to do with the PIM. This is implicit in a lot of the previous posts, but it is definitely worth making it explicit here.
Basic activities that I expect a user to be able to do include the following:
Capturing and evaluating input: Being able to triage and classify events, tasks, contact information, and other references and notes as they come in. Being able to quickly decide what needs to be handled immediately, what can wait, and if something needs to be scheduled immediately the user should be able to do that quickly even if it means classifying it or scheduling it approximately. "oh look, a dinner invitation, I don't even need to look at it until next week, so I will throw it into next week.". Being able to throw a note down into the system to be converted to an action or a task later.
Organizing: Going beyond the initial triage to the point where tasks and events are being scheduled in time (or at least the order is being set), as well as coordinating with others. Being able to overlay your own taxonomy/ontology/organizational structure onto the raw objects in the domain ( events, tasks, promises, actions, contacts, etc.). Being able to extend the raw objects of the domain so that they can be personalized to carry the information that the user needs.
Collaborating: Not only sharing calendars, but tracking conversations associated with shared activities. Tracking the status and progress of projects from organizing your grandmothers birthday party all the way to coordinating the training of a large group of people.
Squirreling things away so the nuts can be found again: one of the biggest battles for users of a PIM is storing the data (documents and pictures and other information) associated with an event, a task,a person, or a group in such a way that it can be easily found when needed.
Finding: Looking through information that you stored off to the side with the intention of finding it again. Being able to reconstruct timelines based on e-mail conversations and scheduled events.
Presenting: Visualizing and reporting on the data in a way that is natural for the user. Being able to generate reports on the status of projects from scheduling birthdays and tracking who is coming all the way to larger projects like the implementation of a training regimen for a group of trainers.