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.


  1. 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?

  2. So how does ChatKit fit into this picture?

  3. ChatKit is being developed and will have joscar.

  4. nigel: Shouldn’t matter, unless Gaim is using some wonky non-standard FT system.

  5. 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.

  6. so if libgaim gets a lot better soon, will adium go back to it?

  7. 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.

  8. 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.

  9. 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.

  10. 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 😉

  11. 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

  12. 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.

  13. 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.

Post a Comment

Logged in as - Logout