Summer of Code Ideas

Marquis Wang mwang at
Tue Apr 6 05:47:21 EDT 2010


I'm kind of late to the party, but I'm a junior computer science major at Harvey Mudd College considering applying for an SoC project. I've got two potential projects in mind that I have wished Pidgin and libpurple (I use Adium and Pidgin on OS X and Windows/Linux, respectively) had in the past, though I'm not sure if they are something that other people will want or think belong here, so I wanted to ask everyone here what they thought before I wrote up an application:

1. Google Voice SMS integration in libpurple. I like being able to send text messages using my computer and have been using AIM to send text messages for years. As text messaging becomes more and more ubiquitous, it has become much more accepted to contact people and have conversations with them through SMS as if it were instant messaging. Now that Google Voice allows a seamless way to send texts as if you were using a phone, I would love to be able to do that in a chat client.  Currently, the only ways to use Google Voice are:
 * The web application,
 * Voice Mac, a very simple native Mac application that kind of looks like iChat and is extremely minimal, 
 * an Adobe Air interface to the web application, 
 * and an XMPP gateway that communicates with Google Voice through a jabber account. 

Each of these approaches is flawed and does not fit well in my workflow. I would definitely prefer to have native support in libpurple and would be interested in implementing that myself. Furthermore, as applications such as Twitter and Facebook begin to mix with traditional instant messaging, something like Google Voice makes more and more sense an a component in libpurple.

2. For the last several years, I've wanted to be able to seamlessly share data and connections between two or more instances of Finch, Pidgin, or Adium. I have both a desktop and a laptop, and I would like to be able to seamlessly transition from using Pidgin on my desktop to picking up my laptop, using Adium, and walking to another room. I have often experienced problems when I have two computers connected to the same AIM account where only one computer (often not the one I'm using) receives messages. I think a solution would involve a libpurple daemon that maintains a connection to the IM services and remembers the state of conversations, to which clients can connect to and instantly restore the conversations that were going on. In this sense, this project is very similar to the "libpurple detachable sessions" on the project suggestions page. As more and more people have multiple computers (and mobile smartphones) I definitely think this sort of support would be useful.

I hope that these are understandable explanations of my two ideas. They're both features that I personally would like to see implemented in Pidgin and libpurple, and thus would be interested in pursuing as a project for SoC. I would love any feedback regarding them.

Thanks ahead of time!
Marquis Wang

More information about the Devel mailing list