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.
joscar, kopete, libgaim 2, etc.
-
magnetikal1
- Harmless
- Posts: 8
- Joined: Sun May 08, 2005 10:24 am
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.
- evands
- Cocoaforge Admin
- Posts: 3152
- Joined: Thu Dec 02, 2004 10:55 pm
- Location: Decatur, GA
- Contact:
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.
We'll always strive to use the tools best for the task of making the best instant messenger on any platform at any time
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.
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.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?
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.Is there work on voice/video support with joscar so that we will be able to talk to iChat users in the future?
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.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.)
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.kopete
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.
Worry not your pretty headmagnetikal1 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?
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?
#define ADIUMX pimp //by me
#define QUESTION ((2b) || (!2b))
Have you hugged a programmer today?
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?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.
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.
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.
- Catfish_Man
- Cocoaforge Admin
- Posts: 1203
- Joined: Thu Dec 02, 2004 6:30 am
- Location: Portland, Oregon
- Contact:
Joscar signs on faster than libgaim AIM.FredAkbar wrote: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?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.
- zaudragon
- Growl Team
- Posts: 1852
- Joined: Sat Dec 04, 2004 5:05 am
- Location: Kensington, CA, USA
- Contact:
So just wait until durin42 is done with the adium-joscar branch!Catfish_Man wrote:Joscar signs on faster than libgaim AIM.FredAkbar wrote: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?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.
-
magnetikal1
- Harmless
- Posts: 8
- Joined: Sun May 08, 2005 10:24 am
Re: joscar, kopete, libgaim 2, etc.
My purposeful reason is curiosity.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.
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!