Decibel 2nd Project Report
service architecture for multi-media based communication
Overview
Decibel is providing a service Architecture to make chat and phone communication universally available to desktop and embedded applications. This quarter improvements to the community process were made and the implementation of the framework has begun.
This is the second project report of this project.
Important Developments
Developments in related Projects.
Since the first project report was written the Tapioca project has changed focus due to our intervention. It now implements the Telepathy specification, providing an alternative language bindings not available in Telepathy itself and strives to improve the developer experience of working with Telepathy.
This change brings us improved compatibility while preserving the more high-level development environment offered by Tapioca and makes it easier to implement a common solution bridging desktop environments.
Developments in the Community Process.
We gave a presentation on Decibel at the KDE developer meeting aKademy 2006 in Dublin. The reaction of the KDE application developers was very positive.
The Telepathy project and the Gnome community was represented at this conference by Robert McQueen, Robert Taylor and Dafydd Harries. Their reaction to our "Mission Control" daemon called Houston was very positive as well. We agreed that it would make sense to come up with a shared API for "Mission Control" functionality. A shared implementation was not considered feasible since that would not integrate well into both KDE and Gnome: A "Mission Control" must integrate tightly into the infrastructure of the desktop to improve the user experience.
During and after the conference we had many fruitful discussions with the developers of the KDE instant messaging application Kopete.
In a BoF session at aKademy, the requirements of application developers were evaluated. Applications enabled by a communication infrastructure like Decibel were discussed. This BoF was further used by Robert McQueen to give an introduction to Telepathy. The developers were interested in finding out how Decibel could be used to enable users to collaborate at their tasks.
Completed Work Packages
(The numbers of work packages relate to those in the original project plan)
Work-Package 2.1: Extend and integrate DBus protocol
Qt bindings to Telepathy's DBus API were written and are available in Tapioca's SVN repository (and are already included in Ubuntu/edgy due in October). These bindings were written in close cooperation with the Tapioca developers. Tapioca-Qt was started to offer a more high-level access to the functionality provided by Telepathy-Qt. Again, this work is done in collaboration with the Tapioca developers.
Ongoing Work
Work-Package 2.2: Extend Mission Control
The "Mission Control" component had to be rechristened to Houston. Implementation of it has started. Currently the components encapsulating the Telepathy Connection Managers is implemented as well as a management API for the accounts of the user. These components are covered by a unit test framework.
The policy engine reacting on Telepathy events is not yet implemented. The code will be available in the KDE SVN repository soon.
Work-Package 2.3.2: Plugin API for connection managers
The Telepathy community has developed these APIs and is actively maintaining them. They develop Connection Managers for a number of protocols (Jabber, VoIP, etc.).
So far no CTI components are in the works. We bought a Snom VoIP telephone to investigate how we can jump start development in this area by providing a reference implementation. We expect that we will have to amend the Telepathy specification at this point for it to cover the requirements of CTI.
Work-Package 4: Community
Time was invested into providing a catalysator for Tapioca and Telepathy development, ultimately resulting in the close cooperation between the two team we see now. We did extensive testing for both frameworks, providing feedback wherever possible.
At aKademy 2006 we presented Decibel as a technology enabler for KDE4. There, and at the Linux World in the Netherlands, we communicated the need for CTI to the open source developer community. We stayed in close contact with the Telepathy people from the Gnome community and are cooperating on a common API for "Mission Control" functionality. All the discussions we have held further lead to a better understanding of the problem space and helped to improve our strategy.
In addition to this parts of the decibel homepage was reworked to better reflect the current status of development.
Current Project Phase
The current focus is to get a prototype implementation of Houston done (Work package 2.2) while further improving the community process.