God Is A DJ & We Are Ninja

Friday, October 2, 2009

Monday, December 1, 2008

Friday, September 19, 2008

Its been a while

Since I posted anything ... a lot has happened since before summer began ... learnt a lot , met new people, moved from PA and I am working in my first time full time job. For now I just wanted to update my resume ...


Tuesday, April 1, 2008

Some More on Message Styles - User Community Contributions

GSoC application deadline was extended ... so I decided to blog on latest developments.

I think I had already mentioned this before but it turns out that Message Styles were one of the things that was wrong with the current group chat UI. There was an interesting conversation on IRC regarding that.

As it turns out, there are already people working on new message styles for group chat. Thats a very good thing: to leave the UI design to the people who do good design. If and when the group Chat UI gets improved, it would be a good idea to announce to the User Community (especially Message Style creators) what was going on and ask them to design Message styles that worked best for 1 on 1, group chat , or both and categorize at their discretion.

Below are two "new" Message Styles that were shown to me by a message style maker:

yMous modified


Tul modified


I will be testing these with the IRC plugin soon to see how different the experience is. Also, it was mentioned that Smooth Operator 2 was looking good in Group Chats.

Finally, whilst doing some more digging into Colloquy's interface, I noticed that it
supports the OutlineView, Drawer and Adium-like tabs. (I knew it contained Adium code but hadn't seen it in action yet). Having all 3 different UI's in one app, is something that could be explored with Adium.

Monday, March 24, 2008

Adium Group Chat UI Mock Ups

Still on a GSoC note, I was playing around with some ideas for alternative looks for the Group Chat Message Window for Adium. I tend to forget things easily so I decided to do some quick mock ups with Inkscape.

This first one uses a drawer to list the contacts within a group. I think it will require
less modifications to the current Message Window UI. The there could be options
for the position of the drawer (left , right etc.) and of course you would be able to
open or close it.


This next one was influenced mostly by Colloquy's UI. Again options can be added
to have the list on the left or right. In addition, the currently displayed Groups and Contacts could be ordered by service, name, etc. This will probably require a
larger change to the current UI.

Of course there are many other possibilities for the UI. These however are the
main ones that have come to mind so far.

Saturday, March 15, 2008

GSoC - Adium and Group Chats

GSoC is here again. This year, I'm planning on applying to work for / with my favorite IM client: Adium. The project I have picked to propose is one already suggested by the devs. It has to do with improving Adium's Group Chat UI.

Most users might not know this but Adium does currently (unofficially) support IRC chat. If you've ever looked at the source code, you'll notice an IRC Service Libpurple Plugin. Below is the entire description of the project proposal on the Adium GSoC wiki: "Right now, groupchat is working, but the UI is inadequate. This holds back IRC-support. That's bad. You could fix that. That's good."

I decided to first find out for myself exactly what "... the UI is inadequate ..." meant. I tried out the IRC plugin with all the default message styles. With the exception of Stockholm and Mockie, the rest of the message styles would have to be tweaked a bit to work well with chats like those that occur in IRC. Another thing I noticed was that, the waving dock duck icon and red message number that displays when a user sends you a message were being displayed for every single message in the channel regardless of whether or not it was addressed directly at me. These two observations have led me to believe that fixing the groupchat UI will probably involve touching some other parts of the source code that might not necessarily have a direct relationship with the message window.

The next thing I did was to take a closer look at an example of a Group Chat UI that works well for me => Colloquy. I examined the source code for their message window UI. It is interesting to note that Colloquy does borrow some source code for tabs from Adium. The left column of the window that displays the channels and persons is a customized NSOutlineView. (I spent sometime developing a mock app to bring myself up to speed with NSOutlineView programming. The app just displays a tree view of the contents of its Resources folder).

I am still examining how the tabbed views work in both Adium and Colloquy. Through correspondence with Kent Sutherland, who worked on integrating Adium's tabs with PSMTabbarControl (in another GSoC project), I have learnt that the classes he made major changes to were AIMessageWindowController and AIMessageTabViewItem.

Thats as far as my current research has gone. I am aiming for a solution that will consist mainly of cosmetic changes to the UI that work, rather than a huge overhaul to Adium's underlying tabbing mechanism. It would be a bad idea to bias towards some particular UI solution from the get go; rather I'll start by proposing a lits of possible ideas with mock ups and screenshots. Most or some of these will come from those already existing in popular IM clients. Another good thing to do (which I have already started) is to catalogue open tickets having to do with the group chat UI; that way some of them can be factored in when working on this project. (It is even possible that the chosen solution will be to have two UI's, one for group chats and the other for one on one chats.)

I made a quick shortlist, in addition to browsing screen shots for the following: AIM ,aMSN ,Colloquy, Fire, iChat, icq ,Kopete,Miranda , Pidgin ,Trillian ,Yahoo . From my preliminary findings, the UI's fall into two broad categories. Those that use a column to display the contacts in a group chat (columnChats) e.g. Colloquy, and those that use a drawer (drawerChats) e.g. Fire.

After deciding on the UI design. The next, fun part will be to start coding it up. I have made a shortlist of Cocoa technologies and some other things which I might have to learn in order to accomplish this task. I'll probably start reading up on them really early on. OutlineView programming (I have already started work on this), Key-Value Coding and Observing, Managed Objects (Core Data etc.), View programming, How Adium's tabbed view's work, PSMTabbarControl Framework. The list is probably more than that but thats all I can think of for now.

The thing I like most about this project is that there is a clear goal and yet much is left open to design decisions. This means, in addition to coding, careful thought will have to be given to big picture issues like look and feel and user response etc. I will probably want to have a lot of user input and testing during the coding process. One nice side effect I am envisioning is that the transcript browser window might benefit from the an improved Group UI: (see last sentence in Ticket #7299).

Ok ... I think should go finish drafting my application. Wish me luck!! :)




Wednesday, January 23, 2008

Adium SMS / Email Plugin "Improvements"

There's lots of things I should be blogging about:
  • My Christmas in Ghana
  • My job search and how its gone so far
  • My thesis (I'll finish setting up my thesis blog today)
  • My current coding exploits
For now I'd like to get my Adium plugin up and running before the semester starts
so its taking priority.

I corrected a bug in the original version thanks to advice from Peter Hosey.

I added Four Canadian service providers (Rogers, Telus, Fido and Bell Mobility) as per requests from users. With regards to service providers, many more can be added. The only problem will be testing since I personally don't have access to that many people in countries outside of the U.S. with cell phones. Here is my current policy: If you want a service provider added, let me know about it. I'll add only if you are prepared to test the smtp gateway and confirm that it works.

There is now support for AddressBook. I'm still maintaining a "Save Settings before Sending Email or SMS policy"; that might change depending on feedback. When
you open the Edit Email/SMS Settings window, there is a drop down text field.
If your contact is already in AB, I pull all their associated phone numbers and email addresses in the order in which they appear in AB. From there, you can select and save whichever email address or phone number you prefer.

Any and all feedback on the plugin is appreciated. I'll post the new source code shortly for critique but for now I just want feedback on the plugin proper. See previous plugin
posts
on how to use the plugin, what it does etc.

Note plugin is in beta stage. License can be found here

Download the plugin here

Blog Archive

Labels