April 30, 2006

Tech Preview is now available!

First ChatKit Tech Preview is now available!
Get it at http://www.chatkit.net.

Posted by Ofri Wolfus at 08:33 AM | Comments (0)

March 15, 2006

Where are we standing

So I thought I'd give an update about how things are going with ChatKit, so here it is:
• The service plugins API is in place, and looks pretty stable. We'll soon start looking into adding some service plugins (AIM/ICQ (joscar) and GTalk (libjingle)).
• Our plugins API is designed to allow new services to add new features with minimal effort. Just write an ObjC protocol for it and adopt it by your account/contact implementation class. The framework will then support it without any modifications :)
• ChatKit can (in theory) connect to bonjour, get a list of all users and send/receive messages (type ahead and HTML messaging are also supported).
• Static groups are in place. Now I'll start working on virtual/local groups (meaning dynamic (like iTunes's) groups and sub groups).

The only problem is that all of the code is untested. We're working on making a test client to test and demonstrate ChatKit's powers.

Some cool thing ChatKit allows by design are:
• Multiple applications connect to a single daemon and use the same sessions. This means that you'll be able to have, for example, both Adium and Proteus running and connected to the same accounts. Messages will appear in both, and changes made in one will immediately be reflected in the other.
• Since all the communication with the daemon is made using DO, you can connect to remote daemons without additional code. Just imagine the possibilities when you combine it with what I just said before ;-)
• ChatKit is designed to hide the differences between different protocols. ChatKit creates uniform interfaces to access the same feature on multiple services (read the "Writing Service Plugins" manual for more info). This means that if you implement support for nudges in your app, it'll "just work" for both MSN and Yahoo, and even if bonjour will add support for it someday, you'll have to write no code to handle it, except well, enabling a GUI for it ;).
• ChatKit allows different service plugins to implement identical protocols. The host app can then just choose what implementation it prefers based on the features it supports. ChatKit even takes it one step further, and allows you to create 2 sessions of the same protocol using different implementations.

Posted by Ofri Wolfus at 06:05 AM | Comments (2)

August 01, 2005

What I've been up to

So in the last couple of months, I haven't posted much. This has more to do with the fact that the server was changed (and I did not backup my database because I wanted to sorta start new) than anything else.

So with this in mind, this post is going to be long.

Growl

Growl is doing really well. We have had about 40,000 downloads of .7 now, so this gives a form of validation. I'll be pushing beta 5 out tomorrow, and hopefully .7.1 next week sometime.

Growl .8 is going to take a while. A lot of stuff is being refactored, so that in the long run Growl should hopefully be easier to code on. This is being done, and hopefully Growl .8 will be out by Christmas.


Chatkit

So in the long run, Adium, Fire, and Proteus (the 3 main chat clients on os x) are all reimplementing the same things over and over. If you add it up, we all probably fix the same problem different ways with over 100 man hours wasted a year.

My thoughts on this for a while had been that we could all work together on some things. My previous entries regarding emoticon standards (which I gave up on) show this to some extent. For about 3 months, Adam and I have been discussing this indirectly. We ended up naming the idea Chatkit, then getting ideas going on it, involving people from multiple projects. We just started the project last week actually, and so far it's been slow going but fun. I'll talk about this more later though.

Coal

About 3 weeks ago I started thinking of something new as well. Every time I was talking with someone over im for a one week period, I would continually need to open up log files/search something on google/find something on amazon/use spotlight.

Then I remembered dashboard (later became beagle), and thought we could use a splash of something like it on os x. jfro is going to investigate this further, and has a working way to get at the data we'd need to get to. The general idea is that this is data mining, hence the name Coal. If it doesn't work out, we can still have a nice gui to do spotlight+internet all at one time. That in itself would be convenient.

Adium

I've been working less and less on Adium. My initial goals were only known by the two team leads. Overall though, the idea is to help the project in the eventual case where developers drop out of wanting to work on it. Keeping people interested has been my thought process on a lot of it, and so far it's worked out pretty well. My need to work directly with developers in order for this goal to be achieved is pretty much gone now, so folks are probably seeing me less and less.

Myko Games

So apparently I started something called Myko Games inadvertently. Basically the idea is to have a game system that works with multiple clients on os x, in order to allow mac users to play games such as chess and tic-tac-toe. Long time Adium users might remember tic-tac-toe, which this evolved from (somewhat). Here is the real story though:

Skyler (otherwise known as freakman) decided he wanted to have an easter egg inside of Adium. Skyler finally landed on wanting to put a 10 mb movie file hidden inside the "About Adium" dialogue.

Yes, I said that. He wanted to put a 10 megabyte file in Adium. And he wanted it to only be activated when people went to the About panel, and only for some weird key combination. Guess what we said..

Anyhow, in order to keep him interested in it, I suggested that he put games into Adium instead. Eventually we landed on the idea that other clients would like to have this too, and hence IMGames started. Unfortunately the name IMGames is taken, so Myko was chosen (lord if I know what it means). And so, apparently I helped to start Myko Games and save Adium from the 10 movie monster.

Randomness

Oh, and to address this blog entry by Peter and why I revived my posting grounds. I was not worried. Rather, at the time I just was not going to use something that the folks who do jep wrangling did not recommend implementing. Also, dragging up one of my posts from last year wasn't such a great idea either. But since it's been brought up, the initial work I've done will probably make its way into Chatkit, in a much simpler format than described in that jep.

Posted by Chris Forsythe at 06:57 PM | Comments (0)