1 August, 2018

July 2018 change log

Major flespi improvements in July 2018

This year summer on the northern half of the Earth is extremely hot. Even Sweden’s territory above the polar circle suffers from wildfires. But despite the hot weather flespi team did its best to deliver high-quality service and product to its users. We even turned on the A/C unit a few times when it was too hot and we have no more possibility to breeze fresh air from outside.

For those who do not monitor our live status page, I would like to share with you our current stats. We have already integrated more than 200 various device types and more than 666 persons and businesses are already using flespi as MQTT broker service or feeding their platforms with telematics data. Although we have more the 74K devices registered on the platform, in reality, 70K of them are retranslated from an actively developing 3rd party platform that will rely on flespi for communication and storage. But these 70K devices still generate real load sending to flespi a few messages per minute from each device.

This month we were unable to provide extremely cool four or five nines uptime and finished with 99.97% availability. It’s still quite above the guaranteed level of 99.90%, but we are not happy with this number. We had a couple of downtimes on internal subsystems caused by an extremely high load from MQTT side. Although what doesn’t kill us makes us stronger and we have already fixed and rebalanced internal communications to avoid similar overloads in the future, we also introduced additional limits for the quantity of MQTT messages we allow a user to publish/subscribe per minute. For free flespi accounts, the limit is one million messages per minute. It should suffice in most cases.

We have integrated just one new protocol — telitek and concentrated on the integrations with the big brothers. This time it was Microsoft. We implemented a new stream to feed Microsoft Azure IoT Hub with data from telematics devices. At the same time, some users asked for Microsoft Power BI integration. And we decided to try it ourselves. Even though we finally succeeded, we discovered that there is an abyss between flespi and Microsoft — it would be a shame to ever deliver the service and product in a way Microsoft now does.

Finally, we put quite a lot of resources to upgrade all our frontend applications to use MQTT API instead of REST API whenever possible. Now they are noticeably faster and more responsive. We implemented MQTT 5.0 protocol support into a popular mqtt.js library (because we need its features on the web). Our pull request is still pending and being discussed, but we hope to see it in the master branch of mqtt.js soon. For now, anyone interested in using MQTT 5.0 features of mqtt.js is welcome to our branch. All our projects are already using it.

I do not know about other countries but in Belarus August is usually even hotter than July. That’s why we declared August as vacation month and hopefully half of the team will rest out of work before the autumn. That’s why we do not expect any significant features in August. But we have a few new features half-ready that we will probably deliver in September. Among them:

  • new API documentation tool to make our API more friendly for you;

  • A chat with flespi team integrated into flespi.io for fast communication as an alternative to e-mail or Telegram;

One thing we will concentrate on this autumn/winter is Analytics. Our mission is not only to deliver raw messages received from devices but to pre-calculate various events about this device based on its messages:

  • distinguish between movement and idleness

  • calculate engine hours in real time

  • control geofences

  • make structured history about device activity ready to use by various dashboards and reports without extra calculations. 

To achieve this, we will implement special features in our storage engine and will experiment with various algorithms and even try some artificial intelligence to avoid user input as much as possible. The goal is to make the backend understand what to calculate and how to calculate it automatically. By the end of this year will inform you of our progress. Good luck to us!