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
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. http://rhodes.www.media.mit.edu/people/rhodes/Papers/wear-ra.html 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@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
On Tue, Jul 03, 2001 at 10:25:28PM -0600, Travis B. Hartwell wrote:
What is it? First of all, Twisted.pim should be more than what traditional PIMs offer (think of the Palm apps, KOrganizer, Outlook, etc.).
Please look at Evolution too. I'm sure you can find something to not like about it, but there's been a lot of sweat put into it, so you should at least be able to learn something from their efforts.
Example 1: Integration.
You can't spend too much time thinking about integration before someone brings up the rather ill-defined idea of "desktop environment". Now, forget I said that phase, because it doesn't mean much. ;) I just raise a few more questions: What if the resource you are working on is not an emacs buffer, but an Excel spreadsheet? Can you incorporate resources into this system that you, the Twisted.pim designer, did not anticipate the existance of? Can other third-party applications make use of your contact list and schedule things into your calendar -- even if they're not written in Python? To what degree does "integratibility" imply "embedability"? Now, we all know that since PB is being published under the Twisted label, it's got to be the greatest thing since spreadable cheese. But even so, but I'd sleep better at night if I read a memo comparing its suitability for "Integration." to the other things that are being used these days from that pot of ole soap ipc corba orbit bonobo rpc kparts stew.
Example 2: Information management.
Another good place to look for examples of information management (in addition to what churchr mentioned) is at Zigzag, Ted Nelson's brainchild. There's an implementation now that's at least far along enough that you can play with it at http://gzigzag.sourceforge.net/ . I don't feel it's quite to the point where it's ready to take off on its own, as the applications for it are rather incomplete and the only chunks of data you can really use in the default interface are one-line strings, but it's a toy from which you might be able to learn something about dense bidirectoinal hyperlinking.
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."
Ok, now sir, you are scaring me. ;) (Sorry, personal allergy to the ideology of Mr. Covey. Gives me hives.) Best wishes, - Kevin (Acapnotic)
On Wed, Jul 04, 2001 at 10:43:42AM -0700, Kevin Turner wrote:
Please look at Evolution too. I'm sure you can find something to not like about it, but there's been a lot of sweat put into it, so you should at least be able to learn something from their efforts.
The biggest problem with Evolution (or anything) is that it's not Twisted enough. One small part of the philosophy behind Twisted is reinventing the wheel, but to be a rocket-powered wheel (look at all the UNIX services we're reimplementing).
You can't spend too much time thinking about integration before someone brings up the rather ill-defined idea of "desktop environment". Now, forget I said that phase, because it doesn't mean much. ;) I just raise a few more questions: What if the resource you are working on is not an emacs buffer, but an Excel spreadsheet? Can you incorporate resources into this system that you, the Twisted.pim designer, did not anticipate the existance of? Can other third-party applications make
If you want to make a new type of information, make a new subclass of the base InfoData class. You can also make a new organizer class for it, and a new UI. The "integration" he's talking of isn't at the UI level, it's at the base. In other words, our integration isn't the same integration that Desktop Environments are going after -- Look&Feel integration. We're going for data that will be integrated. The associator will be able to associate arbitrary InfoDatas to each other.
use of your contact list and schedule things into your calendar -- even if they're not written in Python? To what degree does "integratibility" imply "embedability"?
Sure, as long as there is a PB implementation in that language (on a side note, dash seems to be getting along with a Lisp implementation of glen. After glen, there will probably be a PB implementation for Lisp, too). Of course, accessing the data without going through PB will be harder, but that wouldn't be Twisted.
Now, we all know that since PB is being published under the Twisted label, it's got to be the greatest thing since spreadable cheese. But even so, but I'd sleep better at night if I read a memo comparing its suitability for "Integration." to the other things that are being used these days from that pot of ole soap ipc corba orbit bonobo rpc kparts stew.
PB has nothing to do with the integration of the PIM. The big integrator is the imaginary 'associator' module in the PIM package. PB will just serve as the protocol for remote access to the PIM information, and by remote I don't just mean connecting to remote hosts - there will be a PIM service running on your local twisted process, and you connect to that with the PIM clients. -- Chris Armstrong carmstro@twistedmatrix.com http://twistedmatrix.com/~carmstro carmstro@dynup.net
On Wed, Jul 04, 2001 at 02:21:42PM -0400, Chris Armstrong wrote:
On Wed, Jul 04, 2001 at 10:43:42AM -0700, Kevin Turner wrote:
Please look at Evolution too. I'm sure you can find something to not like about it, but there's been a lot of sweat put into it, so you should at least be able to learn something from their efforts.
The biggest problem with Evolution (or anything) is that it's not Twisted enough.
Oh, as I said, I have no doubt that there are problems, from biggest to littlest. I was merely suggesting the possibility that they might have got something *right* too -- and if so, that's good information to have when you're setting out to achieve something with many of the same goals. I don't think it hurts to know what the wheel looks like before you reinvent it.
Now, forget I said that phase, because it doesn't mean much. ;) I just raise a few more questions: What if the resource you are working on is not an emacs buffer, but an Excel spreadsheet? Can you incorporate resources into this system that you, the Twisted.pim designer, did not anticipate the existance of?
If you want to make a new type of information, make a new subclass of the base InfoData class. [...] The "integration" he's talking of isn't at the UI level, it's at the base. In other words, our integration isn't the same integration that Desktop Environments are going after -- Look&Feel integration. We're going for data that will be integrated.
This is why I told you to forget I said the "d. e." phrase =) I think you underestimate miguel's ambition -- Twisted folks aren't the only ones trying to take over the world. ;) Having a cohesive environment does not just mean that the dialog boxes all look similar and the context-sensitive pop-ups feel the same, you also need to be able to incorporate the product of one application into another -- e.g. your plotter into your spreadsheet, your spreadsheet into your marketing document, your documents into your conferences and presentations. You have not convinced me that this is different from your "data integration". [ http://www.ximian.com/tech/bonobo.php3 ] [ The "why corba sucks" flamewar may now commence. ] [ Feel free to understand a "How little Acap understands things" flame too ;) ]
Now, we all know that since PB is being published under the Twisted label, it's got to be the greatest thing since spreadable cheese. But even so, but I'd sleep better at night if I read a memo comparing its suitability for "Integration." to [...] corba [etc...].
(The following is me paraphrasing radix, not quite his original words:) } PB has nothing to do with integration between the PIM components. } That will be done by our /imaginary/ [emphasis mine ;) ] 'associator' } module. PB will just serve as the portocol for [remote] access to the } information. See issue my #2 in my other post from today, <20010705201609.A3233@troglodyte.menefee> Cheers, - Acapnotic (Kevin Turner)
"Acapnotic" == Kevin Turner
writes:
> This is why I told you to forget I said the "d. e." phrase =) I > think you underestimate miguel's ambition -- Twisted folks > aren't the only ones trying to take over the world. ;) Having a > cohesive environment does not just mean that the dialog boxes > all look similar and the context-sensitive pop-ups feel the > same, you also need to be able to incorporate the product of one > application into another -- e.g. your plotter into your > spreadsheet, your spreadsheet into your marketing document, your > documents into your conferences and presentations. You have not > convinced me that this is different from your "data > integration". > [ http://www.ximian.com/tech/bonobo.php3 ] [ The "why corba > sucks" flamewar may now commence. ] [ Feel free to understand a > "How little Acap understands things" flame too ;) ] Given the constraints of GNOME's environment (i.e. "using C"), I think ORBit/Bonobo dont suck _too_ badly. At some point in the future (after at least one rev each of Twisted and GNOME), I think it'd be worth looking at getting Twisted to handle Bonobo components intelligently. That'd make a _lot_ of client-side integration stuff easier -- and incidentally help along twisted.pim. ;) At this point though, there's not a whole lot we can do with integration with 'desktop tools' (which _is_ what something of this scope should do) -- and I dont think writing our own is all that great of a solution either. So, for now, I think it's worth concentrating on stuff we can write and use _now_ (and an integrate easily into existing twisted modules -- the biggest example i'm thinking of now is a webpage-annotation system a la crit.org, but personal and not written in horrid perl) rather than do-everything frameworks that depend on stuff we dont have yet. -- Allen Short Programmer-Archaeologist shortwa@auburn.edu "optimization is hacker crack. " -- Johan Kullstam, comp.lang.lisp
On Thu, Jul 05, 2001 at 08:19:02PM -0700, Kevin Turner wrote:
This is why I told you to forget I said the "d. e." phrase =) I think you underestimate miguel's ambition -- Twisted folks aren't the only ones trying to take over the world. ;) Having a cohesive environment does not just mean that the dialog boxes all look similar and the context-sensitive pop-ups feel the same, you also need to be able to incorporate the product of one application into another -- e.g. your plotter into your spreadsheet, your spreadsheet into your marketing document, your documents into your conferences and presentations. You have not convinced me that this is different from your "data integration".
Well, except that we're not integrating spreadsheets into documents, we're integrating personal information. (see below)
Now, we all know that since PB is being published under the Twisted label, it's got to be the greatest thing since spreadable cheese. But even so, but I'd sleep better at night if I read a memo comparing its suitability for "Integration." to [...] corba [etc...].
(The following is me paraphrasing radix, not quite his original words:) } PB has nothing to do with integration between the PIM components. } That will be done by our /imaginary/ [emphasis mine ;) ] 'associator' } module. PB will just serve as the portocol for [remote] access to the } information.
The associator module will probably be pretty easy to implement. It's just that Nafai nor I have gotten around to it yet. ;) I put up some preliminary babblings on the associator on the Wiki page for TwistedPim. I also think you don't quite understand what we're trying to do here - We're not trying to integrate "everything under the sun", we're just making it so the PIM Data we have is highly interconnected. The PIM idea came before the Associator idea, and it just fits really well. The associator isn't meant to be the end-all be-all, Twisted is. ;-) On a side note, we really have to stop using the term "associator module" ;) The association code will be in the InfoData class itself, and there will probably be another module that just keeps track of lists of all the different kinds of InfoData. Not sure what this should be called -- anyway, go read TwistedPim, I'm babbling =)
On Fri, Jul 06, 2001 at 12:36:06PM -0500, carmstro@twistedmatrix.com wrote:
I also think you don't quite understand what we're trying to do here - We're not trying to integrate "everything under the sun",
I'm glad I got that across :) no, I don't quite understand, so I'm trying to get you to define scope (something Nafai has confessed to struggling with). What is "PIM data"? Which things are "personal information" that you're managing, as opposed to "apersonal information"? You have ToDo entries, grouped in lists, some of which have times associated with them and thus get called "appointments". Does that cover it? Then why didn't you say so? ;) -- The moon is waning gibbous, %99.15 full. (15.6 days old) phase: 0.529400 Angular diameter as seen from the earth: 0.4949 degrees.
On Fri, Jul 06, 2001 at 01:35:16PM -0700, Kevin Turner wrote:
On Fri, Jul 06, 2001 at 12:36:06PM -0500, carmstro@twistedmatrix.com wrote:
I also think you don't quite understand what we're trying to do here - We're not trying to integrate "everything under the sun",
I'm glad I got that across :) no, I don't quite understand, so I'm trying to get you to define scope (something Nafai has confessed to struggling with). What is "PIM data"? Which things are "personal information" that you're managing, as opposed to "apersonal information"? You have ToDo entries, grouped in lists, some of which have times associated with them and thus get called "appointments". Does that cover it? Then why didn't you say so? ;)
Well, for instance, something that is *not* personal data is your example of embedding spreadsheets in documents. Appointments, todo lists, contacts, and any other data that deals specifically with *you* are personal information. I think Glyph has also mentioned something about InstanceMessenger somehow integrating with Twisted Pim, but I don't remember what for. -- Chris Armstrong carmstro@twistedmatrix.com http://twistedmatrix.com/~carmstro carmstro@dynup.net
Greetings, Palm's latest desktop app has a new look: http://www.palm.com/software/desktop/ A Twisted app which could match Palm's level of personal information organization would be good, one that could surpass it would be great. I've used paper-based Franklin Planners, the original Apple Newton, the Palm III, and currently loving the Kyocera Palm/cellphone combo unit (with Internet access, oh yeah). I spend 80% of my time with the Palm in the Memos section, 15% in Addresses, 5% in Calendar, and 0% in Todos. Not that I don't keep todos, it's just that the one built into the Palm suite is too limited. (I keep them in various memo categories.) When I'm sitting in front of a computer, I have the Palm desktop app open. When I get up, I sync and have the Palm with me. The Palm bridges data between computers that I use. Activity logs, ideas, project meta-information, notes, web links are all there, part of the seamless information space formed between the desktop apps and the portable device. From this perspective, the device is far less important than the information space, it can be seen as merely one view into that space. In addition to the basic Palm apps, I use a piece of software called 'Secret!', which has a Palm-hosted app, a desktop-front end, and a conduit to connect the two. It acts as a (simple) memo app, but it encrypts that data for true privacy: http://linkesoft.com/english/secret/ Strong encryption is a requirement for any personal information application. Also, there's some really interesting functionality being developed by the oddly named folks, Llama Graphics: http://www.llamagraphics.com/ Their app is called "Life Balance", which claims to be "the first personal productivity application designed to help Palm users go beyond conventional planning systems to not only manage their time but to achieve balance between the often conflicting demands of career and personal life." They don't have the desktop front-end ready, but will RSN. When they do, it will probably be a tool worth evaluating. There are still good ideas to extract from the Franklin Planner people, especially their diverse set of forms for various specialized purposes. Hmm... Checking the site now, they have a new app called 'One Place' which does some interesting indexing and cross-referencing of your hard drive and documents, behold the intensely cheesy demo: http://www.franklincovey.com/oneplace/demo.html Jason
On Mon, 9 Jul 2001, Jason L. Asbahr wrote:
I spend 80% of my time with the Palm in the Memos section, 15% in Addresses, 5% in Calendar, and 0% in Todos. Not that I don't keep todos, it's just that the one built into the Palm suite is too limited. (I keep them in various memo categories.)
[snip] In case that whole schpiel didn't speak for itself, I have to say that I consider Jason somewhat of a domain expert in the PIM space :). Whoever's writing code for this PIM thing, I strongly suggest you pick his brain (or better yet -- somehow trick him into writing code! ^_^). I would like to at least avoid making the *same* design mistakes previous platforms have made. I do think it's interesting to note that arguably the most useful app on the Palm is the memo pad; I think that the semantics of memos are almost completely isomorphic to a directory structure. Is there anything else that they do which I don't know about? ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
On Fri, 6 Jul 2001 carmstro@twistedmatrix.com wrote:
On a side note, we really have to stop using the term "associator module" ;) The association code will be in the InfoData class itself, and there will probably be another module that just keeps track of lists of all the different kinds of InfoData. Not sure what this should be called -- anyway, go read TwistedPim, I'm babbling =)
I really have completely stopped understanding what you're talking about here. When you're talking about associations, is it a relational database? That's a fairly heavy degree of complexity, but it's necessary for some of what you're describing. The cool thing about Twisted is that it just uses the "the world is a directed graph" feature of Python to maintain associations. I don't see why you need to be more complicated than that. ______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
Well, now you're confusing me. :) All I'm thinking of so far is having every PIM data object have a dict filled with other objects by key. Check out my sample implementation of InfoData on the wiki. On Fri, Jul 06, 2001 at 03:42:51PM -0500, Glyph Lefkowitz wrote:
I really have completely stopped understanding what you're talking about here. When you're talking about associations, is it a relational database? That's a fairly heavy degree of complexity, but it's necessary for some of what you're describing. The cool thing about Twisted is that it just uses the "the world is a directed graph" feature of Python to maintain associations. I don't see why you need to be more complicated than that.
______ __ __ _____ _ _ | ____ | \_/ |_____] |_____| |_____| |_____ | | | | @ t w i s t e d m a t r i x . c o m http://twistedmatrix.com/users/glyph
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
-- Chris Armstrong carmstro@twistedmatrix.com http://twistedmatrix.com/~carmstro carmstro@dynup.net
On 07/03/2001, I heard Nafai say *something* like this, err, kinda, anyway... Please, do not hesitate to correct me where I have heard incorrectly.
Hey Twisted gang! I have been assimilated into the Twisted collective. radix and I were discussing our ideas for Twisted.pim; here's a brief summary. I submit them for crunchy things to add to your breakfast cereal.
First of all, Twisted.pim should be more than what traditional PIMs (i.e. Outlook) offer. The main function of those applications is to handle appointments, contacts, and to-do lists. It's almost like they are applications written to do these things instead of being grand universal "_Information_ Manager"s. Examples:
Example 1: Integration. Normally, when I have an appointment scheduled, it will involve something other than the number of seconds elapsed since the dawn of the epoch. With the Palm and other traditional PIMs, it isn't possible to link this other information to the appointment. Wouldn't it be nice to have hyperlinks?
Example 2: Information management. I take notes. I would like to store and catalouge these notes, and make references to them from other documents, and vice versa. To achieve this goal, I believe my application must have knowlodge of any and all types of data I may encounter, for the only way I can be sure I can make inter-document references is to own all the storage formats.
Having access to my data from a wide range of platforms is important to me. I believe Twisted will help me with this, as it lends itself to building resources with multiple interfaces and is funky like that. I believe that Twisted will also facilitate taking this project into a multi-user groupware kind of thang, but as that leads to hairy access control issues, I'll leave that part to someone else with more internet than I.
So, basically, in a long nutshell (ehh... macademia?), those are my ideas now of what Twisted.pim should do.
How will it be implemented?
With a cross-platform three-tier client-server arcitecture with internet on top. Except on systems running on thin computing devices -- we think we'll only be able to fit two tiers in these.
Thanks for listening to my ideas!
Nafai
Ok, so here are my issues: 1) Where is the line between PIM (Personal Information Manager) and that great holy grail of the Information Age, the Universal Information Manager? What *doesn't* Twisted.pim do? 2) What I'm hearing, distilled: "We have a project to manage relations between all types of documents a person may ever come in contact with. Since this project is self-contained, we will use a private interface to manage related information between these documents. This is okay, since we will always be able to manage any amount of information about any number of document types from a centeral place -- that is, this codebase. "In contrast to what's in our internal structure (that is, chunks of information with relations between them), there will be clients and other information tools for which we will have a seperate interface (using PB). This is a different interface because these clients display documents... err, structured information... which is built of relations to the information on other documents, which... uhh, damn, what was the difference between this and our other thing again?" I'm also taking issue with this notion that all sorts of documents will be handled by the Twisted.pim codebase. Let me humbly suggest that you are wrong ;) and that you will not actually sit down and write a class for everything under the sun. Even if you did, there's going to be Some Other Type of document out there, and someone is going to want to write a third-party module for it, and perhaps I'm just not being Pythonic enough, but I'm thinking this module is not going into the Twisted.pim codebase. Twisted is ambitious. Twisted laughs in the face of previous inventors of the wheel. But I feel Twisted is also pretty good at being modular and de-centeralized, so I'm hoping it can realize the limitations of its resources and leverage this other aspect, leaving a window open for more resources to be linked in as they become available at a later date. -- The moon is full, %99.95 full. (15.0 days old) phase: 0.506983 Angular diameter as seen from the earth: 0.4973 degrees
participants (9)
-
Allen Short
-
carmstro@twistedmatrix.com
-
Chris Armstrong
-
Glyph Lefkowitz
-
Jason L. Asbahr
-
Kevin Turner
-
Kevin Turner
-
R. Church
-
Travis B. Hartwell