MQTT

Skill level
4 Proficient

I started using MQTT (Message Queuing Telemetry Transport) with JSON payloads while working at the Barco New Experiences division around 2015. Prior to that we were using XMPP (Extensible Messaging and Presence Protocol) with XML payloads. One of the things we really liked about MQTT was the "last will and testament" feature where a client could register a message to be sent to all other clients by the broker if the client died unexpectedly. MQTT also supports TLS encryption for modern security and nested publish/subscribe topics and a nice set of QoS features. And, it supports a secure websocket HTTP transport that can be used directly with web browser clients. Therefore, it serves both as a server-to-server and client-to-server messaging protocol.

I use MQTT for nearly all inter-process communications these days. Mosquitto is my preferred MQTT broker and Eclipse Paho is my preferred client library for C++, Java, Python and JavaScript.

Experiences using this skill are shown below:



Barco Labs DNN Anomaly Detection Prototypes

During greater part of 2017 and 2018, our team was doing research in Deep Neural Net (DNN) anomaly detection. The problem we were looking to solve was that control centers usually had far too many surveillance video cameras and control panels to monitor and not enough personal to pay attention to them all. Why not apply machine-learning (ML) anomaly detection on camera and computer monitor feeds to alert control center personal of abnormal events as soon as they occur?

Barco Labs Video Configuration UI

By 2019, our machine-learning research project was now integrating and managing multiple cameras and video sources and as a result it was becoming increasingly difficult to configure using config. files only. I was given the task of creating a professional-looking desktop UI that could be accessed from a web browser on company locked-down PCs. It was decided that there would be no support for mobile devices and the GUI would be package as a Docker image.

Prototyped a Star Wars™ like meeting experience

Created several proof-of-concept webapps in 2017 experimenting with ideas that will make virtual meetings more immersive. Our approach was largely inspired by the Star Wars™ films. If you remember, the Jedi Council held meetings in which remote participants were sitting in seats using holographic projections of themselves and vs. versa. I prototyped the same two-way immersive meeting idea using WebGL 3-D and WebRTC in web browsers.