Kevin McMahon

Chicago based mobile developer.

Chatsworth: A Google talk group chat bot

For the past year and a half, I've been using PartyChat to participate in multi-user chats with friends. PartyChat essentially provides IRC type functional via GTalk and has been a great way to have on going conversations throughout the day while avoiding 100+ email threads.

The only pitfall PartyChat has to do with stability. PartyChat is a free service used by a large number of people, and it is run off the project creator's computer in his apartment. I do not know exactly why the service goes down intermittently, but the recipe of home server plus lots of users cannot be helping. While it stinks that PartyChat isn't always up, I understand I have no right to demand or expect 100% uptime, so I decided to do something about it. I leveraged some of the knowledge I picked up about XMPP, the protocol that Jabber and GTalk use, from another project and wrote a simple group chat bot called Chatsworth to improve the availability of group chat that my friends and I use and depend on.

Chatsworth is a windows service written in C# that provides basic chat room functionality. It does not have all the features that PartyChat has, but it does offer people the ability to setup and manage their own chat bots. Additionally, if you are concerned about having all your chat logs being available not just to Google but also to the people running the PartyChat servers, then Chatsworth is the group chat provider for you.  Chatsworth is fully functional but still immature and under development. I plan to add some additional features, take care of a few loose ends and provide more unit tests in the immediate future.

Admittedly I could've just downloaded the PartyChat java source, compiled it, and ran it on my own set of servers, but where is the fun in that? I figured rolling my own chat bot would give me the opportunity to do more than address some of the availability issues I was having. Starting up Chatsworth provides me a non-trivial project that I can use to explore different software development concepts and techniques as well as get some code and design samples out on the web. So if you're in the market for group chat in GTalk, give Chatsworth a try. I am looking forward to building this project out further and would love to hear any feedback.

Tagged: chat bots / chatsworth / unit-tests / windows service / jabber / xmpp / talk group / group chat / home server / google / google talk / gtalk / chat / development / c# / projects

blog comments powered by Disqus