Why do companies build custom low-code tools?
In this post I explore some some common reasons that justify the effort of creating a custom low-code tool.
Sell it as a service
There are several low-code startups that are providing app generation services for different niches. There are offers like website generators, mobile app generators, landing pages, generators, internal app generators, and others. In those cases, the custom app generator becomes the service of a company. Since the core of the business is providing the low-code solution, it is developed in-house and tailored to the needs of the clients, which are usually a predefined segment. Examples of this approach range from tools as simple as Leadpages to complex app creation frameworks like Mendix.
Productize an existing service
Some problems can be solved by custom software. In some scenarios, the mechanics of the solution is so similar from customer to customer, that there are lots of shared parts from solution to solution. A custom low code solution allows to abstract the boilerplate part away and have a way to specify only the business specific part of the solution.
An example of this are the Deluge scripting capabilities of Zoho apps. Zoho offers different business apps and allows to customize and integrate them using a proprietary language called Deluge. Using it, with very little code, it is possible to use their tools to have a heavily customized solution. There are companies that customize the Zoho applications for a specific country, and then, sell the same customization with minor variations as consulting services to different clients.
Optimize the internal process through a custom software generator
There are several internal processes that can be optimized through low-code solutions. For example, some domains require a lot of boiler plate code and a low-code solution can allow the user to focus on the business logic while generating the code behind. The end goal is the same as before abstract away the details and concentrate on the business logic. These tools are usually internal, so there are not many examples in the wild. However, in some domains like automotive, aerospace and defense, these techniques are used to define the behavior of low-level components (like sensors) using a high level DSL. Thus, abstracting the developers from the minutia of programming that particular component, and making the whole process less error prone.
Provide automation to existing software
Sometimes, there is a need to provide power users with more tools to automate their work in some software themselves. In a previous post I surveyed several ways to add this kind of functionality. Basically, the idea is to provide a low-code tool that generates automation in the context of another application.