grundleborg

open source stuff

  • Twitter Feed

Announcing the KDE Real-time Communication and Collaboration Project

Posted by grundleborg on February 23, 2010

Hello World! It’s been a long time since I last wrote anything here, and for that I’m sorry. The autumn was consumed by university work, and the last few weeks I’ve been discreetly coding and writing to get everything ready for this announcement. Anyway, without further irrelevance, let me present the KDE Real-time Communication and Collaboration Project. You’ve probably heard me blathering about Telepathy before, but now for the first time we have a coherent plan for world domination, concocted by Abner Silva, Matt Rogers and myself (with help from many other people).

Let me briefly introduce the project and our aims:

  • Fully integrate real-time communication (think VoIP, IM, Video etc) into the KDE Plasma Workspace (do I have the branding correct?)
  • Provide a fully-featured Telepathy-based real-time communication experience in the KDE SC. (loving the double-barreled words)
  • Provide infrastructure for collaborative features in KDE SC applications.

So, if any of this interests you, we’d love your help. Hop in to #kde-telepathy on freenode IRC, or join our mailing list.

And, while you’re at it, why not take a look at our code so far.

The Code So Far…

Warning: this is highly experimental code which may cause all kinds of side effects, especially the Nepomuk related stuff, which is likely to make a complete mess of your Nepomuk database, so use with care.

If you’ve read the above warning and want to take a look at what we’ve done so far, here are some instructions. For the first phase of this project, our attentions are focused on building Telepathy based components for basic IM usage on top of the existing Kopete codebase. So far, you can create an account (Jabber is the only kind tested, so expect minor bugs with other protocols), set its presence and see a list of your contacts. Not the most exciting stuff ever, but with this core stuff in place, more features should arrive very soon.

Prerequisites

You need recent telepathy-mission-control-5, telepathy-gabble and telepathy-qt4. Best to install these from your distribution. If telepathy-qt4 is not provided, or older than 0.2.0, then download the source here.

The Account Management GUI

Checkout and build the account management gui from svn here:

svn://anonsvn.kde.org/home/kde/trunk/playground/network/telepathy-accounts-kcm

Also install its plugins from

svn://anonsvn.kde.org/home/kde/trunk/playground/network/telepathy-accounts-kcm-plugins

You can launch it by running:

kcmshell4 kcm_telepathy_accounts

And then follow the wizard to set up your Jabber account.

Setting the Account Presence

To set the account presence through a GUI (ie. bring the account on/offline), you will need the presence plasma dataengine and applet, available again from svn:

svn://anonsvn.kde.org/home/kde/trunk/playground/base/plasma/applets/presence
svn://anonsvn.kde.org/home/kde/trunk/playground/base/plasma/dataengines/presence

You can then add the applet to your Plasma workspace and use it to bring the account(s) created with the GUI in the previous section on/offline.

Nepomuk Integration

Your contact list is integrated into Nepomuk by means of the telepathy-integration-daemon. Best to install it and launch it before bringing any accounts online. Code, again is in svn.

svn://anonsvn.kde.org/home/kde/trunk/playground/network/telepathy-integration-daemon

You can run it by calling telepathy-integration-daemon on the command line.

Contact List App

Finally, in order to see our contact list, we need a contact list app installed. Currently, this is in the very early stages of development, but you can at least see a list of contacts in it (although you can’t interact with that list yet). Source code is at:

svn://anonsvn.kde.org/home/kde/trunk/playground/network/telepathy-contactlist (corrected)

and you can run it by calling telepathy_contactlist_prototype on a command line.

If you like what you see or have any problems with getting it working, come talk to us in #kde-telepathy. We’re very happy to help out πŸ™‚

21 Responses to “Announcing the KDE Real-time Communication and Collaboration Project”

  1. Awesome, I am looking forward to this!

    Old KDE3 versions of Kontact did show the presence status of the sender in e-mails, together with the ability to launch Kopete when clicking it. I hope we can bring this back with the new API πŸ™‚

    • Diederik said

      > Old KDE3 versions of Kontact did show the presence status of the sender in e-mails,
      > together with the ability to launch Kopete when clicking it.
      > I hope we can bring this back with the new API πŸ™‚

      I’d love to see that as well, I just don’t see why that has to happen through telepathy. Can this be implemented for stand-alone clients as well? (e.g. with a D-Bus interface?)

      • grundleborg said

        Since this would actually be implemented via Nepomuk, I see no reason why other non-Telepathy IM clients shouldn’t do the same thing, by putting contact presence into Nepomuk.

      • > I’d love to see that as well, I just don’t see why that has to happen through telepathy. Can
        > this be implemented for stand-alone clients as well? (e.g. with a D-Bus interface?)

        That was actually how it was implemented before: Chat applications like Kopete and licq implemented a DCOP interfaces, and kdelibs provided an API to query presence information.

        I actually don’t care where we get our API from, as long as there is an API πŸ™‚
        Having an API that internally uses Nepomuk would work just as well as some D-Bus tricks.

    • grundleborg said

      Yup this can make a comeback. Actually, presence of Contacts is fed into Nepomuk, so Kontact could get it from there.

      • Diederik said

        Interesting idea. Just wondering, what happens with this data when the client crashes?

      • grundleborg said

        In the case of Telepathy, if a Connection Manager crashes, then the daemon that syncs to Nepomuk would update the presence there of all contacts to Offline, or whatever. The only time this wouldn’t happen is if the daemon crashed. In this case, I guess we could restart the daemon automatically, which would ensure Nepomuk is synced again, so only for a very short time could the Nepomuk data be out of sync.

  2. Markus said

    Why do you KDE devs never even bother to look into the Oxygen folder and pick an icon?

    • grundleborg said

      sorry 😦 Once it’s a finished application it will certainly have an icon.

    • anon said

      “Warning: this is highly experimental code” etc.

      I imagine they have bigger fish to fry at the moment. Why do *you* have to be such a total ass? The fact that Grundleborg actually apologised to you makes me sad 😦

  3. pns said

    obvious question: What happened to decibel or how does this fit into/with decibel?

    Thanks.

    • grundleborg said

      Decibel is unmaintained these days. I worked on it for a few months a couple of years ago, but not much else has happened since. The features that Decibel intended to bring to KDE were very similar to those aimed for by this project. However the landscape has changed a lot since Decibel was last actively developed, especially the Telepathy Framework, which both projects shared as a base. So, it is probably best to think of this project as the successor to Decibel.

  4. Chris said

    I totally love it, thank you very much for working on it!

    On a note of the shared collaboration features, could you please consider working together with http://eclipseecf.blogspot.com/2007/11/real-time-shared-editing-over-xmpp.html since those guys already provide some pretty awesome work for Eclipse which could be perhaps extended to KDE so they could collaborate?

    Please give it a try πŸ˜‰

  5. mutlu said

    This is awesome news! Pushing telepathy further and integrating it with the different KDE frameworks sounds very promising! I am really looking forward to this work.

    What does the nepomuk integration offer? Presence information? Linking different accounts to users?

    Exciting times. πŸ™‚

    • grundleborg said

      Nepomuk integration, for now, means pushing the contact list and presence there. For the future, this also means system-wide meta-contacts, and probably more stuff that hasn’t yet been thought of πŸ˜‰

  6. Thomas said

    This is great! I’m glad GNOME and KDE are now using the same framework (telepathy) for communication/collaboration stuff.

  7. nobody said

    very exiting news! cant wait to try it out.

    Where does kopete stand in this whole plan?

  8. onety-three said

    Very nice!

    One question though: Will you be working together with the Kobby guys for the collaborative features or will this be a completely separate effort?

  9. Raj said

    Maybe I am missing something in this.

    Kopete team has been claiming ongoing work to include voice and video chat using Telepathy, Decibel etc since version 4.0. At each release this was postponed to the next release. More than 2 years later we now have plans for a new plasma based suite that will once again depend on Telepathy for voice and video.

    Question is- Are we ever going to get to a good voice and video communication tool using KDE SC? FAQ on Telepathy site states that MSN and XMPP already works for video and voice. Maybe it does, since Empathy manages to make something of it. Why not Kopete or KDE? Will this new approach get us to promised land sometime this year ? Is working thru Kopete so difficult?

  10. […] WordPress.com « Announcing the KDE Real-time Communication and Collaboration Project […]

Leave a reply to nobody Cancel reply