KDE Telepathy 0.7 Beta 1 Released

Today we are happy to announce a new beta version of KDE Telepathy, KDE's instant messaging client.

KDE Telepathy is a suite of applications and plasmoids to allow chatting, file transfer, video calls etc (where available). over popular instant messaging networks. Facebook, Google Talk, Jabber, SIP, and many many more putting all your instant messaging in one place - on your desktop.

New backends support

Instant messaging is a constantly evolving platform. There was a time when everyone important was on AOL instant messaging, now that's unlikely. This evolving landscape is one of the main reasons for using Telepathy as our backend which is used my multiple clients.

We not only have our own backends, but can support everything provided by libpurple. We've looked at some of the up and coming libpurple backends and added the small amount of code to make everything available. In this release we now support setting up Steam and Groupwise accounts, if the relevant libpurple backends are available.

Due to the clever separated architecture of the Telepathy framework, unstable backends do not cause instability in the main application.

In addition we are working on developing our own backends, a GSOC student this summer has developed support for sending SMS messages via ModemManager.

More Text Filtering Plugins

Send LaTeX formula in chats!

We've ported some of our favourite plugins from Kopete, and now we are able to send LaTeX maths formula to each other, great for when you're stuck on the class assignment.

Short URL Expansion

This new plugin automatically expands any shorterned URL to see where it redirects to. No more nasty surprises.

Collaborative Editing

As a Google Summer of Code project, collaborative text editing was added to kde-telepathy. Most prominently, there's now a "Collaboratively edit a document" button in the chat window, which allows you to edit a document together with a contact without any setup being required (except for you and your contact installing the application, of course). Instead of introducing a new dedicated collaborative editor, this feature integrates with existing KDE applications, such as Kate or KDevelop.

This works by using a technology called Telepathy Tubes, which defines a way to use Jabber to open a TCP connection to a contact in the best most efficient way possible. In most cases, it should use a proxy server, but if a direct connection without a proxy is possible, it will prefer that. If even the proxy does not work, it can also fall back to transferring data directly over the Jabber server, which is a bit slower, but works for every environment.

Documentation on how to use and install this feature is available here. A more in-depth announcement of the current release is here.

Contact Aggregation

The advantage of using a multi protocol instant messaging client is we are able to show all your accounts in once place. However, this can lead to multiple entries for the same contact across different services.
We are now able to join multiple contacts together, we've introduced a user-interface that allows you to choose to ignore the technical details and start chats quickly or provide fine-grained control as required.

We provide this by adding support for libkpeople - a new system-wide KDE metacontact library aggregating information from all contact sources not just instant messaging contacts but also your local address books, Facebook Feeders, Google contacts, LDAP servers and anything else that provides contacts.

Libkpeople works by syncing contact data from all sources into Nepomuk, this means that in addition to grouping instant messaging contacts together we can also interact with data from other sources. We can see email addresses, phone numbers addresses and start a range of actions.

As this includes both a Nepomuk dependency and a new library we've opted for having two modes, one with the additional features and the other without. If you don't run Nepomuk you will still have original contact list working as before.

In this release we are only adding small subset of new features KPeople is going to provide as it is still very much a work in progress. We wanted to ship this now, to give basic metacontact support setting the buildling blocks for the more advanced features.

Note as this is a new library, your distribution may or may not have this supported.

Fixes Galore

In addition to all the new features we have been working on fixing lots of additional papercuts throughout the rest of KDE Telepathy.

There have been over 950 commits since 0.6 and over 300 bugs resolved.

Getting The Beta Release

KTp 0.6.80 is available at http://download.kde.org/unstable/kde-telepathy/0.6.80/; packages should be available in some of the major distributions shortly.

If you encounter any problems with the beta, please file bugs on our bug tracker

Getting Involved

As always we need new developers, entering the beta cycle we need lots of people to help fix bugs that may be in 0.7 as well as helping with all the exciting new features we have planned for 0.8. We already have a huge list of things we want to do.

You can find out more about getting involved here on our wiki.

KTp Facebook Instant Messaging Problems

Many of you in recent weeks have probably faced problems with Facebook XMPP's server. They are migrating to new servers which have had their share of problems, causing KDE Telepathy clients to display the following:

Not everyone is affected at the same time due to a gradual roll out by Facebook.

Fixing this problem

This particular problem is caused by a non RFC compliance in Facebooks XMPP service.
I don't mean to blame the Facebook developers here, everyone makes mistakes, especially when dealing with XMPP 🙂

In this particular case they are missing a parameter which, whilst required by the specification, is not practically needed. Our library then assumes something is wrong and quits.

Thanks to help from users at http://forum.kde.org I was able to reproduce the problem.

I have added a workaround in the Telepathy Gabble backend to resolve this issue which should fix KTp, Empathy, and other Telepathy users (including the Nokia N9 if they were to make a new release). Other upstream developers helped spring into action to clarify RFCs, add regression tests and backport into 3 different stable releases.

It really highlights the importance and advantages of sharing backends.

Moving forwards

In order to prevent problems like this in the future I am now a member of the Facebook XMPP developer relations group. In addition I now connect to a beta version of the Facebook Chat gateway so we can spot and communicate errors faster.

Summary

Upgrade telepathy gabble to the latest version (0.18.1) and this problem should go away. Backports are coming soon.