KDE Telepathy wants you!

A couple of days ago, on KDE Telepathy mailing list was brought to our attention this graph (Source):

KDE Telepathy Bug Reports Count (Open bugs only)

KDE Telepathy Bug Reports Count (Open bugs only)

The graph shows clearly that the number of bugs reports affecting KDE Telepathy is increasing.
Quite unlikely this is related to the quality of the software, but to the numbers of KDE-Telepathy users.

Editing the query a little bit I came to this graph, definitely more interesting (Source):

KDE Telepathy Bug Reports Count (All bugs)

KDE Telepathy Bug Reports Count (All bugs)

The trend is in my opinion really impressive, and shows clearly the amazing job that has been done on KDE Telepathy since February 2011.

Bugs have been closed at a very constant rate, new features added, new versions released (0.5.1 was released about 20 days ago), and translators are doing a great job, with the result that now KDE Telepathy is packaged for most of the major GNU/Linux Distributions and at least 2 of them use it as default instant messaging framework for the KDE Desktop.

This implies new users, but obviously comes with a lot of new bug reports and new features requests.

That’s why we need you! Of course we need new developers to help us fixing bugs, we have junior-jobs if you are starting programming and want to learn, and we are very happy to help you! ;)
But if you are not a coder, and you want to help us join us on #kde-telepathy on freenode, we have a lot of tasks for you anyway!

  • Report new bugs, try to reproduce and confirm the existing ones, find out the duplicates, locate related bug on upstream and downstream bugtrackers
  • Update the wiki, write the documentation for the applications
  • Test Adium chat themes, help us fixing the broken ones
  • Translate the languages not yet translated
  • Reply to users questions on the forum and mailing lists

Concluding: We are awesome, want to be awesome too? Join us

Be Sociable, Share!

Some Fun with ktp-text-ui Plugins

KDE Telepathy 0.5 was released last month, introducing a brand new filtering plugin system for the text-ui. I didn’t have much time to work on KTp recently, due to my new job and to my new wife (no I don’t have an old one) but since in Randa people are slacking (evil grin), someone has to do some real work (laughing hard), so I’ve being playing a little with the text-ui and with the plugins.

Formatting Plugin

First of all, I fixed the formatting plugin. This allow you to format plain text, like Thunderbird Structured Text:

  • *this is bold*
  • _this is underlined_ (and not italics!)
  • /this is italics/
  • -this is strikethrough-

The plugin was disabled in 0.5 because it was broken (the regular expression detecting the tags to replace was not detecting correctly).
Beside fixing it, I modified it to avoid changing the text by removing the tags (i.e. ‘*’ or ‘/’). In this way, even though it might format some parts that user is probably not expecting to see formatted (for example some /*C comments*/), copy and paste will still work.
Moreover, I made it so that it will be very easy to add a configuration dialog to change its behaviour, so if you _really want this to be italics_, you will probably be able to configure it according to your needs in the future.

This plugin will be enabled by default in 0.6.

Syntax Highlighting Plugin

We often think about the final users, but sometimes we have to think about the developers ;)
So I wrote a syntax highlighting plugin using jquery-snippet

A few screenshots are better than thousand words, so…



Meanwhile David had another cool idea for the syntax highlighting plugin: include a kate part into the qtwebkit view (You can find some details about how he did that here). This is his result:

Both approaches work great, my approach is more integrated in the chat, but David’s approach is also quite interesting. We don’t know yet whether release just one of them or both… Opinions?

Anyway, in order not to try to highlight all the messages, at the moment code must be included in a block like [code lang='cpp']...[/code]. This can be a bit annoying. Moreover copying and pasting code in the chat-ui is boring. Something like pastebinit would be really useful. That’s why I started writing…

ktp-paste-contact

This a very simple tool but it is something I’m really proud of, and that shows the potential of Telepathy…
It is a simple command line tool that reads from stdin and sends everything as a single message to a telepathy contact.
it takes as parameters, the account to use, the contact to send it to, and an optional parameter --format <language>.
If this parameter is specified, then the message is automatically included in a [code lang='cpp']...[/code] block using the syntax specified.

A few ideas for using it…

  • git show | ktp-paste-contact --format diff --account <account> --contact <contact>
  • cat file.cpp | ktp-paste-contact --format cpp --account <account> --contact <contact>
  • echo "Hey dude, I'm so geek that I'm texting you from the command line" | ktp-paste-contact --account <account> --contact <contact>

You can find the code for the code-highlighting plugin in my clone repository for ktp-text-ui (kde:clones/ktp-text-ui/ddomenichelli/ktp-text-ui branch plugin-code) and for ktp-paste-contact on my brand new scratch repository (kde:scratch/ddomenichelli/ktp-paste-contact.git)

Enjoy it!


EDIT: I found a great way to convince your friend to block you! Perhaps it can be used against spammers :P

while true; do echo "MUAHAHAHAHAHA" | ktp-paste-contact --account <account> --contact <contact>; sleep 5; done

Be Sociable, Share!

KDE Telepathy at Akademy 2012

I'm going to Akademy 2012

I'm going to Akademy 2012

As you can imagine from the picture above, I’m going to Akademy 2012 in Tallinn, Estonia! Thanks a lot to KDE e.V. for sponsoring me.

This year at the conference there will be a lot of interesting talks but unfortunately none of them about KDE-Telepathy.

Instead we will host 2 BoF sessions:

Moreover most of us will probably attend at the Web Accounts BoF:

I can’t wait to see you all in Tallinn!

Be Sociable, Share!

KDE Telepathy in GSoC 2012

We had several good proposals related to KDE Telepathy for Google Summer of Code 2012, but unfortunately we only got 2 slots! But hey, we got 2 slots! That’s great! :D Thanks to Google for organising and sponsoring it.

The first accepted project is “Message Filtering Plugin System” by Lasath Fernando (shocklateboy92), the author of the chat plasmoid that will be released in KDE Telepathy 0.4. He will be mentored by David Edmundson and

“will create a completely asynchronous modular and extensible system that enriches messages before they’re displayed to the user. These includes embedding images and videos from links, Translating messages, (re)-formatting them nicely, reading out loud etc.”

The second project is “Enhancement to peer-to-peer DBus for Telepathy DBus Tubes” by Puneet Goyal. Puneet worked on the Payment Detection use-case of project Alkimia in Season of KDE 2011. I will be his mentor for this interesting project which aim is to make it even easier to use D-Bus Tubes from any KDE application:

“When an application connects to a peer to peer dbus tube, it must know what exactly to look for. Even When it registers for another object, the other side of the tube must know about it. So the ideas is to create a class that could ease the object to register and unregister on the DBus Tubes, and to provide you with an interface similar to the one as a DBus Server.”

We had to reject several good projects, because of the limited amount of slots, but if you are motivated to work on a project in KDE Telepathy you still have one chance[1]: Season of KDE (SoK)! SoK is similar to Google Summer of Code: you won’t be paid, but you will get a mentor, a very cool t-shirt and certificate! If you want to apply, you can have a look at KDE Telepathy ideas that we selected for GSoC but did not get a slot (“Telepathy setup for KDE multiplayer games” and “Collaborative editor“), check out some more ideas here or propose your own idea.


[1]Actually you have as many chance as you want to contribute even if you don’t want to take part to SoK! We have several junior jobs if you are (or want to become) a developer, and a few non-programming tasks that don’t require programming skill if you just want to help us!

Be Sociable, Share!

Digikam Code Sprint @ Genova + Telepathy KIPI Plugin

This post was supposed to be published yesterday January 18th 2012, but I’m delaying it of 24 hours in support of SOPA STRIKE

Last weekend the Digikam Code Sprint was held in Genoa (Italy). Yes, I’m not a Digikam developer, but I live in Genoa and this was a very good occasion to implement something that I’ve being planning to implement for a long time: A KIPI Plugin for Telepathy. So before saying anything else, here is the mandatory screenshot:

Telepathy KIPI Plugin

Telepathy KIPI Plugin

Thanks to this plugin, you will be able to send your pictures and albums from digikam, showfoto and any other application using KIPI plugins. Most of all I wanted this feature in KSnapshot, and yes this is now possible.

This is something I already implemented in the past [1] but I must admit that having all the contacts in a menu was a bad idea, so I gave up at the time… So this time we have a widget instead that takes shows only the person that are online, that can accept a file transfer and there is a bar to filter by name (actually most of this is widget is “borrowed” from Telepathy Send File, written by David, so credits for that go to him). I think this solution is much better than the menu, but comments are very welcome.

Unfortunately the widget won’t be in KDE Telepathy 0.3 so you will have to wait for the 0.4 release, and then you will have to wait for the kipi-plugin to be reviewed by the digikam developers… Meanwhile it will reside in my clone repositories (I will update this post with the links as soon as the code is available)


P.S. Thanks to ALID (especially to Angelo, Stefano and Claudio) and KDE e.V. for hosting, organizing and supporting the event and to all the Digikam developers.

Be Sociable, Share!