How to bring fully distributed and secure communication capabilities to embedded products and IOT (Part 1).
Jami is a communication tool developed by Savoir-faire Linux. It is available for Windows, MacOS, standard Linux distribution like Ubuntu or Fedora and smartphones (Android and iOS). In order to give the opportunity to use Jami in embedded products and IOT, we decided to include Jami in Yocto, the Linux distribution creator. This addition is a huge step for providing secured communications between all kind of devices. This article gives a presentation of Jami as well as Yocto. Finally, it gives the reason why we added Jami in Yocto and how to use our work.
Jami: a free and secured communication tool
Jami is a free and open source audio, video and text peer-to-peer communication platform. It does not require a server, and implements distributed and secure end-to-end encrypted communications for multiple platforms. Moreover, this distributed architecture offers private life protection on the Internet.
Jami is intended for mainstream users as well as professionals. It provides users with a universal, autonomous, free and secure communication tool. Recently, Jami has implemented some new and interesting features. One of the main is the video conferencing system that allows to have a large group of participants. Then, the possibility to create rendezvous points. These are accounts that can be called at any time even if the creator is absent or in another call. And to finish, Jami’s team developed Jami Account Management Server (JAMS). JAMS allows you to create and manage your own community of Jami users.
Jami is available at https://jami.net
Yocto project, a simple way to customize your Linux distribution
The Yocto project is an open source collaboration project that helps to produce custom Linux distributions for multiple platforms. Savoir-faire Linux is a member and an active contributor to the Yocto Project Participants.
From a reference distribution named Poky, Yocto gives the freedom to take layers already created but also to make your own. The goal of these layers is to include or customize any features you want in your final distribution. Each layer contains recipes which describe what you want to install in your Linux image.
Bitbake, the building tool of Yocto, will then generate a Linux image ready to be flashed on your embedded device, according to the content of your recipes.
More information at http://yoctoproject.org
Why add Jami in Yocto?
We packaged Jami in Yocto in order to use Jami in any custom distribution and make it easier to add it in your image.
We created a layer to wrap the application and all its dependencies. The created layer provides the graphical application of Jami that includes the backend daemon (https://git.jami.net/savoirfairelinux/ring-daemon) and the multiplatform QT client (https://git.jami.net/savoirfairelinux/jami-client-qt).
To use it, download the layer, add it to your configuration and just append Jami to an image that provides a graphical environment. Then, you will be able to create an account and call any other Jami user, as if you were on your standard Linux distribution.
For the moment, Jami has just been tested on an x86-64 Yocto distribution, but adding Jami in Yocto opens the opportunity to use it on every platform supported by Yocto.
The layer is available at https://github.com/savoirfairelinux/meta-jami
Feel free to install and try it out! We look forward to receiving your feedback.