In April 2014, we had a sprint for KDE Telepathy, KDE's foremost instant messaging client. The sprint consisted of both past and new contributors from around the world.

Group chats

For the sprint we decided to concentrate our hacking efforts into a few key areas that are currently weak inside KDE Telepathy. We chose group chats as it was one of the most repeated feature requests coming especially from enterprise circles. It was something we supported at a basic level but, since none of us used it on a daily basis, it did not receive the attention it deserved.

Firstly, we forced ourselves to use a conference room for the duration of the sprint for all our chatting purposes and made a list of every potential improvement we could find. Afterwards we picked things off the list one by one and made significant improvements to the group chatting experience.

Our usability expert, Thomas Pfeiffer, was there with us providing valuable input from the usability point of view; thanks to that it was not just a mad hacking on features but also about making the application more usable. The screenshots below speak for themselves!



Answer text messages from your desktop Answer text messages from your desktop

Easy chat via SMS using KDE Telepathy

During the sprint Albert Vaca and Alexandr Akulich worked on making a backend for Telepathy to talk to KDE Connect. This allows you to receive SMS messages from your phone and reply through a comfortable and familiar chat interface on your desktop.

Reducing the bug count

Another area we focused on at the sprint was our bug count. At the beginning we had 62 reported bugs (excluding wishes and tasks), some of them had been open for a longer time. So we allocated some space on the whiteboard for a giant bug counter; whoever then fixed a bug from that list got the honor of erasing the number on the whiteboard and writing a new one.

We are now under 50 bugs, with under 50 further wishlist items.

Building for the future

We didn't just hack but also discussed where to go with KDE Telepathy.

Vision

According to the KDE Human Interface Guidelines, "A vision describes the goal of the project. It can be emotive and a source of inspiration, for instance by outlining how the final product makes the world a better place. It is roughly similar to purpose or aim, and guides through the development." In order to guide KDE Telepathy's development, Thomas, our aforementioned usability expert, led a session where we defined a vision for us.



Whiteboard work Whiteboard work

The first question that was important for us was "Which users do we want to focus on?". We decided that we want to focus on Plasma users. We do not shut out users of other desktop environments or operating systems, but we clearly focus on integrating well with Plasma and provide the best experience for Plasma users.

The other defining question for our focus was "Do we want to focus on providing the best possible experience for users of popular instant messaging systems such as Facebook Chat or Google Hangouts, or do we want to focus on providing an awesome experience to users of open protocols such as Jabber?" Our answer to this question was that while we do not want to exclude users of popular systems, we realise that for them, we can only create an "okay-ish" experience at best, because those systems' APIs are very restricted and always subject to change. Only with open protocols we can use all of our capabilities to create a truly awesome experience for users.

Our vision draft is still being discussed on the mailing list and will be published once it's been agreed upon by the whole KDE Telepathy community.

Frameworks

In KDE Telepathy we provide several plasma widgets, which need to be ported in order to run on Plasma Next. In order to do this we first had to port our libraries to work on top of KDE Frameworks. By the end of the sprint we had the contact list and chat plasma widgets fully running and working on Plasma Next. We hope to release the widgets so that they are available for Plasma Next users.

API Breaks in the larger Telepathy stack

There is an upcoming change in the interfaces to the Telepathy backends that talk to the various protocols such as jabber. We need to be prepared for this change - otherwise when distributions update Telepathy, our application will cease working. We are making sure we have code ported and ready, so we can release at the same time as upstream switches. Most of these updates are inside TelepathyQt and we are working on the elements lower in the stack that will benefit not only us but also Ubuntu and Jolla.

Planning how to handle these two upcoming changes at once is awkward at best and required some delicate planning.

Wrapping up

Overall the sprint was incredibly useful in helping push our project forward both in terms of the extra development and planning moving forwards.

Thanks to the Blue Systems Barcelona office for hosting us.

More photos here

This document was written by the KDE Telepathy team; written using KDE Telepathy's collaborative editing features.