Adium

Archive for 2006

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. 🙂

Post with a lot of information about 1.0?

Tuesday, October 31st, 2006

I was thinking of making a screenshot laden post on what’s changing/improved with 1.0, but it’ll be a lot of work. Do you guys think you’d like that/would it be beneficial?

Adium Forums

Sunday, October 29th, 2006

I just noticed a comment in one of the blog posts basically asking for a lot of links. So, FYI:

There are a bunch of links at the main page, http://adiumx.com/. In case you do not see them, they are right underneath the protocol icons.

In either case though, this one is the forums. If you have any problems with anything Adium related, you are always welcome to post on the forums.

For future reference, please post problems to the forums and not in the blog comments.

Adium developers descend upon c4, the Villagers cowered in fear

Wednesday, October 25th, 2006

Evan, Colin and myself all went to Chicago over the weekend. For those who do not know, we were there for a gathering of developers called c4.

The highlights:

  • All planes except for mine were late coming in. Mine was late leaving Chicago on Sunday.
  • The transportation system in Chicago rocks. Evan and I are both from the Southern part of the states, and nobody in these areas seems to take public transportation. If we had something like the L in Houston I’d take it everywhere I could.
  • Colin almost died.
  • I got lost on the L at 3 am in the morning on Saturday.
  • This is the first time Evan, Colin or myself have met each other in real life.
  • Colin and I did not get a chance to try Chicago style pizza.

There were others, but those seem to come to mind the quickest. There were some awesome presentations, and we got to meet a lot of great people. Colin and I went to the Sunday event at Adler and I got to show off the app Evan and I are working on to a few people.

Here Colin is at Jak’s Tap:

Here’s Evan at Jak’s Tap:

Evan and Colin outside with DrunkenBatman and some other dudes:

Here I am at the Greek place we ended up at on Friday night:

The best part is that we had a really great time. We even talked about Adium and Growl a little bit. I definitely plan to go to c4 again next year.

I enjoyed meeting new people the most. I got to meetup with Daniel Jalkut, Justin Miller, Travis Cripps and many other great people. It was just an awesome thing to do, and I’m sure as hell glad I went.

Google Summer of Code 2006 Roundup

Tuesday, October 24th, 2006

This was our first year to participate in the Google Summer of Code. 35 applications were submitted, of which 18 were voted qualified and interesting by one or more of our 8 potential mentors. 6 applications were ultimately accepted. Here’s a look at each of the projects in turn.

Improved Jabber Support via Smack

The Jabber instant messaging protocol is undoubtedly rising as a big player in IM. It’s one of the few openly standardized protocols, has unmatched features, and is backed by widely known groups including Apple, Google, and LiveJournal.

Andreas Monitzer, mentored by Augie Fackler, produced twelve thousand lines of code, written in two different languages and involving changes to two distinct codebases — Adium itself and the Jive Smack Jabber library itself. The project was a resounding success; some work is still required to prepare the results for a release, but we expect to do so in our next release cycle. Adium 1.1 will likely be one of the most advanced Jabber clients in the world. This was generally considered to be the highest priority project of the initial SoC ideas, and its completion is a big step forward for open instant messaging on the Mac.

Smack support, about 75% complete, has already been merged into the trunk of Adium’s subversion repository for inclusion in Adium 1.1.

Jingle Audio Support via Smack

When Google released their Google Talk instant messaging service, they included an important new technology known as Jingle. Jingle adds the capability to send streaming data across a Jabber network, which can be used for voice chat (Jingle-Audio), video chat (Jingle-Video), and file transfers.

Alvaro Saurin, mentored by Evan Schoenberg, undertook the herculean task of first implementing Jingle support to the Smack Jabber library and then creating an audio-visual Quicktime framework for multimedia in Adium, necessary since Adium previously has had no audio or video support. The Smack side of the project was wholly successful, and other developers at Jive Software plan to continue development of the results. This means that Jingle will be available not only to Adium but also to other clients using smack. The Adium side is still in progress; Alvaro has laid much of the groundwork, and he will be continuing to work on the project as time allows; his work on the Adium multimedia framework should allow future development of audio and video support on other protocols in addition to Jabber.

Improved Accessibility Support

Adium is translated into 21 languages, but until this summer it was not well prepared to speak the language of accessibility. Chirag Shah, mentored by Peter Hosey, rectified this situation, making Adium highly compliant with OS X’s Universal Access capabilities for text-to-speech throughout the UI via VoiceOver, text zooming for messages, and more. Besides opening Adium to more users, this should also bring us in line with US Government Section 508 regulations, which could increase the use of Adium in schools and government offices.

Super Menu Duck (aka Improved Status Menu)

A common request we’ve received is for Adium’s “menuling” (the status menu icon that can appear on the right side of the menubar) to be able to stay active even when Adium is not running; Apple’s iChat IM application can do this, and it’s often considered to be one of its remaining advantages over Adium. Joshua Lock worked with mentor Colin Barrett on rewriting the menuling from scratch.

Sadly, this project was not finished, although Joshua made a tremendous effort to learn Cocoa, Objective-C, and the Adium codebase simultaneously in time to finish the project. This is not to say that the project was not fruitful: progress has been made on the menuling, and Joshua has indicated that he intends to continue working on both his project and the rest of Adium.

New Tabs via PSMTabBarControl

After Apple changed the visual appearance of their NSTabView control in the release of Mac OS X 10.2, the Adium team had to scramble to implement their own custom tabs to continue supporting tabbed messaging. Years later, John Pannel of Positive Spin Media wrote his own tab implementation designed to be easier to use than Adium’s and licensed in a more flexible license.

Summer-of-Coder Kent Sutherland (with design input from his mentor, David Smith) updated PSMTabBarControl to match, then exceed, the functionality requirements for Adium’s tabbed messaging. This included tear off tabs, vertical tabs, and improved tab overflow handling. Because of his work, this highly advanced tab implementation is freely available for any Mac OS X application to use. (As of this writing, at least three other projects using it, including Kent’s own program Chax, which made him the ideal developer for this task!)

This project has been merged into the trunk of Adium’s subversion repository for inclusion in Adium 1.1.

Contact List Splitting

Another common request we’ve received is the ability to separate groups into different contact lists so you can have multiple lists on screen at once with a specific set of groups. Due to his familiarity with the contact list code Nicholas Peshek’s application to develop this functionality was accepted.

Although he was not fully successful in his efforts Nicholas attempted to integrate this functionality and properly handle it’s behavior, ultimately delivering a proof of concept that could separate lists and save them for restoration. Nicholas has indicated that he intends to continue working on both Adium and his branch to complete this functionality for inclusion in a future release.

Conclusion

Google Summer of Code (GSoC) 2006 was a wonderful experience for Adium and our six students. The work listed above has accelerated our timeline on some extremely high priority projects by months. In addition to that, the “spillover” effects from the project will impact many other projects positively. Andreas’ improvements to Smack and Alvaro’s implementation of Jingle audio support will benefit other projects using Smack, including Jive Software’s Spark. Kent’s changes to PSMTabBarControl could quite possibly enhance the user interfaces and reduce the code maintenance costs of dozens of Mac applications currently using their own tab classes.

We’ve also already seen benefits from other projects’ GSoC students — Adium 1.0 will have QQ protocol support, a longtime request from Chinese users, which was implemented by Mark Huetsch for Gaim‘s GSoC.

Along with the work that was done, several Adium developers learned a lot about the intricacies of Jabber while discussing things with Andreas, and all of the students came out of the project with more knowledge than they had before (ranging from original research on UI problems to learning new languages and APIs).

Last, but not least, many of our students plan to contribute further to Adium. Developer time and energy is one thing almost any open source project can use more of, so we’re delighted to have students continuing to contribute.

The Future

If you’re a student thinking about participating next year — and if you’re thinking about it, you should! — there’s a few things we learned this year that might help.

  • First: Talk to us! Many of the students we had this year participated on our irc channel both before and after submitting their applications. With multiple conversations with them demonstrating that they were competent and easy to get along with, it was much easier for us to commit to voting for their projects.
  • Second: Think carefully about what project(s) you want to apply for. Useful and interesting student-submitted projects may actually have a better chance than projects from the “official” idea list: there’s less competition, and innovation is exciting. On the other hand, ideas on the official list are ones that we regard as high priority, so it’s likely that many projects on the list will have an application accepted. A good example is the “Improve Jabber Support” project this year: we considered this a very important project, and 11 applicants did, as well. We could only accept one no matter how qualified each student was, a maximum 1 in 11 success rate.
  • Third: Get the code and have a look around before making time estimates. Parts of Adium are, to be honest, pretty spaghetti-like code. It’s also a lot larger than most student projects. Having a feel for these issues will help you plan more accurately. Google Summer of Code is intended to be a full-time internship, demanding full-time hours; schedule your summer appropriately, as it will be fun but also hard work.

We’re already looking forward to GSoC 2007. 🙂

Thanks to Google for their sponsorship, to all of the Adium development team (mentors and non-mentors) for assisting the students, and most of all to Andreas, Alvaro, Chirag, Joshua, Kent, and Nicholas for their involvement.

Some services down

Monday, October 16th, 2006

Some of you folks may have noticed that Subversion and Trac are down. This is true for Adium, Colloquy and Growl. Services are currently being shuffled around to improve performance and prevent future downtime. We don’t have an ETA on this, but it’ll be back up as soon as possible. Thanks for your patience 🙂