GSoC’s coming to an end, so it’s time for a final update: An overview of
what I’ve been working on this summer.
Project
My project was to “modernize” and write a libpurple add-on for
Caya, a multi-protocol chat program.
Ultimately, I hard-forked Caya into
Chat-O-Matic at the request of a
previous maintainer― with the name being suggested by win8linux. :-)
“Modernization” here means three things: Allowing multiple accounts in use
at once, re-orienting the program to support multi-user chats, and giving
add-ons some more flexibility.
Looks like it’s time for me to clutter the blog again!
To start: Since the last update, Caya has been hard-forked and renamed to
“Cardie” (short for “cardinal”),
which at least fits the “bird theme” of libpurple clients.
… And the name’s fitting, since it’s now a fairly functional libpurple client.
:-)

libpurple support
There are a few features not implemented yet, which keeps it behind the XMPP
add-on in terms of functionality, but the core is there: Configuring
and managing accounts for any protocol, joining/creating/leaving rooms,
chatting, sending/receiving your own status, room invitations, managing roster,
purple-side chat commands, etc.
It’s the end of the first GSoC period, so it’s about time I clutter the blog
again!
A good few changes have been made to Caya― most obviously support for
multi-user rooms and some UI changes. Multi-protocol add-ons are now supported,
the program is oriented around “Conversations” rather than “Contacts,” basic
moderation (kicking, banning, muting) works, etc.
The protocol API’s
expanded because of these general changes, and I don’t think it could be called
“stable” for another couple weeks at least― I still need to document it, and
some of the new additions might still be consolidated into others.
Introduction
Hi! I’m Jaidyn Levesque (jadedctrl on IRC and elsewhere), a 2nd year Computer
Science student. I’ve been using *nixes for several years now, and just
moved over to Haiku as my main OS a little over a year ago. I’m lucky enough to
be a mentee this summer, and I’m excited to get started!
Project
My GSoC project is to modernize Caya, a
multi-protocol chat program. “Modernize” here means a couple different things:
General updates, multi-user chats, and libpurple support. Caya is oriented
around two-member chats, whose protocol is arbitrary, with protocol support
being done through add-ons. It hasn’t seen much activity in the past few years,
so my first goal is to get it running on modern Haiku. Afterwards, chats will be
abstracted to allow for multiple users, enabling protocols like IRC to be
implemented. The last goal, libpurple support, will involve writing a generic
libpurple protocol for Caya.