Will Stephenson is one of the attendees at the KDE PIM Event. 4 years ago he started with contributing to Kopete, the instant messaging client for KDE. His recent contributions made it possible to let Kopete communicate with Kontact. In this interview, he will tell you about Kopete and his exciting plans for the upcoming meeting.
Will Stephenson of Kopete
Please tell us something about yourself.
My name is Will Stephenson, I'm 30, and from Newcastle upon Tyne, UK. However, I've just moved to Nuremberg, Germany. I've been contributing for KDE for 3-4 years, most of my early stuff was things like icons and animations though. I started out contributing to Kopete, icons, animations, artwork etcetera, then I coded a couple of plugins. Then I went to Kastle and got really hooked and coded KIMProxy, which brought me into contact with other KDE applications, mostly KDEPIM. Do you know about KIMProxy?
It's some KDE infrastructure that lets applications use instant messaging
services (presence, starting chats, sending files) from different IM clients.
So Kontact uses it in lots of ways, so does Konqueror, and on the client side,
Kopete and Konversation support it, and now Licq does too. The nice thing is it
isn't bound to any particular application or IM client, so it is easy to use or
to add support for it to other IM apps. Anyway, so I did that, and added support for it to the Kontact apps and Kopete and also work on integrating Kopete with the KDE addressbook. Then last summer I got a contract with SUSE to write Novell GroupWise Messenger support for Kopete, which was pretty scary at first as I had only assisted on existing protocols, I had never written an entire protocol from scratch before (whole new IM protocols don't come along that often, and those that do aren't very important). Anyway we got it done and I got a job out of it. So I work for SUSE now, developing KDEPIM things for them. Which mostly comes down to supporting Novell Groupwise in KDEPIM and Kopete.
So what do you think is Kopete's greatest strength?
The way it works like every other KDE app, and the way it cooperates with other applications, so you can store your data in KAddressbook, or send a mail
using KMail, from Kopete and vice versa. Those apps can use Kopete if they need
to reply to an email using IM. Another real strength Kopete has is the way it
puts people first, not IM systems. So you don't have a list of ICQ contacts, MSN contacts, or see the same person listed 3 times in different IM systems,
instead you see the person, with their picture (from KAddressbook or from
IM) and just click on them to communicate with them. Other things that are nice
about Kopete are the degree of customization available using chatwindow and
emoticon themes, downloadable from kde-look.org using KNewStuff.
What feature would you really like to see included?
I would really like to see voice and video support in Kopete. Several developers (not me) are working on that right now so I'm sure we will make some progress on that.
Will that include Skype, to name a buzzword?
Skype support is one neat thing. I'm going to be working that at the KDEPIM
meeting, however because Skype is a proprietary application, that's just using
Kopete as a frontend to the Skype app. Which is great, opens the way to using
Skype from Kontact using KIMProxy etcetera. But what I was talking about before
is supporting voice/video in the well known IM protocols like MSN, Yahoo and
What is the largest problem with Kopete development?
Manpower, having enough developers. It's getting better at the moment as we have some new talent coming on board, but we can always use more. We're a really open project and we always welcome contributions. For example look at Eric Cartman - he started coding on Kopete on a Monday and by Wednesday he had added cool code that shows emoticons in people's nicknames in the contact list. It's my experience that any technical difficulty we have gets overcome if we have time to work it.
How about the multitude of protocols? Does that cause troubles?
Yes, it means that although Kopete is one program, it has code equivalent to the backends of several other programs behind it. And it means there are more,
different codebases for developers to follow. Therefore it works best if there
are one or more protocol specialists who each maintain a particular protocol.
At the moment we could really do with more AIM/ICQ and Yahoo developers.
What are you occupied with at the moment?
At the PIM meeting, I'm going to code on Skype support. I also want to sort out the IMapplet from kdenonbeta that I wrote ages ago and never finished, which lets you put contacts in your panel, for important contacts like girl/boyfriends. Another thing I am working on is the KDE4 version of the KIMProxy/KIMIface API. One weakness of KIMIface is that it only allows for one
means of contact with people - fine if you only do text, but for Skype you have
a choice of text or IM, so we need to address that.
Thanks a lot!