These blog posts are intended to explain what TelepathyQt4 is, and how to use it to write IM/VoIP/Communication applications. They are not meant to explain what Telepathy is, or what it's intended for. Please check the wiki page for a quick introduction to Telepathy.
- First: what is TelepathyQt4?
TelepathyQt4 is a convenience library, written in Qt4, for those who want to write applications that use the Telepathy framework.
The idea is to have a high-level, but complete, API that hides most underlying D-Bus calls, making it easy to communicate with other applications using Telepathy.
- Why TelepathyQt4?
Up until we started writing it, there were only convenience libraries for Glib and Python, so Qt4 developers were left behind. Those who wanted to use Telepathy had to stick to those libraries or use D-Bus directly. This was limiting the usage of Telepathy across Qt/KDE applications.
- What kind of application can make use of TelepathyQt4?
Right now we have a Kopete branch (implemented as a Kopete protocol plugin) that makes use of TelepathyQt4, and an experimental krdc/krfb branch that enables sharing the desktop among IM contacts.
Other applications that can use TelepathyQt4 include:
* instant messaging programs
* email applications that want to show contacts' presence
* word processors that want to let users collaborate across the internet
- Components:
TelepathyQt4 is divided into 2 parts: the classes that are auto-generated from the spec, and the high-level API that uses the auto-generated classes internally, exposing an easy-to-use API for applications.
We tried to make it as extensible as possible, so adding support for new D-Bus interfaces is quite easy.
We just hit the first milestone with the 0.2 version, which will be API/ABI compatible across the 0.2.x release cycle.
The library is maintained by Collabora and any help is appreciated.
If you have interest in using/collaborating with TelepathyQt4, you can join #telepathy@freenode or #kde-telepathy@freenode for more KDE-specific questions or check the mailing list.
You can also poke me (andrunko - current maintainer) or Simon (smcv - official reviewer).
Development is done in the git repository found here and releases can be found here.
In the next blog posts I will be talking about how to use it, so stay tuned.
