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

More Telepathy StreamTubes in KDE

Offering a TCP StreamTube finally works as it is supposed to do! So, if you want to start a streamtube, you just have to create an OfferTcpStreamTubeJob using your favorite method offered by TelepathyBridge:

KJob* offerTcpStreamTube(const Nepomuk::PersonContact& contact,
                         const QVariantMap& parameters = QVariantMap());
KJob* offerTcpStreamTube(const Nepomuk::PersonContact& contact,
                         const QHostAddress& hostAddress,
                         quint16 port = 0,
                         const QVariantMap& parameters = QVariantMap());
KJob* offerTcpStreamTube(const Nepomuk::PersonContact& contact,
                         QTcpServer* server,
                         const QVariantMap& parameters = QVariantMap());
KJob* offerTcpStreamTube(const Nepomuk::Person& metacontact,
                         const QVariantMap& parameters = QVariantMap());
KJob* offerTcpStreamTube(const Nepomuk::Person& metacontact,
                         const QHostAddress& hostAddress,
                         quint16 port = 0,
                         const QVariantMap& parameters = QVariantMap());
KJob* offerTcpStreamTube(const Nepomuk::Person& metacontact,
                         QTcpServer* server,
                         const QVariantMap& parameters = QVariantMap());

…for example…

Nepomuk::PersonContact targetContact = ...;
server = new QTcpServer;
server->listen();
KJob* job = TelepathyBridge::instance()->offerTcpStreamTube(targetContact, server);

…then just start the job…

connect( job, SIGNAL(result(KJob*)), this, SLOT (handleResult(KJob*))); job->start();

…and you should be able to forget that you are using telepathy and you can control everything using your QTcpServer!

If you feel brave enough to test it, you can find the code on gitorious

And now time for some more beautiful screenshots (Yeah, they are not really useful, but I wanted to show something 😛 )

More StreamTube Parameters
More StreamTube Parameters
KNotify and StreamTubes
KNotify and StreamTubes

EDIT: I really hate you, WordPress! I’m sorry for escaped characters…

freesoftware, GSoC, Kde, Planet

Hello Planet KDE && GSoC: Telepathy Tubes and File Transfer in KDE

Hello Planet KDE,
My name is Daniele (drdanz on irc), I’m a PhD student from Italy and this summer I’ll take part in Google Summer of Code with KDE.

The aim of my project “Telepathy Tubes and File Transfer in KDE” is to provide a bridge for Telepathy Tubes and for file transfer using Telepathy.
Then the new framework will be used in two different applications:

  • Plasma widgets sharing with contacts using StreamTubes
  • Collaboration in mathematical software using Cantor and Telepathy DBusTubes

(If you don’t know what are Telepathy and Telepathy Tubes you can find some informations here, here and here)

So… let’s start from the beginning

Phase 1: Telepathy tubes and file transfer KDE bridge

The first part of the project will be a “bridge” which makes it easy to access to Telepathy Tubes and File transfer Telepathy-qt4 functions using Nepomuk resources.

It will add classes and functions to offer and accept StreamTubes and D-Tubes and to send and receive files. It will also aim to get integration with knotify and a service menu to send files to contacts right clicking on a file from file manager.

Phase 2: Plasma widget sharing with contacts

Since KDE 4.4, Plasma allows to share widgets over a network. It is possible for widgets to be interacted with remotely and simultaneously by several people. A big limitation is that widget are shared/discoverd using avahi/zeroconf, and this means that they can be shared only on the same subnet.

StreamTubes will be used to allow the widget to be shared with contacts using instant messaging protocols. Widget sharing protocol is already defined, so there is no need to rewrite it, StreamTubes will allow to transport it over the network using telepathy and IM protocol.

Phase 3: Collaboration in Math Software using Cantor

Cantor already allows to share worksheets using Get Hot New Stuff, but collaborative editing of a worksheet would be really useful and a killer feature for promoting Cantor over other Math software.

This will add some features to cantor that will be enabled or disabled depending on the used backend:

  • Synchronization of entered commands: Entered command will be sent to all people working on the same worksheet, and will be executed simultaneously.
  • Collaborative editing of worksheet: Worksheet sections will be locked while someone else is editing that section.
  • Figures sending to contacts: In order to send your figures to someone, Math software usually takes some time (save the figure, open kopete, find the contact, right click, etc.); sending figures as png to a contact just right clicking on the figure could be really useful time-saver
  • Variables syncing (optional): commands could be execute on just one pc instead of running it on all of them, and then the results shared. (This part might be a bit tricky, because Cantor doesn’t offer any access to the variables at the moment, but there are plans to write a variable inspector, so this feature will be left as last and will be implemented only if an easy access to variables will be possible)

Looks like it will be a very funny summer!

Kde, Kubuntu, PPA

KDevelop 4 rc1 + plugins – Kubuntu Karmic

Kdevelop 4 and kdevplatform rc1 .deb packages for Kubuntu Karmic 9.10 (with kde 4.4.2 from ppa:kubuntu-ppa/backports) are available on my kdevelop PPA.

Kdevelop rc1 about dialog
Kdevelop rc1 about dialog

You can add my kdevelop PPA running:

sudo add-apt-repository ppa:daniele.domenichelli/kdevelop
sudo apt-get update

Then to install kdevelop, just run

sudo apt-get install kdevelop

or if you installed beta9 packages from my PPA, just run

sudo apt-get update
sudo apt-get upgrade

As usual, on the same ppa you’ll find some kdevelop plugins:

Official release candidates:

kdevelop-plugin-php (rc1)
kdevelop-plugin-php-docs (rc1)

Official betas + patches from svn:

kdevelop-plugin-executebrowser (beta1+svn)
kdevelop-plugin-executescript (beta1+svn)
kdevelop-plugin-xdebug (beta1+svn)

From KDE Playgroud (warning: Source is taken from svn and it’s not supposed to be released yet, so it might not work or might break kdevelop install, so use them only if you know what you are doing…)

kdevelop-plugin-extragear-upload
kdevelop-plugin-playground-bazaar (not building at the moment)
kdevelop-plugin-playground-controlflowgraph
kdevelop-plugin-playground-coverage
kdevelop-plugin-playground-css
kdevelop-plugin-playground-gettersetter
kdevelop-plugin-playground-git
kdevelop-plugin-playground-mercurial
kdevelop-plugin-playground-qtdesigner
kdevelop-plugin-playground-valgrind
kdevplatformveritas

Please report me any bug in plugin packaging (missing dependencies, etc.) but report to the kdevelop developers bugs related to the plugin itself.

Kde, Kubuntu, PPA

Cantor + R Backend – Kubuntu Karmic

“Cantor is an application that lets you use your favorite mathematical applications from within a nice KDE-integrated worksheet interface. It offers assistant dialogs for common tasks and allows sharing of worksheets with others. Available backends are Sage, Maxima, R, and KAlgebra.”

Sadly R backend is not supported in kubuntu (see here) because r-base package is in universe and therefore kde-edu package cannot depend on it.

Anyway, if you need R support, you probably already enabled universe repository, and you can find on my PPA with R backend.

To install it just add my PPA to your software sources (you also need kubuntu-ppa/backports repository enabled) and upgrade

sudo add-apt-repository ppa:daniele.domenichelli/ppa
sudo apt-get update
sudo apt-get upgrade
Kde, Kubuntu, PPA

KDevelop 4 beta9 + plugins – Kubuntu Karmic

Kdevelop 4 and kdevplatform beta9 .deb packages for Kubuntu Karmic 9.10 (with kde 4.4.1 from ppa:kubuntu-ppa/backports) are available on my kdevelop PPA.

Kdevelop beta9 about dialog
Kdevelop beta9 about dialog

You can add my kdevelop PPA running:

sudo add-apt-repository ppa:daniele.domenichelli/kdevelop
sudo apt-get update

Then to install kdevelop, just run

sudo apt-get install kdevelop

or if you installed beta8 packages from my PPA, just run

sudo apt-get update
sudo apt-get upgrade

On the same ppa you’ll find some kdevelop plugins:

Official betas:

kdevelop-plugin-php (beta3)
kdevelop-plugin-php-docs (beta3)

Official betas + patches from svn:

kdevelop-plugin-executebrowser (beta1+svn)
kdevelop-plugin-executescript (beta1+svn)
kdevelop-plugin-xdebug (beta1+svn)

From KDE Playgroud (warning: Source is taken from svn and it’s not supposed to be released yet, so it might not work or might break kdevelop install, so use them only if you know what you are doing…)

kdevelop-plugin-playground-bazaar
kdevelop-plugin-playground-controlflowgraph
kdevelop-plugin-playground-coverage
kdevelop-plugin-playground-css
kdevelop-plugin-playground-gettersetter
kdevelop-plugin-playground-git
kdevelop-plugin-playground-mercurial
kdevelop-plugin-playground-valgrind
kdevplatformveritas
--- Edit: added right now
kdevelop-plugin-playground-qtdesigner
kdevelop-plugin-extragear-upload

Please report me any bug in plugin packaging (missing dependencies, etc.) but report to the kdevelop developers bugs related to the plugin itself.

Kde, Kubuntu, PPA, Ubuntu

KDevelop 4 beta8 + plugins – Kubuntu Karmic

Kdevelop 4 and kdevplatform beta8 .deb packages for Kubuntu Karmic 9.10 (with kde 4.4 from ppa:kubuntu-ppa/backports) are available on my PPA.

I moved all kdevelop packages in a new PPA, you can add it running:

sudo add-apt-repository ppa:daniele.domenichelli/kdevelop
sudo apt-get update

(you should also remove my other ppa’s if you just use only kdevelop packages)

Then to install kdevelop, just run

sudo apt-get install kdevelop

You might also want to try beta plugins released with kdevelop…
Just install the plugins you need:

kdevelop-plugin-executebrowser
kdevelop-plugin-executescript
kdevelop-plugin-php
kdevelop-plugin-php-docs
kdevelop-plugin-xdebug

before installing them, if you installed kdevelop-php and kdevelop-phpdocs packages from my ppa you should remove them:

sudo apt-get purge kdevelop-php kdevelop-phpdocs
Kde, Kubuntu, PPA, Ubuntu

Mountoid 0.33 – Kubuntu Jaunty and Karmic

Mountoid 0.33 is a plasmoid provides a way to mount/unmount devices from fstab (e.g. network shares), show free space and open mount point location in a file manager. It is fully configurable.

I updated the package on my PPA for Jaunty to the last version and added a package for Karmic

To install it: