Adium

Archive for 2008

There’s a wizard in our midst!

Monday, March 17th, 2008

It seems that The Mac Nose has outed our very own Colin Barrett as a wizard! I always thought there was something different about that guy…  And now we know the truth.

Big thanks to The Mac Nose (whoever he is…) for bringing this matter to our attention.

You can read the full story here.

Adium and the iPhone

Friday, March 7th, 2008

Today, Apple released the iPhone SDK. And, as we expected, we’re already being asked whether we intend to write a version of Adium for the iPhone.

The short answer is “yes, but…”.

Developing for the iPhone is similar in many respects to development for Mac OS X. Some of the same frameworks, such as Core Audio, are present. But a lot of them aren’t. For example:

  • QuickTime (which we use to play sounds) is missing entirely. There’s a new Core Audio API to play sounds, but it’s Leopard-only, and we don’t know whether it’s available on the iPhone.
  • The Application Kit (on which our interface is built) is replaced with UIKit.
  • The iPhone probably does not have Apple Events nor Open Scripting Architecture. In other words, no AppleScript.
  • Animation works a bit differently, and is dramatically different from how animation currently works in Adium on Mac OS X.

The hardware poses challenges as well. The iPhone has less memory than Adium tends to use, and has a significantly slower processor (and only one of them). Also, maintaining a network connection over WiFi uses a significant amount of battery, which could pose a problem for long-term use.

So porting Adium to the iPhone will certainly be a lot of work. Large portions, if not almost everything, will need to be completely rewritten or scrapped. Other parts will survive, but undergo extensive changes. This is a lot of work.

Currently, Adium’s base system requirement is Tiger (Mac OS X 10.4). Some of the iPhone’s features, such as Core Animation, were introduced in Leopard (10.5). Therefore, it’s likely that we won’t start work on Adium for iPhone until sometime after Adium for Mac requires Leopard.

Also, keep in mind that we’ll want to release that version of Adium for Mac and have it proven by users (that means you) before we go applying that knowledge to Adium for the iPhone. You wouldn’t want us to port an unstable version, would you? ☺

So, in summary: We want to do it, but it will be a lot of work. We want to put it off for a little bit so that it can be done with less effort and won’t interfere with other development priorities. We don’t know how long we’ll put it off and we don’t know how long it will take once we start.

Open AIM 2.0

Wednesday, March 5th, 2008

AOL announced Open AIM 2.0 today, and we’ve had a number of people ask what this means for Adium. I spoke with Michael Hall of instantmessagingplanet.com earlier today; AOL Opens AIM Some More has an explanation of Open AIM and some of my comments on the topic.

Farewell to Chris

Saturday, March 1st, 2008

Chris Forsythe, aka The_Tick The_Tick, is retiring from the position of Adium Project Manager after 3 years of hard work in that capacity and several years before that of deep involvement in the Adium community. As Project Manager, Chris helped ensure that the diverse assets of the community – web site, support network, forums, etc. – ran smoothly and aided in directing the project itself. On behalf of the team and all who have benefited from his dedicated efforts, I’d like to thank Chris heartily 🙂

Eric Richie edr1084, who wrote the in-application help for Adium and heads the Ticket Task Force, has volunteered to step up into the position and is the new Adium Project Manager. 🙂

Adium 1.2.3

Monday, February 25th, 2008

Adium 1.2.3 is now available. This is a quick bugfix release which exists primarily to address an issue in Adium 1.2.2 which prevented Yahoo! Messenger accounts with non-@yahoo.com usernames from connecting. It also fixes failures with certain additional message styles from AdiumXtras and corrects a few other minor issues with Adium 1.2.x. The version history has the details. Quack on!

Yahoo! breakage in 1.2.2

Tuesday, February 19th, 2008

A number of you have reported being unable to sign into Yahoo! using Adium 1.2.2. We’ve discovered the problem; this post is to tell you what we did wrong and what we’re doing about it.

When you enter a Yahoo! email address (such as jdoe@yahoo.com) into the username field in Adium 1.2 and later, Adium strips off the @yahoo.com part before trying to sign in with it. This is because Yahoo! expects only the jdoe part (the username); signing in with the whole email address will result in an unknown-username error.

Back on the 11th of February, Evan committed this change:

Yahoo accounts shouldn’t include the @domain.suffix regardless of what it is (e.g. @yahoo.com, @yahoo.it). Generalize our removal to account for this.

Before that change, we looked for “@yahoo.com” specifically, and removed it if present. This didn’t work for other Yahoo! suffixes, such as “@yahoo.it”. Thus, Evan intended to make Adium delete all Yahoo! suffixes, not just the US one.

The code that Evan committed removes any email-address suffix—in other words, if there’s an @, Adium will remove that and anything after it before trying to log in. This was a good plan, except for those who use Yahoo! AT&T.

SBC was a US telephone company, which became AT&T back in 2005. SBC offered, and AT&T still offers, an internet connection with Yahoo! services bundled, including Yahoo! Messenger. Instead of a plain old “jdoe” username, these customers’ Yahoo! IDs are their entire “jdoe@sbcglobal.net” address. For these users, stripping off the “@sbcglobal.net” suffix makes sign-in not work.

So, this is a regression. I’ve already committed a fix: we now only strip the suffix if the suffix starts with “@yahoo.”, so that “@yahoo.com”, “@yahoo.it”, etc. will be stripped but “@sbcglobal.net” won’t). That fix is present in what will be 1.2.3. While we’re at it, we know of a couple other regressions which we’ll also fix in 1.2.3.

Thanks for your patience, everyone.

Adium 1.2.2

Monday, February 18th, 2008

News flash! Minor release of Adium with a major number of bug fixes! Grab it while supplies last!

Adium 1.2.2 is now available. It fixes a variety of bugs and crashes and is a recommended download for all Mac OS X 10.4 or later folk. Check the version history for the details.

Don’t forget to read Contributing to Adium to learn how you can submit patches and code, help hunt down bugs, and donate to support the project!

We greatly appreciate the donated resources of our excellent site and code host NetworkRedux and our download host CacheFly. 🙂

Thank you! Problems solved.

Thursday, February 14th, 2008

I did in fact solve the problems we were having with Adium‘s install of buildbot. It turns out that because of some security features of Mac OS X, I needed to start the buildbot process from an actual Terminal window on that machine, not from ssh. You can read about all this (and much, much more!) in this technote.

A big thank you to everyone who helped out, especially Keith, Rob and Ben. :ms:

smew problems

Wednesday, February 13th, 2008

The following is cross posted from my personal blog, in case you’re subscribed to both and think you’re seeing duplicates, you’re not.

So a while ago I set up buildbot for Adium. Briefly, buildbot provides continuous integration (i.e., building the source tree after every checkin) and runs our unit tests automatically. Cool stuff, and hats off to the buildbot team. Things seemed to be running fine for a while, no problems. However, recently we’ve started to get some odd errors on the machine we use for running builds, a Mac Mini named smew1.

Subversion began to fail looking up DNS requests. I could only reproduce the problem when buildbot was running svn. If I logged in, I could run the exact same commands myself. And even more curiously, telling buildbot to run nslookup svn.adiumx.com worked completely fine.

I “solved” this by having the buildbot master (on a Linux machine) doing the lookup and then telling the client to checkout svn://<ip here>. If the IP of the subversion server changes, we just need to do a clean build and it’ll pick up the change. It’s not a great solution, but definitely workable.

This worked either briefly or perhaps not at all, I don’t recall, because our automated tests began failing like so:

/Developer/Tools/RunUnitTests:298: note: Started tests for
architectures 'ppc i386'
/Developer/Tools/RunUnitTests:301: note: Running tests for
architecture 'ppc'
Wed Feb 13 02:07:40 smew.adiumx.com otest[41048] <Error>:
kCGErrorRangeCheck :
On-demand launch of the Window Server is allowed for root user only.
Wed Feb 13 02:07:40 smew.adiumx.com otest[41048]
<Error>: kCGErrorRangeCheck :
Set a breakpoint at CGErrorBreakpoint() to catch errors
as they are returned
2008-02-13 02:07 otest[41048] (CarbonCore.framework)
FSEventStreamStart: ERROR:
FSEvents_connect() => (ipc/send) invalid destination port (268435459)
FAILED TO GET ASN FROM CORESERVICES so aborting.
/Developer/Tools/RunUnitTests: line 301: 41048 Abort trap              
arch -
arch "${TEST_ARCH}" "${TEST_RIG}" "${TEST_BUNDLE_PATH}"
/Developer/Tools/RunUnitTests:314: error: 
Test rig '/Developer/Tools/otest' exited abnormally
with code 134 (it may have crashed).
** BUILD FAILED **

This is particularly strange because again, I can run these tests manually and get proper results. Same user buildbot is running in (and that user is logged in to the machine and has a window server connection), same checkout, same everything, near as I can tell.

This may or may not be superstition and it is probably just a coincidence, but sometimes these tests do run, and it seems that when I am logged in to the machine via ssh things work OK. But after I log out, things go screwy again. It’s something screwy with that particular machine — I had the buildbot slave running on a Mac mini while I was at Mozilla and it worked just fine.

I’ve run a permissions repair. It fixed some things. Still no dice. Buildbot is using the python installed by Leopard. The machine is fully updated, none of that fixed the problems (not even the Leopard graphics update). This machine is located at a colo somewhere inaccessible (Mars?), so while doing an archive and install would normally be my next step, I don’t have easy access to the machine.

I’ve done everything I can think of that I can do easily. Help me blogosphere, you’re my only hope.


  1. The Smew (Mergellus albellus) is a small duck which is intermediate between the mergansers and the goldeneyes, and has interbred with the Common Goldeneye. It is the only member of the genus Mergellus. (Wikipedia

Adium chatlog importer for DEVONthink Pro

Thursday, January 31st, 2008

Those of you who use the DEVONthink Pro organizational software may be happy to know that the developer has released several scripts for importing chat logs from other applications.

Specifically, he has released an Adium importer, an iChat importer, and a Second Life importer on his blog. Now you can organize your transcripts from those applications as well as your other documents.

The Adium importer is made possible by our XML log format, which makes writing importers and converters easier by being an open format. This means that, if you’re a programmer, you can write an importer or converter too.