joscar, kopete, libgaim 2, etc.

An instant messenger which can connect to AIM, GTalk, Jabber, ICQ, and more.
Post Reply
magnetikal1
Harmless
Posts: 8
Joined: Sun May 08, 2005 10:24 am

joscar, kopete, libgaim 2, etc.

Post 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.
User avatar
twopeak
Crema
Posts: 407
Joined: Tue Jan 25, 2005 2:53 pm
Location: Flanders - Belgium

Post 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.
magnetikal1
Harmless
Posts: 8
Joined: Sun May 08, 2005 10:24 am

Post 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.
User avatar
evands
Cocoaforge Admin
Posts: 3152
Joined: Thu Dec 02, 2004 10:55 pm
Location: Decatur, GA
Contact:

Post 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 :)
The duck still burns.
--
My company: Saltatory Software. Check it out :)
User avatar
bgannin
Growl Team
Posts: 1817
Joined: Thu Dec 02, 2004 8:11 am
Location: ..here
Contact:

Re: joscar, kopete, libgaim 2, etc.

Post 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.
Try my software!

#define ADIUMX pimp //by me
#define QUESTION ((2b) || (!2b))
Have you hugged a programmer today?
User avatar
FredAkbar
Crema
Posts: 401
Joined: Sat Dec 04, 2004 1:00 am
Location: Santa Barbara, CA
Contact:

Post 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?
Fred / Adium X 1.2.7
20" iMac w/ Intel Core Duo 2.0 GHz / 2 GB RAM / 256 MB Radeon X1600 / 250 GB HD / OS 10.5.4
FreeRice. Play a free vocab game on this ad-supported site to help fight world hunger.
User avatar
Catfish_Man
Cocoaforge Admin
Posts: 1203
Joined: Thu Dec 02, 2004 6:30 am
Location: Portland, Oregon
Contact:

Post 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.
User avatar
zaudragon
Growl Team
Posts: 1852
Joined: Sat Dec 04, 2004 5:05 am
Location: Kensington, CA, USA
Contact:

Post 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!
Blog | X(tras)
Communists code without classes.
magnetikal1
Harmless
Posts: 8
Joined: Sun May 08, 2005 10:24 am

Re: joscar, kopete, libgaim 2, etc.

Post 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!
Post Reply