Speed up IoT Development with Middlewares. Round one: Kii

Kamil Górski

iot-kii-1

Ever since the creation of the IoT division at Monterail, we've been trying to solve one particular question. In terms of developing an IoT project from scratch, when should we use an existing IoT solution? At first, it seems that we could build an IoT project from scratch instead of using another platform. We have a talented team that can deliver beautiful and bulletproof applications. After deeper consideration, we agreed that this decision is more complicated that it seems and requires further investigation. So to answer this question, we conducted some research about IoT platforms that could speed up the development process.

Interesting start: Kii

The first one is Kii. Its website says that it can “speed up your IoT initiatives”. This is exactly what we want to do. It is a mobile backend as a service. What does that mean? It provides a middleware that stands between the firmware on a hardware device and the end-user application (website, phone app, etc.).

Kii gives us a lot of possibilities: user management, group management, data management, push notifications, custom server scripts, analytics and online tests. In a nutshell, it eliminates the necessity of creating and maintaining the backend side of an application. Furthermore, Kii created two sets of tools for enhancing the development process for hardware (Thing-IF SDK) and end-user applications (Kii SDK). The first one is written purely in C and the second one is available on Android (Java), iOS (Objective-C, Swift), JavaScript and Unity. Of course, there is a standard REST API if you prefer it this way. There is also another advantage for this IoT platform: it handles security. Kii Cloud allows you to set custom access controls so it can limit the access to your application data and features.

At first look, it seems that this is the perfect solution for most IoT projects. At the beginning of development, we should double-check how much the project can gain by using Kii.

Summary

Security:

Pros Cons
two different access levels extensive configuration: user can set up wrong privileges by mistake
access levels can be customized closed source of Kii
https and access tokens  

Scalability:

Pros Cons
cloud service, scalable to any size none

Flexibility:

Pros Cons
huge number of features custom scripts might not be efficient in big data
custom backend node.js scripts old version of node.js
  constrained list of allowed modules
  code testing might be difficult

Development tools (SDKs, etc):

Pros Cons
SDK in many languages none
REST API  

First time configuration:

Pros Cons
a lot of features very time consuming

Documentation:

Pros Cons
extensive navigation
whole system is well-documented search engine
Kamil Górski avatar
Kamil Górski