Telepathy-KDE: Questions and Answers

If you are reading this post is probably because you have questions about “Telepathy-KDE”… I’m sorry, you won’t find the answers here, yet. But since you are here… We want you to contribute the Q&A with your questions! (yeah, I must admit this is cheating)

I just came home from the Telepathy-KDE Sprint and I’m reading blog posts and comments. What I just realized is that people still don’t understand exactly what is telepathy, why do we want it in kde, if it will just replace kopete, if it will die like decibel, if it will be maintained and by who, what is a tube, if it can do <insert your favorite cool feature here>.

I think that we really need to do an effort to clarify everything to both “users” and “developers”, because we believe that telepathy is REALLY cool and it’s a shame if we are not able to transmit our enthusiasm to you…

A good start could be a good Q&A page somewhere (probably the KDE wiki will be a good place). I don’t have much time in this period and I prefer spending time coding than trying to guess what people wants to know! So please, leave your questions here as comment and I’ll try to answer to all of them.
Just ask anything you want to know. Also help is very welcome, so if you know something but you think that people might ignore, or if you can answer to a previous question feel free to leave both questions and answers.

Also I think the Q&A should be split in sections by category of users, so when you leave a question tell me who you are (this will be really helpful in sorting the questions):

  • a “basic user” (what the hell is telepathy, I just want to chat with my friends with a nice interface)
  • an “advanced user” (you will be using basic application like chat, file transfer, but want also advanced features)
  • a “developer” (you want to use instant messaging features in your application)
  • a “contributor” (you contribute or you want to help us developing telepathy integration in kde and plasma)
  • an “empathy user” or a “gnome user” (you already use empathy you want to know some details in what Telepathy-KDE is different from empathy and why our instant messaging application won’t have a cool name)
  • “someone else” (please specify)

Thank you!

Telepathy KDE Sprint: Group Photo

Less photos and more hacking!

Telepathy KDE Sprint: Release Roadmap

It’s written on the whiteboard, so it must be true…

Release Roadmap

Telepathy KDE Sprint: Day 1

Telepathy KDE Future is being discussed right now at Collabora office in Cambridge!

GSoC Project Summary: Telepathy Tubes and File Transfer in KDE

First of all an important note: KTelepathy is still in active development and there is still a huge amount of tasks to finish before the first real “preview release” [1] (any help is welcome). A telepathy sprint [2] is planned for september, so we’ll probably see a lot of progress soon!
The classes I wrote for GSoC are still pending for testing, review, and subject to sudden changes, that’s why I focussed on the library itself leaving the applications for later.

I started the GSoC writing a few jobs for SteamTubes, DBusTubes and file transfer channels:

  • Jobs to start a channel: The channel is started and handled in the same job and some result (if needed) is returned, for example a dbus connection for a dbus-tube. This is not exactly the best thing to do, because the channel should be requested to the channel dispatcher, and handled by the preferred handler.
  • Jobs to accept a channel: The incoming channel is handled and some result (if needed) is returned, exactly like the start channel. That means that a lot of code is redundant and duplicated.

So after writing a few applications of those jobs (file transfer in Cantor[3], Konqueror[4], and KSnapshot[5]) we decided to do a step backwards and to write some more jobs:

  • Jobs to request a channel: Request a channel to the channel dispatcher. The channel is not handled by the job itself, but must be handled by the default (or preferred) handler.
  • Jobs to handle a channel: This is mostly the same thing as the accept channel jobs, with the main difference that it is not limited to incoming jobs, but can also handle outgoing channels.

All those jobs use Nepomuk resources representing the “contact”. I wrote a couple of abstract classes that do most of the job so, and that are quite easy to subclass to handle new types of channels. I also wrote a job to start a “text chat” and integrated it into “telepathy-contactlist“, so it is now possible to start a chat that is handled by empathy or by “telepathy-chat-handler“.

About the QtDBus peer-to-peer connection patch, required for DBusTubes, I updated the merge request, adding unit tests as requested and fixing a few issues, but I’m still waiting for reviews. I really hope to get it reviewed and merged before Qt 4.8 feature freeze, but it’s not up to me now.

At aKademy, we fixed TelepathyQt4 DBusTube branch, so it really works now and we also wrote a cool “KWhiteboard[6] application to share a canvas over a DBusTube. It’s not really beautiful and yet, but it works!

I also started using DBusTubes in Cantor, but there is nothing really shared on the dbus tube yet, I’m writing some sort of “shared worksheet manager” class so that you can manage more than one worksheet on the same tube and that could be useful also for other applications.

Unluckily I wasn’t able to do any work on Plasma widget sharing. The protocol used now is not that simple as I thought, so getting widget shared over telepathy is not possible just using a StreamTube as planned and will take a lot more time than I expected when I proposed the project, and it wasn’t probably worth to work on it yet, as the library is quite unstable. Anyway this is still in my todo list!

Ok, that’s not all what I did during this summer, but this is the most important part of it. You can find some beautiful screenshots im my previous blog posts[3][4][5][6]

[1]https://bugs.kde.org/showdependencytree.cgi?id=232378&hide_resolved=1
[2]http://community.kde.org/Telepathy/Events/TelepathySprint1
[3]https://blogs.fsfe.org/drdanz/?p=273
[4]https://blogs.fsfe.org/drdanz/?p=276
[5]https://blogs.fsfe.org/drdanz/?p=292
[6]https://blogs.fsfe.org/drdanz/?p=260

P.S. Many thanks to Google, to my mentor George, to all #kde-telepathy people! It was definitely a very funny summer!