📜 ⬆️ ⬇️

The pillars of KDE4. Decibel

Unit of communication


Decibel is a real-time communication framework [ODS], which includes such services as Computer-Phone Integration [KTI] (Computer Telephone Integration [CTI]), IP telephony (VoIP), text chat and messaging. Decibel provides a simple, D-Bus-based application programming interface that will enable ODS technologies to be included even in non-communicating applications.

Decibel is the service responsible for ODS; therefore, everything that connects two users and allows you to instantly receive answers is at the mercy of Decibel. Decibel is based on the Telepathy API and uses Tapioca , a compatible implementation of this API. Let us dwell on these technologies.

Telepathy


The goal of the Telepathy system is to provide a D-Bus based framework that would unify all forms of ODS, including, but not limited to, instant messaging, IRC, voice and video telephony. Telepathy attempts to provide a simple interface for client applications, allowing them to quickly generate code to use ODS over any supported protocol.
Telepathy project creates a unified framework for different ways of communication. It uses the D-Bus messaging system to provide a simple interface for client applications, allowing them to quickly take advantage of Telepathy.

The core of Telepathy is the D-Bus interface specification, which describes how Telepathy components communicate with each other. The current specification version is 0.17 (for earlier versions, see DbusSpec ). For more information on the structure of the framework, see System Overview .
There is also a TelepathyQt package, which includes a set of Telepathy implementation classes through Qt libraries. This package is used in the Tapioca package - a library of Qt4 classes that implement high-level classes on top of TelepathyQt for use in client applications.

Who is who?


There are quite a few terms and not all have a clear idea of ​​what they mean even with the brief explanations that have been given, so there will be a brief dictionary below. DISCLAIMER: this dictionary does not pretend to be complete, literacy and compliance with the standards of lexicography, but it is intended to give a clearer idea of ​​what the individual terms mean and how everything is interconnected.

Real-Time Communication [ODS]


Real-time communication applies to all interactive methods of communication using a computer. This includes text chat (ICQ, MSN, IRC, Jabber, and others), telephony (IP telephony and CTI), video conferences and more. Other ways of communication, such as e-mail, newsgroups, forums and blogs do not allow you to get an answer instantly, so they are not included in this category.
')

Computer-telephone integration [CTI]


Computer-to-phone integration means connecting the phone to the computer, as well as controlling the phone through the computer. For example, a computer can be used to dial a phone number using the address book application on the computer. Also, the computer can display information about the incoming call according to the contact in the address book of the computer.

Telepathy (Project)


Telepathy is a freedesktop.org project that focuses on creating an API set to communicate with ODS services. These are low-level APIs based on D-Bus.

D-bus


It is also a freedesktop.org project, strongly influenced by DCOP from KDE3, and used to organize simple communication between applications. The main purpose of D-Bus is to exchange data between applications (for greater integration between them), as well as between desktop applications and the operating system (including running system daemons and processes).
(Demons are processes that run automatically in the background, perform special functions and most often have special privileges in the system. Demons are analogs of services (services) in Windows - note. For not very knowledgeable users of Windows).

VoIP [VoIP]


IP-telephony or VoIP (from Voice over Internet Protocol - ver. "Voice over Internet Protocol" - approx. Lane) is the transmission of voice messages over a network based on the Internet protocol (today - almost all computer networks). For example, within a local network using VoIP technologies for intra-office communication, or via the Internet for interpersonal communication. VoIP services can use regular phone lines to access regular phones, or simply connect two VoIP applications.

Tapioca (Project)


A project whose goal is to implement the Telepathy specifications. Tapioca developers provide bindings to various programming languages ​​that are not available to Telepathy developers. They are also trying in some sense to finish the Telepathy itself.

Houston


Houston is part of Decibel. This is a policy daemon that monitors user status for all used communication channels, saves settings, responds to external connection requests, etc.

What will Decibel give to the user?


Since Decibel is not an application, but rather a service, then ordinary users are unlikely to see obvious advantages. Rather, the advantages will be implicit. However, it should also be noted that while the advantages are possible, it is up to each individual application to decide which features will be used and which will not.
There are two factors that are worth paying attention to when using the Decibel advantages. Firstly, since Decibel is focused on ODS, the benefits will be precisely in this area. Secondly, there are no such systems, so all examples of what Decibel could be able to do should be contrasted with what he already knows how to do .
However, both of these factors do not mean that the benefits visible to users should be small. There are several examples of using Decibel's advantages in applications.
For example, applications not included in the ODS application category may receive additional functions. For example, E-Mail client will be able to use Decibel to provide on-line status of contacts in the address book and in the list of letters. Or office applications can include chat features or even video conferencing with the author of the document or the support channel. Since Decibel makes it easy to organize communication channels between users, this can create favorable conditions for working together on a project. For example, a graphics program can create a connection with another similar program somewhere on the Internet. Then it will be possible to organize joint editing of the graphic document.

What will Decibel give to the developer?


Application developers will get

This will allow to implement such functions as “Off-line mode for all accounts”, “notify about all incoming messages in text chat, so that I can log”, “start a correspondence with a person with this contact information”. To implement the latter, for example, the developer will need to find and access user data (which are most often scattered across different applications), find a common user for the current user and the requested contact, access the network with the necessary account and start the session. Decibel allows you to hide all these details from the developer, if that they are not particularly interesting.

Total


To bring some clarity, I will try to summarize: Telepathy - the system of standards, TelepathyQt - the implementation of the standards of the Telepathy system in conjunction with Qt4. Tapioca is an add-on to TelepathyQt, expanding its capabilities and allowing you to more conveniently organize high-level tasks. Decibel uses TelepathyQt and Tapioca as its engines in the same way Phonon uses Xine and DirectShow. Decibel will unite all functions of real-time communication implementation under a single interface, and allow applications to easily communicate with each other. Decibel will not make candy from your application, but it will add additional functionality that can add to the appeal.
In conclusion, I would like to add that the current version of Decibel is still too raw for use, and is more likely evidence of existence with the full implementation of basic functions. The following versions of Decibel are focused on integrating with KDE, as well as improving the current functionality and sample programs. A few more releases will be required before the widespread implementation, but now you have a fairly complete idea of ​​the purpose and functionality of Decibel.

For writing the article information was taken from the official websites of Decibel , Tapioca , Telepathy , as well as a post about Decibel on planetkde.org .

This is a cross-post article with WeLinux.ru

Source: https://habr.com/ru/post/55567/


All Articles