« My whole belief system is destroyed | Main | Strengths Finder 2.0 test results »
September 29, 2007
How I would change Adium
A trip through the past
So I've been working on Adium for what, 4 years now, as a Project Manager (part of that time was not as a PM). In that time, I've always tried to pin down what the next priorities are. In general these items would be really chaotic, and would require consulting all of the development team. Priorities for Adium were based on the needs of the development team, and more important, significant others of the development team.
For instance, when Evan's girlfriend (at the time) wanted a specific feature that we had said no to for years, he made it the next day. And thus, priorities change. Evan is the Lead Developer, and true Project Lead for Adium, for those who need to know.
This has worked well for years. There aren't too many people working on Adium at any given time, roughly we hang around 5-7 dedicated folks working on Adium, in their spare time, doing whatever it is that they feel is necessary. This could be for themselves, or it could be for someone else.
About 2 years ago I started to question this whole line of thought. The then Project Lead, and Co-Lead Dev, Adam Iser, also questioned this, so we started discussing things. What would it take to change Adium in such a way that it would make us truly happy again. I've said this a few times, but I've been happy with Adium since before .50, everything else since then has been icing. If you follow that analogy, we've got about 5 miles of icing put on top since then.
So what did Adam and I discuss? A lot of things, but we kept coming back to the 80/20 rule, and how it applied very well to what we were wanting. Later on I found out that the Trac project goes so far as to do a 90/10 rule. Basically this means that anything you add or change should be relevant to 80 percent, or in the case of Trac, 90 percent, of your audience.
I hadn't really thought about this for about six months or so. Previously I had been discussing this with David, I would try to explain it, but I wasn't doing a very good job. He asked me to type something up. A discussion I had on #macsb on freenode with Daniel Jalkut, maker of MarsEdit 2 (what I'm using to type this post) about this very thing. His stance is that he'd prefer that people in general try using desktop applications for blogging, but that'd he'd prefer to make MarsEdit polished, and not win on features. I believe this is the same sentiment that Adam and I were expressing to each other, but not in so few words.
Rawr
Adam went so far as to make some mockups, which I critiqued. We went back and forth, him showing me a png, my commenting, his refining. We nicknamed it Rawr. The results were the following:
Chat Window
Buddies Pane
(ignore the unified buttons in the toolbar)
Some concepts just won't die
During this period Adam and I both believed that the contact list/buddy list is a very old concept that, well, sucks. My opinion of it hasn't changed much in recent years. So why is that?
At least with Adium, people are constantly constantly changing their contact list so that it blends into their desktop, hiding it in plain sight. Other people need it to look like a standard contact list, like this one:
Standard Contact List
To me this was just something that people with smaller contact lists would use. If you become what is referred to as a heavy instant messenger user, with something around 300+ buddies, then it starts to become unwieldy. You can tack on things like search fields and status sorting, but in all reality this just feels like a kludge.
The Nitty Gritty
So what did we think was important to people? Well, a few things. Hence:
So how would I change Adium, I've always wondered that.
Here is my short list of things I would change about Adium:
1) We would no longer have a contact list. Period. A long thin list of contacts is hard to manage conceptually beyond 50 contacts. I have trouble finding the person I want to IM right away. For the five or six people I want to know about all of the time, I'm more likely to open a tab with them in it than to do anything else.
2) I would change the focus. I would emphasize the developer/SO thing more, actually. I would ignore requests from anyone except for this small sample audience. Bug reports, fine, fix the bugs, but don't implement things that your core audience does not need.
Believe it or not, this wouldn't be so bad.
3) Scrap everything. I don't mean throw away code we have, I mean remove any non-essential functionality. Come back to the core of what IM'ing really is. Everything that someone wants that doesn't fit what the devs/SO's need would be put into a third party plugin.
Trac does something similar to this with their trac-hacks website (it's currently down or I'd link to it). They have a huge list of add-ons that make Trac work better in general, and only implement the functionality that they believe 90% of everyone would use. Some people find this weird, but it's not hard to install a plugin.
4) I'd work on polish more. We recently dropped 10.3 support, with 1.1. To me that means we can finally start adding functionality that is 10.4+ without having to maintain 10.3 failure checking code, and all sorts of other stuff.
This also means that we get to move to 10.5+ only as quickly as possible. If none of the devs have 10.4, why support it?
5) Change the UI to match up more with the Rawr mockups. Keep a buddy bar of some kind for the 5 or 6 people you typically care about, and then put the rest of the contacts into a bookmarks looking UI. Setup smart groups, and you have a winning combination for finding contacts easily.
6) Go prefsless. Seriously. Get Adium down to not requiring any preferences whatsoever. After this is done, keep it that way.
7) Move stuff out of the menus that are no longer applicable. Remove stuff in the menus that could be confusing.
Now, this would never happen, because what we have now is what makes Adium awesome. However, what if we had an Adium-Lite? Basically the same back end infrastructure, but really parred down to the nuts and bolts of things. This is what I thought would be useful about 4 months ago, but I have since changed my mind in that it may just be a distraction. I don't know if that'd be useful or not. It'd be interesting to try it though.
It's an interesting quandary to think about, and to be in. About 2 years ago we changed away from our featureset being ruled by "so many features you'll crap your pants" to "a good balance to be the most awesome IM client, period". I think we've achieved a lot of the latter in the last 2 years. Yes, Voice and Video are coming, sooner or later (I get so much crap for this one at work, they think it's funny!).
Anyhow, so what do you folks think? Would an Adium-Lite be something that would be useful? Maybe the IM client for your mom type situation? I've gone over and over on this, and I'm not sure where it would fit, but I think it'd be useful.
Trackback Pings
TrackBack URL for this entry:
http://brok3n.org/cgi-bin/mt-omgtb.pl/3
Comments
Sounds like an excellent idea. I have always liked Adium but thought that it was way too configurable.
On the contact list front, there are quite a few people out there that are only casual IM users. Having a complicated buddy manager like that in the mockup might be too intimidating. A more scalable option might be a filterable vertical buddy list.
Posted by: alex at September 29, 2007 12:54 PM
1. Your contacts list idea seems pretty much like what they have implemented in Gmail/Gtalk. I always thought that you should just store the remainder of the info in Address Book, after all, it is there and is designed to store this type of info.
2. The desire to get down to core functionality is an understandable desire, but I think a bit misguided or perhaps retro-grouchy? I always thought of ways to communicate with people as a continuum of intrusiveness and immediacy. Post being neither, e-mail being a bit more of both, IM being even more, voice/phone next, and then videoconferencing as being the most intrusive and the most immediate. IM clients have been expanding into voice and video slowly, because they all share that level of immediacy, and generally it makes sense from an interface perspective to have them grouped (i.e. I am going to interrupt your work flow).
So the decision tree looks like this: Who do I need to talk to? How should I communicate with them? Are they available and if not, will my message to them gracefully degrade through these levels?
Let us say I need to talk to my girlfriend. I would check my contact list, and I see that she is there but away. So video and voice are out. I send a message via IM to her in case she is there, but since it she is away, I end up e-mailing her.
So limiting yourself to just IM is fine, but in the end it is somewhat irritating to have to check through 5 apps just to find the person. That is why people want iChat video/voice functionality, because it means I have to first run iChat (even though I prefer Adium because other friends have that), then I might run Skype, then I might run Adium, then I might have to go onto Mail. As it is, it is a miracle I communicate with anyone.
I know I have written a lot, but I don't think I am the only one that does this.
Posted by: akatsuki at September 29, 2007 01:04 PM
Ah I understand what you are trying to do with the mockup now. The reason I had difficulty is you have not posted the screen shot for the chat window.
http://brok3n.org/rawr/Old/MessagePane.png
Posted by: alex at September 29, 2007 01:16 PM
Thanks Alex, fixed.
Posted by: Chris Forsythe at September 29, 2007 01:24 PM
Yeah, I'm still curious to see what Adium Lite would look like.
Posted by: Peter Hosey at September 29, 2007 02:33 PM
I totally agree. Adium is an awesome IM client, but I feel like it's started to concentrate on things that aren't so important over things that are.
For example, the ongoing 'msn group chat bug' that has been around for years total breaks the basic MSN group chat feature. You can configure pretty much everything in adium, yet having a standard msn group conversation is troublesome.
I like your ideas.
Posted by: Brett at September 29, 2007 03:49 PM
The whole buddy list thing is pretty interesting. I think its useful when the list is relatively small or if there's a group of people you want instant presence info for. Beyond that, it's just a nightmare to manage.
At work with Sametime 7.5 I have a few hundred contacts in my list, the most commonly contacted 25ish people visible. I get to everyone else through the autocomplete/search box available at the top of the panel.
I've wondered for a while about a buddy pane which contracts to just a text entry box which works in a similar way to let you IM someone by typing part of their name - a-la Spotlight. Just a thought.
Posted by: DavidIllsley at September 29, 2007 04:33 PM
This analogy falls apart on the point of having no or few preferences, but what you have mocked up is very much like Colloquy's interface. In colloquy, you can have tabs on the left side of a few select irc channels always open on launch and access to a larger number of favorite channels via a drop-down list.
Colloquy actually has a buddy list accessible via Cmd-3, but it's rarely used afaik.
Posted by: mdmunoz at September 29, 2007 05:19 PM
Sorry - not such a big fan of the new interface ideas. The good thing about the current buddy list is that it is less intrusive to the Desktop. Just like Growl it lets you know of what is happening in a very subtile way. A buddy list gives you an overview without having to play around with an application. On the other hand I agree that with 50+ contacts it does get messy. Not sure what to suggest ...but the new designs remind on an even older UI concept - of IRC clients.
Posted by: Torsten Curdt at September 29, 2007 09:59 PM
Chris, you already know my opinion on this matter as we've had a few discussions about this online. Although I don't quite agree about having no preferences, I just don't know how well that would fly with users unless certain things are easily accessible in the UI or through menu's (i.e tab behavior)
Posted by: Jon Kantro at September 30, 2007 02:01 AM
It is an interesting idea and I would certainly try it out, but I don't know whether I would stick with it in the long run. I'd have to see how it works out for me in the long run, but in theory, I should be happy with it.
Posted by: Torsten Kammer at September 30, 2007 02:34 AM
A great idea that I'd love to see be made a reality. I'm a great believer in finding a solid foundation and building on that.
I don't have many contacts on Adium, but having a few windows float around for contacts, preferences and chat is just clutter.
Some vague, probably useless advice: simple is great, but getting there may be very complex.
Posted by: Alex McLarty at September 30, 2007 06:21 PM
I'm actually kind of sad that you think that this wouldn't work and therefore should be reserved for an "Adium Lite." I've always hated contact lists, and an Adium with far less preferences (none is almost defeatism imo--relegating it to "lite"-ness) and that UI would be spectacular.
Right now, Adium doesn't stand out very well compared to other free options (Proteus is similar enough for most not to care) and the new iChat is coming out. A superior interface is something that would make Adium stand out among IM clients.
Do it. Please.
Posted by: mdmunoz at October 4, 2007 11:50 PM
Funny, it was the sheer sexiness of the Buddy List that made me go for Adium in the first place. I haven't checked recently but back then when I switched, Adium was the only IM that would allow you to have your list behind all windows (so from 10.4 on, you could access it by hitting F11 or mousing into corner), have it be transparent *and* use Zapfino for the buddy names. I usually have no (other) Adium window open. This new idea would make it more difficult to switch to Adium (now, thanks to Fitts' Law and Exposé, I can throw my mouse pointer into a corner and consequently click on the buddy list) and initiate a chat (double click on buddy vs. cmd-N for new window, then opening the bookmark pop-up, then pick your buddy from the pop-up menu).
Alright, I probably don't qualify as 'heavy user' (only ~100 contacts), so I guess I'd also be happy if you spin off the buddy list feature into a separate plug-in.
Posted by: Eric at October 8, 2007 01:11 PM
When I started to read this article, I really thought it was going to have some good ideas in it. It didn't, though. The IM client is established, and I think people want it the way it is. You would really piss a lot of people off if you decided to go change the way of things like this. The one thing I agree with you on is that the interface could be tweaked (like message windows) because it's getting a little trite. Those black transparent boxes used as iphoto prefs and for pixelmator might be nice. also, i hate myself.
Posted by: Dylan at November 9, 2007 01:59 PM