[Twisted-Python] Twisted.pim

R. Church churchr at ghostbitch.org
Wed Jul 4 00:54:01 EDT 2001

You absolutely need to read about the Remembrance Agent. It's a PIM,
in the sense of "personal information", and it uses a Google-style
relavence engine to self-organize documents, to some extent. It also
does searches in the background while you type, so that a buffer at
the bottom of the screen display documents similar to the one you're
currently writing. If you're in class typing notes about the French
Revolution, it will show you a list of other documents you've typed
about the French Revolution. It's very neat, and it's all implemented
in Emacs.


Beyond that, I think you need to take a serious look at Wiki
technology. For me, it's hard to beat Wiki as a PIM platform. It can
take any kind of text. MoinMoin lets me make nice templates for things
like addresses and appointments. It's all searchable. Everything is
hyperlinkable. And, it's suspiciously simple. I think you should
consider incorporating some of these characteristics in your PIM.

On Tue, Jul 03, 2001 at 10:25:28PM -0600, Travis B. Hartwell quipped:
> Hey Twisted gang!
>   Well, since Chris's mention of Twisted.pim in TWN #1, I have began
>   to think a lot about how such a thing would be implemented.  It has
>   been my idea for a while now to implement some sort of tools to
>   accomplish "Personal Information Management," and since glyph and
>   his minions have been trying to drag me into this for a while, I
>   decided to succumb. :)
>   Chris (radix) and I discussed for a while today on IRC some of our
>   ideas for what Twisted.pim would do and how it would be
>   implemented.  Short of boring you with a long log of our
>   conversation, here is a brief summary of some of our ideas.  I
>   submit them here for your review, criticism, praise, and
>   volunteering to help write this! :)
>   What is it?
>       First of all, Twisted.pim should be more than what traditional
>       PIMs offer (think of the Palm apps, KOrganizer, Outlook, etc.).
>       The main function of those applications is to handle
>       appointments, contacts, and to-do lists -- but all of that
>       separately.  It's almost like they are "Personal Appointment,
>       Things to do, and Contact Managers" instead of a more broad
>       "Personal _Information_ Managers."  Let me illustrate with a
>       couple of examples of what I mean:
>       Example 1:
>         Integration.  Normally, when I have an appointment scheduled,
>         it will involve something I have stored elsewhere -- whether
>         it be contact info for someone, or perhaps an item on my to-do
>         list, or a memo I had made earlier.  With the Palm and other
>         traditional PIM's, it isn't possible to link this information.
>         Wouldn't it be nice to be able to click on an icon, or select
>         an item from a list, from within that appointment view that
>         would take to you the related information?  Or that you could
>         take notes on that particular meeting and those notes show up
>         with your memos and perhaps with your completed to-do item?
>       Example 2:
>         Information management.  I like to take notes on what I'm
>         studying and working on.  Perhaps it is notes on how to
>         complete a particular phase of a project at work.  Or maybe
>         they are notes for a class at school.  Or perhaps it is notes
>         on something new I learned in sys admin stuff.  I would love
>         to be able to store these notes, be able to cross reference
>         them, and sometimes associate them with to-do lists or
>         appointments.  Or store links to information I found on the
>         web or whatever.  So, for example, when I see on a weekly view
>         that I have a test coming up, I could look at that appointment
>         and have a link to my class notes to view them.  So, I am
>         concerned about here more types of data being stored than the
>         usual, yet all of them being able to be related and associated
>         together.
>       I've been doing a lot of reading lately of the works of Stephen
>       R. Covey, specifically "The 7 Habits of Highly Effective People"
>       and "First Things First."  He talks a lot about different
>       generations of tools used is managing and organizing one's time
>       and resources.  Without going into too much detail, I want to be
>       able to use Twisted.pim to center my life on my "mission
>       statement" and goals stemming from that, then be able to manage
>       my life from this.  The linking and different views stemming
>       from my ideas of Twisted.pim are essential for me to do this.
>       Other than going beyond a tradition PIM in what data is stored
>       and how it can be associated it, building this upon Twisted
>       brings up some interesting possibilities.  First of all, my main
>       interest is having ubiquitous access to my data, so this truly
>       will be a useful tool for me.  So, whether it be through an
>       interface to Emacs, a GTK view, a Web interface, or whatever, I
>       want access to the same data and same functionality.
>       Eventually, I would love to get an Agenda or another PDA running
>       Linux and ideally this would run on it as well.  Secondly,
>       because it is built upon Twisted, this leads well to a
>       multi-user type of system.  Almost a groupware type of
>       application.  This leads to questions of authorization and
>       ownership of data items and who has permission to view them.  I
>       will lead the design of such items to people such as glyph who
>       is the "man with the internet."
>       So, basically, in a long nutshell, those are my ideas now of
>       what Twisted.pim should do.
>   How will it be implemented?
>       Here are notes of some of the things radix and I thought.  I'm
>       not too good at design of such systems right now, so this is
>       where I need a lot of help.
>       * Have a base class for all of the data types, that would
>         include shared items such as association info, name, owner,
>         etc.  Example data types descended from this would be
>         appointment, to-do item, memo, etc.
>       * Implement twisted.pim.associator which will provide the
>         support for associating and linking data items together.
>       * 'middle-end' classes which the UI viewers talk to.  Examples
>         of these would be the calendar view, the to-do list viewer,
>         etc.
>       * And of course, the UI's of which would include Emacs modes,
>         GTK interfaces, web pages, etc.
>       * Use the new twisted.pb to handle the access to this data,
>         except in the case of our small, handheld clients which would
>         access the middle-end objects directly, due to the hardware
>         restraints on these systems.  For access of local data on
>         desktop machines, it would just connect to localhost.
>       * Anyone volunteer to work on Pippy to get this sort of thing to
>         work on the Palm?
>       * And, until I get a PDA to run this on, I would like conduits
>         to export this data to my Palm.
>    Other than that, the implementation is kinda fuzzy right now.  I
>    want to get better at designing such things.  Hopefully all of you
>    ubercoders can help me figure this out. :)
>    Thanks for listening to my ideas!
> Nafai
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

More information about the Twisted-Python mailing list