Tiledesk is built on a real-time messaging core. The news is that Tiledesk has a totally new real-time messaging core, a new engine built from scratch and based on the best real-time technology around! The new messaging engine delivers great performance for every message sent through the platform, showing increased speed and reduced latency compared to the old engine. These increased performance will improve the overall user experience, and the users themselves will seriously benefit of the enhanced messaging both for human and chatbot interactions. Moreover, all of this comes with more security, stability and flexibility for all the all messaging experience.

The technology

We have chosen the MQTT protocol as our Clients protocol, providing the state of the art in real-time messaging directly derived from IoT.
All the Chat clients, from the the web widget to the Agents’ chat, use the MQTT protocol to establish the connection, sending and receiving JSON messages and managing presence. Thanks to the flexibility of MQTT combined with JSON data format, there will be many opportunities to expand the protocol and address more functions in the future.

On the backend side, MQTT support and messaging queues are provided by the open source RabbitMQ message-broker, written in Erlang, representing an industry-standard for real-time messaging. RabbitMQ is reliable, flexible and greatly scalable as our benchmarks have proven.
We rely on standard protocols also on the backend, where all components communicate with each other through the AMQP protocol.
Security relies on JWT based authentication for all the involved components, including Clients and backend services.

The new architecture will provide a full-stack, secure, scalable, reliable and flexible environment, upon which Tiledesk can build all of his messaging infrastructure and services, providing the innovation speed and security standards that the today market requires.

Open Source

Tiledesk is open source in all of his components, and the new messaging engine is open source too.

But more than this, the new messaging engine is also fully decoupled from Tiledesk, allowing any developer to use it to build his own messaging solution. The new engine is part of the Chat21 project, a full-stack messaging SDKs and backend components that aims to provide web and mobile apps with a complete set of APIs to embed messaging features in your own apps. Tiledesk is just the first of these Apps who can benefit of the new Chat21 infrastructure.

Try Tiledesk

The new engine is already available in our latest Docker-compose distribution.

We will be happy if you want to try it and send us your observations!

Enjoy Tiledesk and don’t forget to send us feedback to info@tiledesk.com!

Actually Tiledesk uses Firebase to deliver messages in real time between all the components of the platform (console, web widget, mobile apps etc.) that directly need to exchange messages.

Tiledesk uses the Chat21 chat platform, an open source set of applications, free to use, built and maintained by our Company.Messages are stored both in the Tiledesk database (for analytics, full text search features etc.) and Firebase (just to allow the client apps – ex. iOS App – to get the conversation messages history).

Here you can find a description of the current Architecture.

The blue frame, Chat21 server, is deployed on Firebase cloud, and is built using Firebase Realtime DB + Firebase Cloud functions.Every Client is connected through websockets with Chat21 Server. A mix of events on messages and webhook calls will synchronize Chat21 Server with Tiledesk server. All messages actually are stored on both platforms for different purposes.

The new engine

The next Tiledesk platform release will have a new, pluggable instant messaging engine, based on RabbitMQ (server component) and MQTT protocol (Firebase will still be still supported).The next version will be released for production in April.

In the new version, the blue frame will be a RabbitMQ instance that will only deliver messages, only storing them for the sole mission of delivering.

Once delivered, a message is removed from the delivering queue.With the new version messages will only be stored in Tiledesk where it will be easier to manage them applying to each message the policies chosen by the data owner.
Moreover, with the new Tiledesk version, the messaging engine will be pluggable, so everyone can unplug from our RabbitMQ solution, choosing another engine.