Page 1 of 1

joscar, kopete, libgaim 2, etc.

Posted: Sun Jan 08, 2006 3:26 pm
by magnetikal1
I've been looking through the forums reading what I can find about what engine(s) Adium will be using in the future. I was wondering if any devs have some time to comment on some of the stuff I've seen discussed. I've seen joscar being put forward as something Adium will likely switch to in the future for AIM support, possibly kopete for other functions, of course libgaim 2 for the 1.0 release, and maybe some other projects which I can't remember off the top of my head.

In the end I don't care what is used, but one thing I do wonder is whether or not going with so many underlying solutions will fragment the Adium project too much? Is it possible to split the core of the application in so many pieces and still keep updating it with the latest additions to each library? It seems like gaim has been the focus of quite a bit of attention as a result of Google's summer of code - is it possible that gaim will see the lion's share of development in the future and joscar will fall by the wayside, thereby negating the advantages of switching? How far behind is gaim compared to joscar? Is there work on voice/video support with joscar so that we will be able to talk to iChat users in the future? And is there a significant increase in CPU usage from the fact it's written in Java and therefore requires the JVM to be running? (I know that Java code itself can be just as fast and efficient as any other code, but simply running the JVM can be a tax on older machines.)

Like I said, I don't have a vested interested in seeing either libgaim or joscar used in place of the other. I just want the best functionality possible out of Adium. There are also other projects like kopete which it sounds like some devs have taken an interest in. I'm curious about these aspects which I haven't seen much discussion about. I'd like to see some comments on the current and future advantages of one IM engine over the other, and I'm also interested in whether devs think there will be a lot of overhead maintaining several libraries instead of having everything handled by libgaim.

If you can take time out of your already busy lives to comment, that is.

Posted: Sun Jan 08, 2006 3:31 pm
by twopeak
afaik joscar is a java app for Oscar, an AIM protocol.
Adium does multiple protocols so it can't only rely on it. (if java-code can even be used in Adium)

Admins will know it better, but I think that for the moment there are no plans (not even remote ones) to leave gaim for something else.

Posted: Sun Jan 08, 2006 3:49 pm
by magnetikal1
Shouldn't have been so lazy in my first post. See this comment for example. A search for "joscar" turns up some other discussions as well.

Posted: Sun Jan 08, 2006 4:27 pm
by evands
Your link to a previous thread answers most of your concerns, as you said, but I'll try to specifically address a couple other questions you raise.

Adium was designed from the ground up never to be dependent upon a single library for protocol functionality; protocol 'services' are provided by plugins which can be easily swapped in and out with no core changes whatsoever. By way of example: Adium 0.8x already uses multiple service plugins; Bonjour is powered by libezv, an entirely separate library.
It seems like gaim has been the focus of quite a bit of attention as a result of Google's summer of code - is it possible that gaim will see the lion's share of development in the future and joscar will fall by the wayside, thereby negating the advantages of switching?
Sure, that's possible, though given how far ahead joscar is in many areas (file transfer, soon direct connect, AIM Get File, etc.) it's unlikely in the forseeable future. Switching isn't by definition permanent; it was a two line change to the Gaim service plugin to stop it from providing AIM functionality. If it turns out a year from now that Gaim provides a better AIM experience than joscar, we can switch back.
Is there work on voice/video support with joscar so that we will be able to talk to iChat users in the future?
There is no work on this at present, but it's something we'll be investigating once joscar and our implementation of it are fully mature.
And is there a significant increase in CPU usage from the fact it's written in Java and therefore requires the JVM to be running? (I know that Java code itself can be just as fast and efficient as any other code, but simply running the JVM can be a tax on older machines.)
Disclaimer: I'm running on a high-end powerbook, 1.67 ghz. That said, CPU usage appears to be nearly identical: Adium idles as 0.0 to 0.3% usage of my CPU. Perceived speed is significantly faster, most noticeably during the sign on process since Adium with libgaim's AIM implementation is quite fast the rest of the time, anyways. RAM usage is slightly higher from running the JVM but not enough to break the bank.
kopete
This library does not appear to be mature enough to replace anything we do, though it's MSN implementation sounds pretty nice. There's no development effort focused on making use of it at this time, though if an enterprising coder wanted to (a) make a list of advantages of it over alternatives and (b) work on an Adium plugin to utilize it for those purposes we would of course be interested in seeing the work.

We'll always strive to use the tools best for the task of making the best instant messenger on any platform at any time :)

Re: joscar, kopete, libgaim 2, etc.

Posted: Sun Jan 08, 2006 7:41 pm
by bgannin
magnetikal1 wrote:In the end I don't care what is used, but one thing I do wonder is whether or not going with so many underlying solutions will fragment the Adium project too much? Is it possible to split the core of the application in so many pieces and still keep updating it with the latest additions to each library?
Worry not your pretty head :D

Let developers worry about whether fragmentation has an impact, and whether it impacts users. I'm all for the dissemination and discussion of anything, but it seems to me in the recent weeks/months more people are trying to reason out engines, OSS projects, and what without a purposeful reason. Thus you see discussions on Kopete, which branch of libgaim, what about joscar, joscar vs. gaim, gaim vs. kopete, etc.

Outside of major branch changes (such as 1.x to 2.x) it's likely usually a matter of pulling the latest copy from a given repository, merging the files that are in our project with theirs, and then recompiling... not such a terrible overhead impact.

EDIT: yes, I know I'm an a******, it's been stated many a'time.

Posted: Sun Jan 08, 2006 8:25 pm
by FredAkbar
evands wrote:Perceived speed is significantly faster, most noticeably during the sign on process since Adium with libgaim's AIM implementation is quite fast the rest of the time, anyways.
I'm not sure what you're saying here...perceived speed is faster with libgaim, or with joscar (at least, when one is using only the AIM service)? So joscar has the faster AIM signon?

Posted: Sun Jan 08, 2006 9:00 pm
by Catfish_Man
FredAkbar wrote:
evands wrote:Perceived speed is significantly faster, most noticeably during the sign on process since Adium with libgaim's AIM implementation is quite fast the rest of the time, anyways.
I'm not sure what you're saying here...perceived speed is faster with libgaim, or with joscar (at least, when one is using only the AIM service)? So joscar has the faster AIM signon?
Joscar signs on faster than libgaim AIM.

Posted: Sun Jan 08, 2006 9:32 pm
by zaudragon
Catfish_Man wrote:
FredAkbar wrote:
evands wrote:Perceived speed is significantly faster, most noticeably during the sign on process since Adium with libgaim's AIM implementation is quite fast the rest of the time, anyways.
I'm not sure what you're saying here...perceived speed is faster with libgaim, or with joscar (at least, when one is using only the AIM service)? So joscar has the faster AIM signon?
Joscar signs on faster than libgaim AIM.
So just wait until durin42 is done with the adium-joscar branch!

Re: joscar, kopete, libgaim 2, etc.

Posted: Mon Jan 09, 2006 1:34 am
by magnetikal1
bgannin wrote:I'm all for the dissemination and discussion of anything, but it seems to me in the recent weeks/months more people are trying to reason out engines, OSS projects, and what without a purposeful reason.
My purposeful reason is curiosity. :) I'm just interested in Adium dev since I find it an excellent program. It's good to hear that it's relatively trivial to update the Adium libraries once the plug-in is up and running. I thought it would involve a lot more than merging the relevant files from the two projects and compiling.

Evan, thanks for your reply, it was very helpful. I didn't realise how modular Adium is. I should have known since things like the Bonjour & Gizmo plugins are there, but for some reason I assumed it was heavily tied to libgaim in a way that made it difficult to use something else.

Glad to hear joscar seems to work so well. Here's to using the best tool for each job Adium does!