[Adium-devl] Merging Chat's and IM's

Eion Robb eion at robbmob.com
Tue Apr 29 20:23:51 UTC 2008


> The concept if I recall correctly was Conferences. Conferences are
> different from Chats because Chats have an id. This small difference
> makes them conceptually completely different.
>
>  * Chats can have 0 participants
>  * Chats can appear on your buddy list
>  * Chats can be registered and searched
>
> Actually IM's can be Conferences with two participants.
I like where that's going.  Although I've been thinking of removing the
distinction between an IM and a chat completely, and instead have the one
PurpleConversation with a minimum number of participants and a maximum as
well as an optional id (I hate id's btw), and then hooking up the already
existing functions to use the new data type, so that existing protocols
could slowly be updated without breaking all of libpurple first (as long
as they didn't directly touch the struct).

> IMO this should be done at the libpurple level. I know at least the
> msn prpl would benefit from that :)
Yeah, it looks like it might have to be both a libpurple and an
Adium/other client thing.  Doing it at the libpurple side would probably
be more beneficial in the long run.

> Eiter way, we *should* be able to implement this stuff on the libpurple
> side in
> such a way that we can "promote" from IM to conference, and possibly IM to
> chat
> and/or conference to chat.  If protocols really do handle this seamlessly,
> like
> MSN can, "promotion" makes sense.  Perhaps something like
> purple_conv_im_promote_to_conference() or
> purple_conv_conference_promote_im().
Personally, I dont like the whole "switch modes" thing, mainly because
it's been drilled into me that "modes are bad".  It would makes things
even more crazy if there's more modes of messaging in future, not that I
can forsee any other than chat/im at this very moment





More information about the devel mailing list