Adium

About the Contact List toolbar

February 5th, 2007 by Peter Hosey

We’ve received a number of emails telling us that the Customize Toolbar menu item is grayed out [when the Contact List is frontmost], or asking us what happened what happened to the Contact List toolbar.

For those who don’t know what it is that they’re asking about: In 0.89.1, the Contact List had a toolbar:

Screenshot of the Contact List in 0.89.1 with the default toolbar, whose buttons are “Show/Hide Offline Contacts”, “Show Info”, “Message”, and “Add Contact”.

We didn’t realize that this was so popular. We replaced it with this much simpler toolbar:

Screenshot of the Contact List in Adium 1.0, where the only possible toolbar is your icon, name, and status.

This is the only possible toolbar in Adium 1.0—the old one is gone. And come to find out, a lot of you miss it.

So we are now looking at ways to bring back the functionality of the old toolbar in some future version. In the meantime, here are some workarounds:

  • Toggle Groups Display: View menu→Show Groups
  • Add Group: Contact menu→Add Group… (or ⇧⌘D)
  • Preferences: Adium menu→Preferences… (or ⌘,)
  • View Logs: Contact menu→View Chat Transcripts (or ⌘L)
  • Message: Double-click on a contact
  • Show Info: Contact menu→Get Info (or ⌘I)
  • Toggle Offline Contacts: View menu→Show Offline Contacts (or ⇧⌘H)
  • Add Contact: Contact menu→Add Contact… (or ⌘D)
  • Send File: Contact menu→Send File (or ⇧⌘F)

We do ask that you give 1.0 a fair shake. Certainly all of us have not been using this—that’s why it’s been so surprising to find out that it was in such wide use. So we know that it is possible to use and enjoy Adium without needing the Contact List toolbar. Please give it a try.

If you really, really can’t go without those toolbar items, and don’t mind running a now-unsupported version of Adium, you can get 0.89.1 from the link on the front page (which we put there for Jaguar users).

MSN custom emoticons

February 3rd, 2007 by Peter Hosey

We mentioned in the release announcement that Adium 1.0 supports custom emoticons. We’ve had some people on the forums and on the IRC channel (among other places) questioning this, saying that “when my buddies send me an emoticon i don’t see anything.I only see the text…”.

In order to receive custom emoticons, you must turn them on. This is in the Preferences, on the Advanced pane, in the MSN section. This checkbox is supposed to be turned on by default, but there’s a bug in the code that looks for the default settings (which I’ve filed as #6212).

Adium 1.0!

February 2nd, 2007 by Evan Schoenberg

Wow. I’m thrilled to announce that Adium 1.0 is released 🙂

With over 600 enhancements and bug fixes, Adium 1.0 is the culmination of over a year and a half of development. New features include a shiny new default appearance, an installation setup assistant, improved account management, privacy management, iTunes Now Playing status, optional Dock-like hiding of the contact list, grouping of saved status messages, a redesigned chat transcript viewer with improved searching, and much more. Adium 1.0 includes service-specific improvements such as AIM file transfer and Direct Connect image transfer improvements, Yahoo invisible status, receiving of MSN custom emoticons, and Google Talk buddy icons and typing indication support.

Adium 1.0 also adds QQ messaging support to its repertoire of 13 services which include AIM, MSN, Google Talk, and Yahoo. It is fast, lightweight, highly customizable, and has now been translated into 20 languages in addition to its native English.

The full changelog is available here… you might want to go get a cup of coffee while it’s loading, as it’s a beast.

What’s all that mean? Well, for starters, it means you’ve got one heck of an instant messaging client on your hands. Enjoy!

It also means that you’re enjoying the fruits of labor of a lot of hard working, brilliant, volunteer developers — the Adium Team, that is, (us!) along with fellow open source coders like our friends over at Gaim, Growl, Sparkle, Off-the-Record Messaging, and , just to name a few.

Sound exciting? It is. Check out Contributing To Adium for more on how you can help with development, from supporting other users to writing code to donating support further development efforts. (update: The link to contributing is down because it depends on Trac, which was not designed to handle digg + slashdot + the rest of the Internet. If you’re looking for the Adium 1.0 source, look no further. Trac and our Subversion repository will be publicly available again once the server is a bit calmer. Thanks for your paitence!)

And speaking of donating, I’d like to thank our network hosts for their awesome service and support. NetworkRedux hosts our code, website, and mailing lists, including the Trac support site and AdiumXtras.com, home of all sorts of add-ons to Adium. CocoaForge hosts the Adium Forums. Finally, CacheFly hosts the Adium download itself. Thanks to them and to the fantastic Adium community for helping Adium get so far. 🙂

New patcher

February 1st, 2007 by Chris Forscythe

I would like to congratulate Patrick Gibson on getting his first patch accepted. Here’s hoping for many more.

The path to 1.0, extended golden 3 disc edition

January 29th, 2007 by Chris Forscythe

So lately there have been some users requesting a new version of Adium. Well, it’s almost ready. 1.0 is almost done. At last, we’re getting ready for the release that’s been in the works so long, so it’s a good time for some history and some musing.

A History Lesson

In order to better understand what is happening with Adium now, and why there has been no release since May 4th, 2006, first we need to understand where things have been in the past. Firstly, Adium 1.0 has been in active development since May, 2005. To give some further perspective, Adium 0.70 was released in October 2004, and 0.50, the first release after a rewrite of the original AIM-only Adium code was released in April 2004. This should give you a bit of a time frame and perspective as to what has been going on so far.

Secondly, the big difference between 1.0 and the other releases is that it’s really 2 release cycles combined. We decided around the time that 0.80 came out that we would not be releasing 0.90, and instead forge ahead to 1.0 with a “fix everything” attitude. The additional time spent would allow us, we thought, to create a release that would be truly spectacular. It worked out well, but just not in an acceptable timeframe. We will not ever be doing that again if it can be helped. Taking on too much at once leads to lots of complications and unexpected delays.

We garnered the attention of Google for their Summer of Code. They invited us to be involved, and we gladly accepted. That in itself created a large amount of additional overhead, but we thought the benefits would be worth it. The six students that we got were a very telling sign in what we needed to do additionally in order to attract new developers in the future, and to keep existing developers happy.

We also attempted to do something we hadn’t done since before the 0.50 release: we worked towards a wholly new protocol library for a major protocol, AIM.

Java, Joscar and Smack

One of our developers, Augie, spent a great deal of time working along with Evan and Keith Lea on the new AIM implementation using Keith’s joscar library. The joscar branch, as of early July, was, we believed, better than the current libgaim based AIM, so it was merged shortly before the start of the 1.0 beta cycle.

One of our main priorities for the Summer of Code was to improve Jabber, also called XMPP, support. It’s an open standard, and so is much easier for us than a closed network like AIM or MSN. We received a superb application from Andreas, in which he explained that he wanted to improve our XMPP tremendously via a Java library called . Java is a hefty dependency, but we were already utilizing it for joscar and we didn’t expect that to change, so given the minimal additional resource consumption of a second Java library, this was decided to be a great direction for us. We accepted his application as well as Alvaro Saurin’s to implement Jingle (Google Talk) voice support in the Smack library and then within Adium.

Then, disaster struck. Rather, Apple did. They deprecated the Java-Objective-C language bridge that we were depending on. We had a few choices, none were very good. We could spend 1-2 years rewriting both Joscar and Smack to work using JNI, the supported way going forward for what we were doing with Joscar and Smack. We could have spent time doing other things. In the end, the decision was made to move back to Libgaim, and just take it. In some ways this is where Microsoft is a better platform, since they inform everyone of their roadmaps way beforehand. But it’s what we’re left with. Evan, David and myself came up with a letter to send out to everyone, Evan sent it, and we moved on.

Meanwhile, back in Gaim land

The good news is that the Gaim team had not sat idly by for the long period in which we were attempting to use Java libraries. For years we had been building our own unofficial hack out of Gaim and had been calling it libgaim. The Gaim project now officially has something called libgaim, which will evolve into something truly awesome. They also improved the AIM bits quite a bit.

They even were looking at Joscar for tips and tricks on how to improve the AIM support. Hurray Open Source.

The Competition?

I think a word needs to be said for what’s been taking place with our competition. Just to clarify, we generally do not attempt to compete with iChat. We simply cannot. Apple employs many times the amount of people that we could get to work on the Adium project, and in either case they fit another need in the IM space that we just don’t have the resources to compete in.

However, we do have competition. From Fire and from Proteus. It has always been a friendly competition between all 3 clients. Fire has always been around, and Proteus has been around for about the same amount of time as Adium, give or take.

Fire?

With Adium 1.0, Adium will be able to import most things from Fire. There is a migration path for those folks on Fire in case they would like to use Adium in the future. Fire itself is a very respectable project with some of the same goals that are in place for Adium, and they should be commended for all of their hard work.

Proteus?

We also saw a change from Proteus, in that they haven’t really done too much. There was a change of hands, multiple times, over who would continue working on Proteus. For a long period we’ve seen only promises on the Proteus forums of new features and new features. Proteus is now resting in the hands of a person that goes by Tommy on the forums. He’s been taking things very well, and is promising that Proteus is being worked on, but isn’t promising new versions. In all honesty, the situation he is in is probably not that great, and he’s doing well in it.

However, there was a promise of full source code that hasn’t taken place. This has been promised for the next version. We’ll see, and good luck to them.

We’ll start looking into a migration path for those folks using Proteus into Adium after 1.0. Fire is, however, the priority for 1.0, since they were more than willing to work with us on this.

So what now?

So now we’re winding down development of 1.0 of Adium. We only have a few bugs left on our betas. The current betas have run for 2-3 times the normal beta period, and the results of running the beta for so long have been many additional fixes on top of our original beta.

In total we’ll have around 660 issues resolved in 1.0. 1.0 includes a very large featureset, and a huge amount of bug fixes. Those who remember each of our .50, .60, .70, and .80 changelogs will remember that each were gigantic. What people usually don’t know is that it would take us about 2-3 hours to write up the changelog via SubEthaEdit with 3-4 devs working on it. We could do it automatically, but it’s a very fun part of what we do. We’ve already spent about 10 hours on the changelog for all of the 1.0 betas, and it will take another 2-3 hours to finish combining them all.

It’s going to be an awesome release, and we’re all hoping you folks like it a lot.

Temporary AIM server issues (now resolved)

January 26th, 2007 by Evan Schoenberg

On Thursday, there was apparently a server side issue at AOL affecting some (but not all) AOL/AIM/ICQ users on all clients, including Adium. If you were already logged on, you didn’t have a problem getting your buddy list or sending or receiving IMs or locating people. For a couple of hours in the early afternoon eastern time, if you were in an unlucky fraction of people who signed on, you didn’t get your buddy list and couldn’t IM or locate people. You also might have hung while logging in – you would have signed in, but the spinning black square in the Dock icon would have been remained while Adium tried to retrieve your buddy list.

Apparently AOL fixed it across the board around 3:30/3:45 eastern time. Not everybody signing on during the 2 hours or so was affected; it seems only about a third or so had the problems, and the other two thirds had no problems at all. No buddy list information should have lost, even for “recent buddies”.

The Trac dance

January 16th, 2007 by Evan Schoenberg

The PostgreSQL switch for Trac which Peter mentioned in the last blog post didn’t work out well; resource consumption drove the server to its knees. We’re working on a solution which doesn’t require going back to SQLite with its database-locking problems. Thanks for your patience.

We can rebuild him; we have the technology.

January 12th, 2007 by Peter Hosey

Chris is currently converting our Trac to a different database engine, in order to make it nice and fast and hopefully more robust too. It will be down in the meantime. It will be up when he is done.

UPDATE 03:03 PST: It’s back up!

Apple, Openness, and the iPhone

January 10th, 2007 by David Smith

Yesterday, Apple released potentially one of the most interesting devices in computing history. The combination of mobility, relatively good power, rich OSX APIs, and multiple types of connectivity and sensors (phone, bluetooth, wifi, proximity, location, visual, audio, and orientation) could result in some truly spectacular new classes of applications. Unfortunately, it appears that they’re making their most classic blunder once again: locking out third parties. We have the opportunity to make ourselves heard, and request that Apple open the iPhone to third party developers. The only avenue of communication Apple leaves open to developers is Radar, their bug tracking system.

Jonathan ‘Wolf’ Rentzch has filed an initial bug report on the topic, which he describes here. I strongly suggest that anyone interested in open application development on the iPhone (or being able to use third party applications on the iPhone) follow his lead and file additional requests at bugreport.apple.com (Please be polite though; ticket techs are people too!).

A sample bug report (filed by our own Augie Fackler) is below:

Summary:
You can’t do any development for the iPhone.

Steps to Reproduce:
1. Write a cool app
2. Try to compile for iPhone

Expected Results:
A binary that should work in the spiffy iPhone.

Actual Results:
No way to compile for the iPhone exists, so no binary is produced

Regression:
None known.

Notes:
This is the same as Rentzsch’s bug rdar://problem/4917169 to make your life easier when you flag this as a duplicate.

Trac downtime

January 9th, 2007 by Chris Forscythe

Trac will be going down in a few minutes for some maintenance, in order to try to make it not so.. ya.

In the meantime, this video is cool. It has some very mild cursing in it, so if you don’t like that kind of thing don’t watch it.