More tips for new developer types
March 10th, 2007 by Chris ForscytheJust another useful resource, on the wiki we have a Map -O- Adium which you may find useful.
Just another useful resource, on the wiki we have a Map -O- Adium which you may find useful.
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 🙂
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 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.
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.
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
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.
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.
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.
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:
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.
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.
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!
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. 🙂
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.
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 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 🙂
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!
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.