Adium

More tips for new developer types

March 10th, 2007 by Chris Forscythe

Just another useful resource, on the wiki we have a Map -O- Adium which you may find useful.

Wow

March 9th, 2007 by David Smith

I have to say, I was not expecting the kind of response we got to Chris’s request for help.

Thank you all for your enthusiasm and offers of help 🙂

We’ve attempted to respond to each email and IM we’ve received, but if we missed seeing your offer, here’s some information to help people get started contributing code.

Getting the code
Check out http://trac.adiumx.com/wiki/GettingAdiumSource for our documentation on getting the code and making sure your coding environment is set up and up to date

Finding things to work on
http://trac.adiumx.com/roadmap is a great place to start looking, but possibly even better is to look into issues that you’ve run into yourself; personal motivation is always a great way to stay interested.

Asking questions
I’ve put up a page on the wiki at http://trac.adiumx.com/wiki/DevelopmentTipsAndTricks with some tips and tricks (most of them useful to other cocoa coding as well, actually), and many of the developers hang out on irc and can answer questions. Colin and I (at least, possibly others) are willing to answer questions on IM as well.

We need help

March 7th, 2007 by Chris Forscythe

Hey folks,

So it’s been a long road to 1.0. We’re still recovering. Some things however have always been the same for the project. One of those is the following

We need help

We need help in a couple of forms which I will explain below. Basically we’re at a point where we are getting a lot of new users, so we need some additional resources in a couple of areas.

Help with users

For starters, let’s take a look at the “Needs Feedback” milestone on Trac. There are, at the moment of this writing, 242 open tickets in this milestone. It should be much lower. Our general policy is to leave a ticket open for 2 weeks once placed into this milestone, and then to close the ticket as “WorksForMe” until we get feedback on it.

In general we try to get back to users as soon as we can, but it’s hard to do on a project like Adium. Ticket triaging is down to myself and Eric. The first week that Eric started helping with tickets, he processed about a thousand untouched tickets, which is why he leads the TicketTaskForce. If you would like to help with the TicketTaskForce, please contact him.

Developers

We are in dire need of more developers. We have some really great developers already, but they can’t do it all alone. This is the reason we haven’t done things like Voice and Video, because we just don’t have enough hands to tackle something like that.

If you would like to help with development, please contact either David or myself

Summer of Code

Last, but not least. We’ve been invited to Summer of Code again. If you are interested in that, please see our summer of code page on trac.

Of message history, and the thing that powers it

March 4th, 2007 by Peter Hosey

Adium has a feature called “message history”. When you open a new chat with a person, message history shows you the last n messages from your previous chat with that person, to remind you of the discussion from last time. This feature underwent some major changes in Adium 1.0.


Storage

Before Adium 1.0, Adium wrote those last n messages to a plist file when the chat closed. The problem with that was that when Adium crashed, the plist file would not be written out. This meant that when the user reopened the chat, the user would often be alarmed to find that the chat he had just been in (when he crashed) was not reflected in the message history, and would then conclude that the log of that chat had been lost.

This was never the case—we’ve always updated the log as messages are received and sent, never deferring writing to the end of the chat. But the confusion is understandable.

In Adium 1.0, we did away with the separate plist storage; we now use the logs (now called transcripts) for message history. This prevents the “where’d my history go?” problem, and ends the redundancy of writing out messages once to the logs and again to the plist.

Format

Before Adium 1.0, Adium stored its logs in a faux-HTML format. It was sufficient for display, and moderately parseable, but it was not very extensible, and not a true log format unto itself. (This is the format that Chat Transcript Manager understands.)

In Adium 1.0, we switched to a new real transcript format, which we call Unified Logging Format, and which is based on XML.


The problem now was how to quickly retrieve the last n messages from an XML transcript for the purpose of displaying the message history.

We had two options:

  1. Solution A: Use an existing XML parser to read the entire transcript, ignoring all messages except the last n.

    This solution doesn’t scale. A large transcript would cause a noticeable delay in opening a chat. This would be especially bad for chats opened from the remote side, since the user would not expect the beachball that would appear while Adium loads all those messages, discarding most of them on its way to the last n.

  2. Solution B: Write a new parser that parses the XML data in reverse.

Solution B is what I did.

I named the new parser “LMX” because it parses XML backwards (get it?). This allows Adium to read the last n without reading any of the messages before them.

New patch writer

February 16th, 2007 by Chris Forscythe

Over the last few days, Mats Mattsson has been submitting patches to close out some memory leaks. Last count is I believe seven. Thanks and welcome to the project!

Attention Earth People: Adium 1.0.1 now available

February 16th, 2007 by Evan Schoenberg

Adium 1.0.1 brings a hefty set of bugfixes for such a tiny version number increase. A common AIM file transfer problem (in which one side would immediately see the transfer as canceled) has been fixed. We’ve squashed a double handful of common crashes and bugs which will never again plague our beloved users. 7 distinct memory leaks in 5 different situations were closed, further lightening Adium’s footprint. Last but not least, my girlfriend Jade turned 25 today. See the version history for all 25 improvements, then download away!

As always, thanks to our site and support host Network Redux and our download host CacheFly. Want to help out with development? See Contributing to Adium for information on bug hunting, coding, and donating. 🙂

Download numbers for 1.0, so far

February 15th, 2007 by Chris Forscythe

So far we’ve had, roughly, 645 thousand downloads of Adium 1.0. I’d call that a success. Thanks to everyone for supporting us over the years.

Adium 1.0.1 beta

February 15th, 2007 by Evan Schoenberg

The Adium 1.0.1 beta is now available. This should fix most of the most commonly reported crashes with Adium 1.0.

If you downloaded Adium 1.0.1 beta 1 previously, you’ll need to manually update to beta 2; beta 1 incorrectly reports itself to the version checker as 1.0.1 final, so it won’t see beta 2 as an update.

Sounds in Adium 1.0

February 6th, 2007 by Evan Schoenberg

Sounds in Adium 1.0 automatically route to your Alerts device, as specified by the Sounds System Preferences. If you’re not getting sound but should be, check the volume and setting there 🙂

reddit celebrates Adium 1.0

February 5th, 2007 by Peter Hosey

Those of you who use reddit (like Colin and I do, among others) have probably noticed this already, but reddit’s logo since yesterday has Adiumy in it. Presumably, this is to celebrate the release of Adium 1.0. Thanks!

The logo is the reddit alien, with his arm around Adiumy.

This isn’t the first time that the reddit artist, Alexis Ohanian, has done something cool and Adium-related: He made a reddit Dock icon set previously.

UPDATE: Ohanian has his own blog post about it.