Basso, freesoftware, Kde, Planet, Qt

QtDbus peer-to-peer support and other good news

I’ve been really busy, so I was unable to blog for a while… And I’m still really busy, so this is just a quick update about what happened in the last few days.

  • My merge request [1] was finally merged in Qt master [2] and finally QTBUG-186 [3] is resolved. It took more than one year to get it in (the first version was submitted on March 26th, 2010), but it was definitely worth.
    This means that since Qt 4.8, QDBusServer won’t be just stub and QDBusConnection will have two new methods QDBusConnection::connectToPeer and QDBusConnection::disconnectFromPeer. You will be able to connect two applications directly and use DBus protocol for communication using Qt API, but without using the DBus daemon. (The only limitation is that you won’t be able to have both server and client in the same process and use blocking calls)
    This also means that DBusTubes using Telepathy-Qt4 (and therefore in KDE [4, 5]) will be soon possible (KDE 4.8 maybe?)
  • I succesfully defended my PhD Thesis (“Design and Development of a Framework for Tool Integration and Collaboration in Neuroinformatics and Computer-Aided Neurosurgery”), I’ll release the source code I wrote as soon as I find some time to do it (I need to clean the source code, translate comments, remove swears and other tasks like that before a serious release 😉 ), then I’ll probably write some blog posts about it.
  • Last but not least I am now engaged. 😀

[1]Merge Request 2342 – QtDbus peer-to-peer support
[2]Qt commit 685df07ff7e357f6848c50cffa311641afdca307
[4]GSoC Update: DBusTubes work!
[5]Hello Planet KDE && GSoC: Telepathy Tubes and File Transfer in KDE

freesoftware, Kde, Planet

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!

freesoftware, GSoC, Kde, Planet

Telepathy File Transfer in Konqueror

I wanted to write a Service Menu to send files from Dolphin, but I needed a dynamically loaded menu with the names of my contacts and this is not possible using Service Menu.

So I wrote a konqueror popup menu plugin (KonqPopupMenuPlugin).

It doesn’t work in dolphin though, because the plugin isn’t loaded.
Anyone knows if there is a way to get konqueror plugins loaded in dolphin or if there is a better way to do this?

Anyway, there it is!

"Send to..." menu in Konqueror
freesoftware, Kde, Planet

Telepathy File Transfer in KSnapshot

This wasn’t in my project, but I thought it would be useful…
When I’m chatting with someone, I often need to send him screenshots, so the “standard procedure” is to hit printscreen (KSnapshot pops up), save the file, open Kopete, find contact, right click, send file, locate the file on my file system… That’s boring! What about a “Send to…” menu in KSnapshot?

Easy done using KTelepathy 😉

"Send to..." button in KSnapshot

"Send to.." menu in KSnapshot

freesoftware, GSoC, Kde, Planet

GSoC Update: Telepathy File Transfer in Cantor

A few updates about my GSoC:

  • Most of the contact list work was moved in a library (libktelepathy in trunk/playground/network/). It is quite ugly at the moment, it will need a lot of cleaning
  • File transfer jobs don’t depend on any qt/telepathy-qt4 patch, so they are now in libktelepathy. By the way all issues with file transfer and telepathy-qt4 are now fixed, but we decided that the kioslave is outside the goal of my project, so I abandoned it for the moment
  • I added a “Send to…” menu in Cantor, the allows you to send your results to your contacts, not only images, but also latex formulas and animations!
"Send to..." menu in Cantor
freesoftware, GSoC, Kde, Planet

GSoC Update: DBusTubes work!

“D-Bus Tubes allow you to share a private D-Bus bus between two or more clients, proxied over Telepathy.” Basically this means that your client can create a dbus object and share its methods and signals with a client run by your contact (you can find more information here).

Here at Akademy in Tampere we fixed telepathy-qt4 and now Telepathy DBusTubes can be used in KDE!
You need to patch qt and you need to patch telepathy-qt4, but they do work!

We also set up a small demo application called KWhiteBoard, that is a shared white-board that allows you to draw very beautiful black and white drawings with your favorite remote friend. Well, the functionalities are quite limited at the moment, but it will get more soon!

KWhiteBoard "hello world"

If you want to try KWhiteBoard or just DBusTubes in your application you need to rebuild patched Qt and telepathy-qt4, but if you ping me on #telepathy-kde, (or if you are in tampere, I’ll be here until sunday morning) I’ll be happy to help you setting up everything!

freesoftware, GSoC, Kde, Planet

GSoC update

Just a quick update about my GSoC project:

  • StreamTubes works both offering and accepting, and both on Tcp and Local sockets (code still needs some cleaning)
  • I’m waiting for Dario to add DBusTubes support in Telepathy-qt4. Then it shouldn’t take much time…
  • Sending and receiving files works, but I’m writing on a telepathy kioslave that will allow, for example, to send files using drag and drop or starting a copyjob.
  • I had some troubles with receiving file transfer due to telepathy-gabble 0.9, even the telepathy-qt4 example is not working, so I switchd back to 0.8
  • Today I quickly installed a local xmmp server (ejabberd) on my laptop. Now I have a local server and a remote server with several testing accounts on each, 2 different kde builds from trunk and a big mess on my hard disk, tons of code that need to be cleaned and a huge todo list… 😛
  • I hope to start working on plasma widget sharing as soon as I come back from Akademy…

Ah! I almost forgot…

I'm going to Akademy 2010
I'm going to Akademy 2010