[Twisted-Python] IM: Design ideas
Hey all, I hope y'all at IPC10 are having enough fun for the lot of us. Also, I hope y'all don't get annoyed with my constant feature requests and ideas and no code (as of yet). I hope to change that. But, in the meantime, I'm going to continue to throw out my ideas. Please tear it apart, kill it, praise it, or whatever you wish! As many of you know, I'm primarily a text-mode (console/xterm/ssh) and screen kind of guy, though I do live in X when I'm at home. (Gotta love the maximaxed, borderless xterms!) Anyway, I also am really enjoying the new GTK IM and the possibilities that it can offer. I am willing to shift to it as my primary communication client, ditching epic4 for IRC. But, I really need to be able to connect to my client from ssh -- using VNC really doesn't work that well from my cable modem to campus. I could just disconnect from GTK IM when I leave in the morning and connect via epic under screen and then reconnect via GTK IM at night. But that is a hassle. This is what I propose, and ask if this is possible or plausible: Add another layer between GTK IM and the [twisted.words/TOC/IRC] supports. This layer will have no UI, but will act as an abstract client for those support services. It will keep track of all activity on your joined channels, any /msgs, etc. Then, a UI client will connect to this layer thingamajig. It will be able to display all of the activity that has taken place while disconnected and then will communicate with the twisted.words server via the layer thingamajig. Then, I need to write a text-mode client for this (grrr, the annoying part) so I can just re-connect with that when I ssh into my box, but then later re-attach the GTK client, taking me back to where it was in the text-mode client. I don't think I'm being very clear, so I hope y'all understand. Either one of the clients can automatically start the layer thingamajig if it isn't already running, so those who don't want the detachable capability will use the client unawares. Good, bad, ugly, dumb? How hard? Nafai
On Mon, 2002-02-04 at 19:16, Travis B. Hartwell wrote:
This is what I propose, and ask if this is possible or plausible: Add another layer between GTK IM and the [twisted.words/TOC/IRC] supports. This layer will have no UI, but will act as an abstract client for those support services. It will keep track of all activity on your joined channels, any /msgs, etc. Then, a UI client will connect to this layer thingamajig.
What I'm thinking is that this layer could be a local, personal Words service. It has pretty much the interface you need, as it keeps track of what channels you're on, receives messages, etc. You'd set this words service up as a client (or perhaps a peer) to the shared server, and then your front-end would connect to your personal server. It certainly makes the clients easy enough to write =) and you can plug in other capabilities by having other agent-programs log in to your personal server too. I'm still a bit under the weather, so I don't know how lucid I'm being, but does this spark anything for you?
On Tue, Feb 05, 2002 at 01:46:20PM -0800, Kevin Turner wrote:
What I'm thinking is that this layer could be a local, personal Words service. It has pretty much the interface you need, as it keeps track of what channels you're on, receives messages, etc. You'd set this words service up as a client (or perhaps a peer) to the shared server, and then your front-end would connect to your personal server. It certainly makes the clients easy enough to write =) and you can plug in other capabilities by having other agent-programs log in to your personal server too.
I'm still a bit under the weather, so I don't know how lucid I'm being, but does this spark anything for you?
This is roughly what I was thinking. Part of the reason I was somewhat hazy in my mail is that I don't really know how words works. If this can cache all events and messages for me, it would be great. Now if we can just get the word from the big wigs. Naf
On Tue, 2002-02-05 at 14:01, Travis B. Hartwell wrote:
On Tue, Feb 05, 2002 at 01:46:20PM -0800, Kevin Turner wrote:
What I'm thinking is that this layer could be a local, personal Words service. ...] If this can cache all events and messages for me, it would be great.
Well, of course, there are a few things standing between this concept of the personal Words server and using it in reality. One thing is that nobody's done a Words service to Words service connection yet, whether it be oriented towards linking several public servers, or using a personal server as a Words client. The other is that no, there's no cacheing or spooling done by the Words service, so you'd have to add that in too. One question I might ask here is, what is it that you really want to do? I currently leave an IRC client running under 'screen' in some places, but I think that if I had access to full logs of that channel, I wouldn't need to leave a personal client connected. Thus the desire for the stenobot. What other needs does this Words personal proxy serve? - Kevin
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 5 Feb 2002 at 13:46, Kevin Turner wrote:
On Mon, 2002-02-04 at 19:16, Travis B. Hartwell wrote:
This is what I propose, and ask if this is possible or plausible: Add another layer between GTK IM and the [twisted.words/TOC/IRC] supports. This layer will have no UI, but will act as an abstract client for those support services. It will keep track of all activity on your joined channels, any /msgs, etc. Then, a UI client will connect to this layer thingamajig.
What I'm thinking is that this layer could be a local, personal Words service. It has pretty much the interface you need, as it keeps track of what channels you're on, receives messages, etc. You'd set this words service up as a client (or perhaps a peer) to the shared server, and then your front-end would connect to your personal server. It certainly makes the clients easy enough to write =) and you can plug in other capabilities by having other agent-programs log in to your personal server too.
I'm still a bit under the weather, so I don't know how lucid I'm being, but does this spark anything for you?
The problem with just having a local Words service is that it doesn't deal with other protocols. Running a local service for every protocol you want to connect to would be a pain. Another idea (perhaps closer to what Nafai wanted) is to have an "Instance Messenger" PB service, with methods like addAccount(), signOnAccount(), sendMessage(), joinGroup(), etc. The PB service would call back with methods like gotMessage() and joinedGroup(). When the UI is disconnected from the service, it logs messages, and when a UI reconnects, it sends the log messages so the UI is caught up. The only issue I see with this is configuration. Perhaps all configuration could be just only with GTK-IM? Writing complex UI- indepdent anything is hard, and it would probably be easiest to restrict it to GTK-IM with the Glade Account Manager. - -p - -- Paul Swartz (o_ http://www.twistedmatrix.com/users/z3p.twistd/ _o) //\ z3p@twistedmatrix.com /\\ V_/_ AIM: z3penguin _\_V-> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (MingW32) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjxgtIEACgkQ/0FqBhns6q3IhACfYx8vZxWwK0xk6tzufOsS7SWa TgsAn1SmSf9+7Gd2aCBooIiiZAwCXEdN =Tbdv -----END PGP SIGNATURE-----
participants (3)
-
Kevin Turner -
Paul Swartz -
Travis B. Hartwell