Adium

Archive for November, 2006

Journal programming

Sunday, November 19th, 2006

I did something cool a couple months ago in my work on Adium, and wanted to share the story and how to do it in your own open-source project.


A couple months ago, I started a branch in the Adium repo for “project parallelization”. The idea was to see what I could do to the Xcode project to make it more easily parallelizable: Xcode will parallelize the build process on a multi-processor machine, but some things (mostly shell scripts) are a bottleneck, being inherently non-parallelizable, so I wanted to remove as many as I could and optimize the ones I couldn’t.

A quick look over the Xcode project revealed that (at least in Adium’s case), this would be a rather big job consisting of many different operations. So I decided to keep a to-do list, and I decided to maintain it on the Adium wiki rather than in a local file.

The result is the ProjectParallelization page. It worked very well: most of the work was done in a few days. It also was very popular with the other developers, because everybody knew what I had done and was going to do as of the present time. Everything is lain out on the page; this promotes openness, since everybody knows what you’re doing.

I’m very happy with how it turned out, will do it again for any future branches, and recommend that others do it.


How-to

A good way to perform any large task on an open-source project is to maintain a journal on the project’s wiki (in addition to creating a branch in the version-control repository). This has two benefits:

  • It promotes your own productivity. You needn’t keep everything in your own head: Page everything out to a to-do list in the journal and maintain the list by crossing off items and adding new ones.
  • It helps other developers on the project understand what you’re up to.

Your journal should include:

  • A short one-line summary of the purpose of the branch.
  • A link to the branch.
  • A longer “Rationale” section describing the purpose is fuller detail. Where the summary above summarizes what you’re doing, the Rationale section should provide a backstory.
  • A to-do list.
    • Cross off items that have been done; include revision numbers (e.g. “DONE in [42]; REVERTED in [44]”). Ideally, you’re using something like Trac where these are linkified.
    • Nested items are encouraged.
  • Once the branch’s purpose has been fulfilled, analysis of results.

MSN Behaving Badly

Wednesday, November 15th, 2006

The MSN servers are currently experiencing some trouble. We’ve had reports of this from a lot of people, and well, there isn’t a whole lot we can do about it (since it’s a problem on Microsoft’s end), but we’ll keep you guys apprised of the situation.

In the mean time, this would be a great opportunity to check out XMPP (also known as Jabber), a free and open chat protocol. :)

Adium T-shirts

Sunday, November 12th, 2006

We’ve been wanting to create Adium tshirts for quite a while, and with 1.0 coming out, I figured this would be a good time to see about getting this rolling. Do you guys have any recommendations for shirt printing places? Sites like cafepress are out — we’re looking for something high quality, and we’re more than able to run our own store.

It’s a plus if you can get us in touch with an employee of the company you’re recommending. It would also be cool if the company printed more than just shirts (mugs, hats, other tchotchkes), but definitely not required.

Update: If you could leave an email address so we can contact you, that would also be really nice.

Downtime on adiumx.com

Friday, November 10th, 2006

This Sunday, November 12th, from 10PM to 12AM CST, we will be experiencing downtime — the guys at NetworkRedux will be putting in some more memory in our main webserver to handle the increased load from all the digg and tuaw hits :)

Also: trac and svn are up, but not operating at 100% just yet. We’re fine tuning things, so there may be some short, sporadic outages here and there. Sorry about all of this downtime — hopefully we’ll have all our new equipment running well soon. Stay tuned for more updates, folks.

Update to dmg background

Friday, November 10th, 2006

So we’ve started looking for a update to the DMG background. I made a post on the MacTheme Forums

If you’re so inclined or know someone who would be inclined to work on on a updated dmg background, go take a look.

Regarding CPU/Thread/Resource usage in b14

Thursday, November 9th, 2006

Just FYI, we’ve tracked down most of the problems with threading (probably all of them, but won’t know for sure until b15). If you have the problem when b15 is released, please report that on trac, irc or the forums.

Is DMG confusing?

Thursday, November 9th, 2006

So just out of plain old insane curiosity, I’ve been wondering if dmg’s confuse folks. If everyone could weigh in on it that’d be great.

Here’s what I’d really like to know

* Is it hard to describe to new users?
* Is it hard to teach new users to use them?
* Are they easy or hard to use?
* Are they harder to use than say.. a zip file?
* What about internet enabled dmgs? If you know what those are, what do you think?

Adium 1.0 Beta 14 Screenshots Run Through

Wednesday, November 8th, 2006

So a few days ago I said I’d be making a blog post that covers what I think are the important bits of Adium 1.0 if there was enough interest.

And there was indeed a lot of interest. So without making you folks wait any longer, here’s the highlights (note: These are what I thought the majority would be interested in that has not tried the beta). Please note that the fonts I use are not the default.

A few notes/thoughts/random ideas before I begin though. Or rather, maybe a little bit of a history lesson. Bah, either way. Basically the way we chose to do things a while back was to release .80 and then maintain just that for security/bugfixes and not much else. As many of you know an Adium release contains a lot of changes even if it’s just a security fix.

We also skipped .90 through .99. We might not have done that if we had to do it over again, but it’s mostly worked out for the better.

We also released .80 over a year ago. .89.1 Is basically over a year old with bugfixes, and no real new features.

It’s enough to make you go batty, or even turn into a large rectangle board game and then be split apart.

Like this:

Squares

Or maybe it makes your Mac blue to not know what’s going on with Adium in a meaningful way. Just maybe

Thatiscookingwithbutter-Small

So if you all wonder why we talk the beta up so much on the forums or irc, or why we tell some folks to try the beta to see if it resolves an issue, it’s for those and other reasons.

One final note. Contrary to popular belief, Adium X 1.0 will not have Voice/Video. This was noted here.

On to the show

The whole enchilada

I just thought this one wold be appropriate first. It’s in our built-in help on the front page, I think it’s pretty nice:

Adiumhelpscreenie

Contact List

So I think that the most viewed portions of the app are the Contact List and the.. well, you guess.

Anyhow, so pictures say more than words:

Contactlist2

There are 2 big changes here.

1) The default contact list style has changed.

2) The toolbar has changed, like so:

Cltoolbar

There are 3 things to note about this area, those being the Name area (where Chris is), the Status, and the Image. All three are modifiable, right there. Mousing over the portions will making each apparent. Last I remember these are global settings and affect all accounts, but I may be wrong about that.

There is also 1 minor change to the contact list. Images will now be rounded if they are displayed inline. It’s not a large amount of rounding, but it takes some of the sharpness off of the images

Here is what happens if you click the image in the toolbar

Climagepicker

I think that covers the contact list pretty well, on to the…

Message View

So here goes:

Messagewindow

This is the stockholm style on the xtras. It’s interesting to note that both the message style and the contact list style were both from the xtras site. That’s right, used user generated styles to create part of the look for 1.0, and I think it’s really turned out well. Congrats folks, you all deserve it.

On to

Preferences

Other than the Contact List and Message Window, I think folks will look at Preferences the most.

So here’s the General Prefs:

Generalprefs

There are a few things here, most of it hasn’t changed. Notables include the Evil Menu Duck checkbox moved here, a Hotkey preference got added here, and some other things got moved around.

One of the more apparent things about this screenshot is the fact that the toolbar icons had changed. Let’s look at them closer

Prefstoolbar

Adam Betts did these, they look pretty snazzy.

The last thing I’m going to post on here is the Personal Preferences.

Personalprefs

The key thing here is that you can set your global Name (alias), Profile, and Icon. If you click Choose Icon, you can even set the image with an iSight.

For the cocoa developer, figure out what actually happens when you click on the Choose Icon button, you might chuckle quite a bit.

Well, that’s all I’m going to show. There’s lots of other changes, but these are the general ones. We all hope you folks will like them.

Oh, one last note. This is Beta 14, and things are subject to last minute changes.

Trac/SVN/Beta site outages

Sunday, November 5th, 2006

Hey folks,

Sorry I didn’t post about this earlier, but if you haven’t noticed trac/svn/the beta page have all been down for a day or three.

Over the last few months we’ve seen all three go up/down at random times. Basically what happened is that we were seeing system failures in random places, which would drive the process utilization up sporadically (into ranges of 200 or 300, and even more).

Long story short, new hardware was acquired last weekend and the road to migrating everything to the new server was being taken. In the meantime the old server decided to bite the dust at the start of the migration.

Normally we’d have it up sooner, James our hoster has been pretty good to us. He’s hosted the Growl stuff and Forums for years without much of any downtime until recently. Anytime we’d see a problem he’d usually get it sorted.

This week was unfortunately also a bad spot for him personally. I don’t feel that it’s right for me to disclose what happened, but more or less it’s why it’s taking a bit to get things going. James has promised to have things up for us as soon as he can, your patience is appreciated.

Also, to quote Evan:

We’re doing the absolute best we can, I promise. Thanks for both your patience and for caring about Adium enough to care about whether trac is up or not

Our release date stuff

Wednesday, November 1st, 2006

Just a reminder folks, we don’t give out release dates. :)