Low Code Application Development Platforms (LCDPs) are typically defined as platforms used for creating application software through a graphical user interface. One web site lists over 250 such platforms and another provides a 2023 top 10 ranking. Most of these platforms have specialized uses like web sites, mobile apps, UIs, web forms and CRM apps. A platform like mPower offers business intelligence, workflow automation, reporting and mobile application development in one while GeneXus capitalizes on latest AI trends offering AI generated software. Among the top 10 are of course also sophisticated UIs and Web Site creation in minutes offerings. LCDPs are obviously here to stay with an estimated global 2023 market size of over $20 Billion and >25% growth rate.
Is there a case for LCDPs in IoT applications? With the inherent complexity of IoT the answer first seems to be no. After all, IoT is made up of 4 distinctly different components: IoT Devices (Things), Connectivities (Wired and Wireless), Data Handling Platforms and Applications with their own development and configuration environments.
At first sight, only the Applications part seems to be a natural home for LCDP solutions as many of the LCDPs on the market target web, mobile, data base and other applications that are used by or in IoT solutions. But let us look at the other three to see if LDCPs are applicable.
Data Handling Platforms are highly programmable, and some have graphical user interfaces to manage and control the processing of data including rules engines, building blocks to simplify integration and application development, and POD libraries providing pre-configured elements for graphical UIs. Some Data Handling Platform have built in applications for a set of pre-determined use cases but most sophisticated analytics, machine learning and AI are left to the applications developers using separate streaming analytics or data base tools external to the Data Handling Platform.
Connectivities are by definition configuration dependent (Connectivity (WiFi, Bluetooth, …., Cellular, LAN, fixed) selection, Password, Protocol, Encryption and more). Most of these configurations are done on the IoT device as part of setting it up (provisioning). As there are two ends of each connectivity the other end, typically the Data Handling Platform, also has to be configured and provisioned using different applications. Unless done as part of an end-to-end device provisioning solution, connectivities remain a largely manual operation working with multiple configuration interfaces.
IoT Devices, because of their varieties, remain in a class of their own with programming environments ranging from embedded microcontroller tools to higher level device specific user interfaces, often part of the device or reached via a setup application. One specific category of IoT Devices is so called gateways that connect to a number of individual IoT devices and sensors, process their data and route it to the data handling platform. Gateways often have software gateway agents that are configurable by connecting to the gateway directly or remotely. Gateway agent processing includes rules engines, machine learning or local storage, some available through gateway agent specific LCDP interfaces.
As can be concluded from above, a typical IoT implementation incorporates five or more individual development and configuration interfaces, some LCDP, while others are more programming language oriented. The question is whether it is possible to reduce these or even turn them into one IoT LCDP environment. The answer is dependent on the ability to create one LCDP environment IoT Platform that can support and interact with the many disparate parts and functions of IoT including everything from IoT device provisioning, configuration and management to providing knowledge and insights derived from the overall IoT solution in the form of date/event, monitoring and analytics applications.. This requires that the platform must interact with all relevant IoT parts (Things, Connectivity platform, Data Handling Platform and Applications) and subsume (incorporate or replace) the relevant Development/Configuration platforms for each. It has to support core IoT functions for:
Done right, these functions can be provided by a number of higher-level platform applications with LCDP programming/provisioning interfaces that allow different administrator and user roles to quickly and simply manage and control all functions and aspects of the IoT implementation.
Let us look at one example to see how this would work and what is required; End-to-end IoT device provisioning of a new IoT thing using LCDP applications provided by a common LCDP IoT platform:
This is just one of many different use cases that need to be provided by an IoT implementation. It and most other use cases can be implemented using a combination of a well architected IoT platform with supporting web and mobile applications and integration with external platforms (like AT&T SIM provisioning platform) and services (like data storage, analytics, ML, AI). A follow-up blog will discuss how to architect such a platform and provide LCDP interfaces in a cloud environment.
By combining a well architected IoT platform that supports end-to-end implementation and provide it with LCDP UIs it is possible to create scalable IoT solutions that are easy to manage and deploy. The idea behind Triotos is to offer an IoT platform that offers rapidly deployable solutions giving our customers Low Code IOT Application Development UIs to manage, operate and maintain their IoT implementation. We do this by customizing the Triotos core platform to each customer’s needs so that they can evolve and enhance their solution using Low Code Development style applications.