Joscar and you
Today, Colin and I (he’s co-writing this post—yay SEE!) are going to talk about joscar, a new and major feature of the upcoming 1.0 release.
Joscar is a library written in Java for interfacing with services that use the OSCAR protocol. There are three of these: AIM, ICQ, and .Mac. Other services use different protocols that are not OSCAR; for this reason, we’ll still be using libgaim for these services.
Joscar was written by Keith Lea (username “leak” on Trac), originally as part of the Joust client. He has helped Evan and Augie tremendously with getting it working in Adium.
With joscar, file transfer and Direct IM actually work. Finally, an end to the inability to send and receive files (at least on AIM-esque services). And joscar has a cleaner codebase, so Adium developers can read and modify it more easily. It’s faster, too; faster, even, than libgaim.
Libgaim is not going away, however. As mentioned above, we still need it for other protocols. So 1.0 will still have libgaim, for all the non-OSCAR services. (UPDATE 2006-10-08: Also, joscar’s ICQ support is not very shiny yet, so we’re still using libgaim for ICQ in the meantime. —Peter)
If you have any further questions about joscar, feel free to ask them in the comments, on the forums, or on the IRC channel.




April 9th, 2006 at 1:43 PM
Will joscar allow file transfers and direct connect sessions when the other person is using GAIM (e.g. on linux or windows)? Or does it only work when the other person is using the official AIM client or Adium?
April 9th, 2006 at 4:09 PM
So how does ChatKit fit into this picture?
April 9th, 2006 at 4:51 PM
ChatKit is being developed and will have joscar.
April 9th, 2006 at 5:46 PM
nigel: Shouldn’t matter, unless Gaim is using some wonky non-standard FT system.
April 9th, 2006 at 6:08 PM
gaim’s file transfer will be much improved in gaim 2.0.0 and should work quite well with other modern AIM clients, including Adium with joscar.
April 10th, 2006 at 9:10 PM
so if libgaim gets a lot better soon, will adium go back to it?
April 11th, 2006 at 9:19 AM
I echo that question! Gaim2, which is now in its third beta, is supposed to resolve the primary issue you write about here. Why would you add a new library to the client just to accomplish something that’s well on its way?
I’m sure a lot of thought has gone into this big decision, and I appreciate your efforts, but I’m still against it.
April 11th, 2006 at 9:32 AM
Is it some bad april fool? You think that a java back-end will speed up Adium? I’m perfectly aware that Gaim has its shortcomings, but relying on a Java back-end is like relying on a Rosetta back-end. That’s just… bad.
April 11th, 2006 at 3:43 PM
Many people are using the SVN right now, and I have yet to see a single complaint about speed. Why not have a little faith in the Adium devs? They’ve been putting out one great release after another, and I don’t see why this switch would be made unless it was the absolute best choice for Adium.
Try it out for yourself before you bash it.
April 11th, 2006 at 10:35 PM
This isn’t an April Fool’s joke. If anything, joscar is faster than libgaim’s implementation, even the libgaim 2.0.0 branch. Do any of the other developers think it would be a good idea to do some profiling so we have some hard numbers to back this up with? Pretty graphs always help make your point
April 17th, 2006 at 11:33 PM
i just think a point that some of the people against it above missed was the fact that it is easier to work with. that alone may be a good reason to switch to Joscar (despite the speed advantages) until a rewrite of libgaim makes that easier to use
April 26th, 2006 at 2:22 PM
colin: It isn’t a matter of joscar being faster…it’s a matter of firing up the Java Virtual Machine in the background on the user’s machine. That is, it is a matter of joscar reducing the “capacity” of the user’s machine.
June 16th, 2006 at 9:04 PM
If Adium starts using a JVM, I believe a lot of people will turn to other solutions.
I, for one, will be running to download Fire.