grundleborg

open source stuff

Posts Tagged ‘kopete’

Trying out the Kopete Telepathy plugin

Posted by grundleborg on September 23, 2009

It’s quite a few weeks since I promised I’d write a guide to trying out the Kopete Telepathy plugin, but better late than never…

The current state of the code is as follows:

  • 1-1 text chat using telepathy-gabble (jabber/xmpp/google talk) is the only form of communication implemented.
  • This is still very much playground-quality software, so expect it to be full of bugs and crashes. However, it is now mature enough that I’d really appreciate reports for any bugs you find (Please report them to bugs.kde.org product ‘Telepathy’ and component ‘kopete-protocol-telepathy’). Only yesterday did a bug where messages were sent to the wrong people come to light, so be careful what you say until it’s more stable!

Prerequisites (compile in this order, or use distro packages where available):

  • Telepathy Mission Control 5 (at least version 5.2.2, preferably version 5.3.1+) source code here
  • Telepathy Gabble (at least version 0.7.27, preferably version 0.8.3+, avoid 0.9.x releases for now) source code here
  • Telepathy Qt4 (version 0.1.9 required) source code here
  • Telepathy accounts kcm (from svn, svn://anonsvn.kde.org/home/kde/trunk/playground/network/telepathy-accounts-kcm )
  • Telepathy accounts kcm plugins (from svn, svn://anonsvn.kde.org/home/kde/trunk/playground/network/telepathy-accounts-kcm-plugins)
  • Trunk version of Kopete (will not build against KDE 4.3)

Getting the Kopete plugin:

  • Source code at svn://anonsvn.kde.org/home/kde/trunk/playground/network/kopete
  • Compile using the usual KDE methods.
  • If the share-my-desktop plugin fails to build, ignore this, or comment it out in the CMakeLists.txt file.
  • run “kbuildsycoca4” in a konsole so that Kopete picks up the new plugin.

Trying out the Kopete plugin:

  • Launch Telepathy Mission Control (still needs to be done by hand unfortunately): Run in a konsole: “/usr/local/libexec/mission-control-5” (or wherever you installed mission-control-5 to)
  • Launch Kopete.
  • Create a new account in Kopete,  select the “Telepathy” protocol, and follow the instructions.
  • Try it out 🙂
  • Report any bugs you find to help us make it better, or ask for help in #kde-telepathy on freenode if you have any problems.
Advertisements

Posted in Collabora Planet, Collabora Web Site, KDE, Telepathy | Tagged: , , , , , , | 3 Comments »

Weekly Update the Third: Kopete/Telepathy almost ready for testing

Posted by grundleborg on August 10, 2009

Last week was, yet again, a busy week for Telepathy/KDE. The Kopete Telepathy plugin continues to mature, and is now only about 3 showstopper bugs short of being ready for testing. So, look forward to a blog post later this week detailing how to take it for a spin.

I’m really busy at the moment, and don’t really want to drag myself away from coding for too long, so here’s a quick list of last weeks progress:

  • Kopete Telepathy plugin now doesn’t lose any messages you send during the first couple of seconds of a chat (while telepathy code is still setting up).
  • Many other small bugs fixed in Kopete Telepathy plugin.
  • The Telepathy Account Management KCM now has a nice custom UI (which is a lot friendlier than the autogenerated one) for Gabble/Jabber accounts (which I expect will be the most common ones for testing with, since Gabble is by far the most full-featured Telepathy Connection Manager).
  • Lots of refactoring and code reduction and tidyup to start the accounts KCM and Kopete Telepathy plugin down the long road to being ready for kdereview 🙂

And, as always, I’m not the only person working on Telepathy/KDE. Some (but by no means all) of the other things going on last week were:

  • Matteo Nardi submitted a couple more patches to the Acocunts KCM, this time making the Protocol selection a bit nicer when adding an account by easing user interaction with the widget and making common protocol names localisable.
  • Abner has pretty much finished the 0.1 version of the stunning new presence plasmoid (more on that soon).

I’ll probably be back again mid-week with some (finally!) details of how to try out telepathy in KDE (warning, extremely pre-alpha software!!!).

Posted in Collabora Planet, KDE, Telepathy | Tagged: , , , , , | 7 Comments »

Weekly Update: Kopete Plugin and Add Account Assistant

Posted by grundleborg on July 27, 2009

In yet another probably-doomed attempt to write regularly about my KDE work, I’m going to try writing a weekly update every Monday on what I was working on the previous week. Lets see how long this lasts. (My bet is on 2 weeks).

Since this is the first one, and I’ve been back from GCDS for two weeks, I’ll cover the progress of both weeks.

Kopete’s Telepathy Plugin

There is a protocol plugin for Kopete that allows Telepathy accounts to be added to it as if it were just another protocol. It has existed for years, but has never quite been in working order. I’ve been working on this for the last two weeks, and now it is approaching being usable.

  • The Contact List works (with some basic management features like add/delete contacts, but not others like approving presence subscription requests).
  • Accounts are stored in the central Telepathy Account Manager daemon. However, only accounts added to the Account Manager through Kopete’s Add Account Assistant are accepted by Kopete (not if they are already in the Account Manager from some other source)
  • Channels are dispatched and handled through the central Telepathy Channel Dispatcher daemon, allowing you to have text chats with your contacts.
  • The Add/Edit Account pages are still horrible, but I’m going to integrate the Add Account Assistant from the KCM which I’ll describe below once it is ready.

Telepathy Account Management KCM

In the flying-car future of deep Telepathy integration with KDE, there should be one central UI which takes care of adding/editing/removing instant messaging accounts. This will exist in the form of a KCM Module (which can be invoked by any application wanting a “Add Account” button in its UI). In order to reduce code duplication, it is being designed so that classes from it can be reused with a minimum of effort in Kopete for the Telepathy protocol plugin’s account management features.

Features that have been implemented so far include:

  • Display a list of valid and invalid Telepathy Accounts.
  • Checkbox to enable/disable Accounts and show their icons (Thanks to Matteo Nardi for the patch)
  • Add Account assistant with a generic UI generated on-the-fly from Telepathy Connection Manager Parameters.

Features to coming this week or soon after include:

  • Custom UI plugin support and plugins for common Connection Managers in the Add Account Assistant/Edit Assistant
  • Edit Account assitant
  • Removing Accounts
  • Prettier/more usable UI for the whole KCM.

Thats pretty much everything for the last two weeks. I’ll be back next Monday (if not before) with another update.

Posted in Collabora Planet, KDE, Telepathy | Tagged: , , | 7 Comments »

The Nepomuk Sprint

Posted by grundleborg on June 22, 2009

I’m writing this on the plane back from Freiburg, and the Nepomuk Coding sprint. It’s a beautiful town (except late at night during the weekend, but anyway…) and well worth visiting again (hopefully there’ll be a Nepomuk Sprint 2010).

Now to the important details. As I often seem to at these kind of events, I find myself leaving with less code written than I arrived with. However, when put in context, this is no bad thing. Nepomuk is a new technology, and is not entirely straight forward for a newcomer to understand. I arrived with intentions of integrating Telepathy with Nepomuk, but with little clue how to actually do this. And the results: I know understand enough about how Nepomuk works to make a plan, and start coding on integrating with Telepathy (unfortunately most of the code I wrote in the few days beforehand with this aim turns out to be so wrong it’s best just to throw it away and start again).

There are two ways in which Telepathy will be integrated with Nepomuk. One is the fairly obvious case of storing metadata about your IM buddies. Some examples of this might be: the last time they were seen online or the geolocation at which they were last online using the Location interface of Telepathy). I’d love to hear any more suggestions of metadata that it might be good to store on your instant messaging and VoIP contacts (please use the comments section at the end).

The second integration point is a little different. It concerns the idea of metacontacts. Users of IM clients such as Kopete are probably familiar with the idea that you can group two buddies on different protocols, who are the same person in real-life, together as one metacontact. I intend to implement this for Telepathy applications’ contact lists using Nepomuk to store the relation between the different buddies. The advantage of doing this is that not just your IM client, but any Nepomuk enabled application can see this relationship.

So, that’s my rather superficial hand-wavy summary of the plans that came out of the Nepomuk sprint for Telepathy. I hope to write again soon to provide a mercilessly technical explanation of how all this will/is being implemented.

Finally, I’d just like to say thank you very much to Sebastian Trueg who did such a great job of organising this sprint.

Posted in Collabora Planet, KDE, Nepomuk, Telepathy | Tagged: , , , , , | 6 Comments »

Telepathy-KDE update

Posted by grundleborg on June 18, 2009

I haven’t written anything for a couple of months now for the same reason that I haven’t committed any code. Exams. Now they’re over it’s back to hacking. But just because I haven’t been working on Telepathy/KDE for a while doesn’t mean that nothing has been done (obviously).

The underlying TelepathyQt4 library on which all our work is based has progressed a lot, gaining support for requesting channels from the Channel Dispatcher, gaining the Client interfaces and going through what will almost certainly be the last major API redesign before it goes stable. These two advances mean that it is now possible to work on Telepathy client applications in Qt/KDE without having to play an endless game of API catch-up.

There are also two summer of code projects progressing nicely:
George Kiagiadakis (gkiagia)’s work on KCall is really exciting… I can’t wait to take part in my first video conference using KDE software!
Kaushik Saurabh (roide) is also making great progress on his Conversation Logging Framework for KDE (while not entirely a Telepathy project, it goes without saying that the two will be integrated).

And now to the future… to Friday. I’ll be at the Nepomuk Sprint in Freiburg working on integrating instant messaging buddies with the address book and the semantic desktop. I’m not yet exactly sure how this will be done, but I’ll be spending the next 2 days up until the sprint getting that nailed down, and then coding madly once I get there. I really hope there can be something photogenic as a result, since libraries provide very limited picture-potential for this blog.

Posted in Collabora Planet, KDE, Nepomuk, Telepathy | Tagged: , , , , , , , , | 4 Comments »

Telepathy Update – End of February/Start of March

Posted by grundleborg on March 7, 2009

A couple of weeks ago, I started an attempt to give regular updates on what’s going on with Telepathy development in KDE. Unfortunately, I’ve fallen behind already (thanks to a insanely busy fortnight), but hopefully I can catch up, so here’s a list of what’s going on at the moment:

  1. Porting of existing Telepathy stuff in KDE to use the new library, telepathy-qt4.
  2. Some work on the presence plasma applet and dataengine
  3. Work on a protocol plugin for Kopete to be able to use Telepathy.

Now some more detail on those three things:

Number one is annoying but necessary. Although it doesn’t get us any closer to having full-blown Telepathy awesomeness in KDE, it needs to be done. The old telepathy-qt library (and tapioca-qt, which it was used in conjunction with) is unmaintained and seriously showing its age. It also has a horrible flaw – it is a synchronous API. Although synchronous API’s are nice to work with, they end up driving you mad in a situation where many API calls require slow network roundtrips behind the scenes. The result was slow applications with regularly blocking GUI’s. eugh. telepathy-qt4 is a new library that is currently under heavy development. It is fully asynchronous and designed with future extensibility in mind. Its got a fair way to go yet, but given the current pace of development that shouldn’t be long in terms of time. So, back to how this affects KDE. We are porting all existing Telepathy stuff inside KDE to use this new library.

On point number two,  Siraj Razick has done some great work on the Presence plasma applet and dataengine. They now allow you to set your presence as well as show it. The presence applet is still rather ugly, but work is ongoing to make it truly beautiful. Expect an update with pictures as soon as this work is complete.

Number three: Dariusz Mikulski (Polish only) has been working to bring the bit-rotted Telepathy plugin for Kopete up to date. Work is progressing fast with that – last time I tried it, I could create accounts, and bring them on and offline, and see my buddies list. Again, expect more updates on that as it evolves, hopefully with screenshots too next time.

So, in summary – lots going on, lots of busy people, but still loads more to do. And just in case you missed my post last week – if all this sounds really cool, why not join in the fun by applying for a Google Summer of Code project.

[Disclaimer: This blog post talks about applications that are incomplete and not available in released versions of KDE – in other words – the stuff being talked about here may break or disappear at any time… you have been warned]

Posted in KDE, Telepathy | Tagged: , , , , | 2 Comments »