On 05/19/11 06:54, naresh v wrote: > For example, if you have categories called “Mary,” “Sally,” and > “Sales” and you have a specific piece of information that reads “Tell Mary > that > Sally needs sales reports today,” the item will automatically show up into > those three categories–plus, because you used the word “today,” Agenda will > file the item by date, too.
Nice! I have a plan for a PIM system based around predicate logic, as implemented by systems such as Prolog or RDF. The idea is that all my data can be stored as loosely-structed relationships between multiply typed objects, such as: My Macbook is some property My Macbook has serial number XXXXXXXXXXXXX My Macbook was bought at event 59 Event 59 is an event Event 59 is happened at 2010-03-25 ... >From this, it's trivial to do things like display a timeline (find all the events in the system by date), and to explore the relationships between objects (property has a purchase event and maybe other events: repairs, loss/breakage, sale and so on; people also have events such as births and marriages; etc). This of course needs a simple user interface, or maybe a bunch of them for interaction with different aspects of it - a calendar view for events (which can then link into the contact database UI if I drift into a person from an event), something like the Agenda view for tasks/projects, and so on. Ideally, the interfaces could be developed as loosely-coupled modules via a registry of handlers for different types of object. And since objects can have more than one type (a person is a contact, and so is a company, and a company can also be some property...), modules might need to share screen real estate for some objects. And so on. Oh look, I have a blog post on the matter: http://www.snell-pym.org.uk/archives/2009/12/16/personal-information-management/ ABS -- Alaric Snell-Pym http://www.snell-pym.org.uk/alaric/
