Low-code is a visual approach to software development that enables faster delivery of applications through minimal hand-coding and we are seeing new low-code and even no-code products emerging.
Where are we with low-code?
Many believe that they are the future of services. At the same time, many believe that they are not suited for making robust applications. Regardless, low-code is not likely to disappear. More relevant is where low-code works and where it doesn’t.
I have written earlier that I’m skeptical about low-code solutions but I have to admit that for some purposes, they have started to become more relevant. Today, there are better and smarter tools to produce no-code and low-code.
Even the definitions for no-code and low-code vary. For some people, they mean purely graphical user interface products to build applications. For others, it can mean using some macros or standard library components, and for some, it means training or recording a system to do something.
Low-code success stories
A benefit of low-code solutions is that they don’t need developers so people can develop solutions themselves. For example, this has been the case in selling RPA (robotic process automation) citizen-developer products. UiPath has been very successful with this. At the same time, there is criticism that users are often not really able to utilize these tools properly, and implementations are often faulty.
Microsoft also has its RPA products targeted to ordinary users for automating tasks. Microsoft has offered low-code tools for decades, e.g. macros and simple coding in Excel. They have good access to ordinary PC users, taht offers them a strong position to offer low-code tools, too.
Now AI, and especially ChatGPT, have an impact on this market as well. AI can help people to produce actual code, e.g. by proposing Python code examples. But at the same time, the LLM tech solutions enable new ways to interact with a user that can make it very different to build an application. The user can guide an application in a new way and the application can also ask the user’s help in different situations.
There are also new approaches to making AI implementation tools. This means that a user can choose input data, ready-made AI models and direct output to other systems. These implementations will become more feasible as AI models become more versatile in handling different types of input data and also better pre-processing of data.
The main issue with no and low-code solutions is that they cannot handle different kinds of problems involving input data and exception situations. This means an app is not able to handle a task properly when something u expected occurs. Everyone who has done coding knows that an important part of the work is to handle all possible situations, not only a typical path when everything is perfect. So, it is not a surprise that unexpected situations cause problems for low-code.
This is less relevant in systems where the correct format and consistency of the input data can be guaranteed. This is the case when we know exactly the data inputs that can be connected for the app, e.g. in a machine or connected systems that have a properly specified and reliable API.
Maybe RPA is doomed anyway
In RPA, the applications are often connected to multiple legacy systems, including data scraping, UI component recognition and OCR (Optical Character Recognition). Those immediately create a huge problem with input data and its correctness. So, maybe with RPA, the main issue is not low-code as such, but RPA (as we know it now) is always a hack or plaster on legacy systems, and they are never reliable. They are more like something you use until a proper application is built to provide a sustainable and reliable solution. Future automation will most probably be based on real AI rather than cumbersome RPA rules.
User interactions are also a challenge for low-code. Actually, they are a challenge to make any software because users often do things a developer has not expected or foreseen. As a result, a good user experience can be hard to achieve with low-code tools until you significantly limit how a user can use an app. But this is where GPT-type technology can offer new opportunities for handling interactions with users.
Where can it work?
How do we conclude in which situations low-code offers value, and in which situations it doesn’t work properly? Low-code solutions should utilize standard and correct input data (i.e. proper APIs), or effective pre-processing. They should also use standard procedures to process the data, start actions and very limited and predictable interactions with users.
It is probably also easier to use low-code for internal tasks rather than for software that is sold to third parties. Let’s take data from wearables where users could select filters and build some logic onto them. For example, if you have poor sleep, you could be advised not to exercise today.
Or, in a mobile RAN (Radio Access Network), make an application to optimize the use of battery and external power to minimize electricity usage. There could be a standard AI component that has logic for this. The app gets the data via RAN APIs and controls the system with other APIs.
In those cases, there is standard format input data from APIs available, and the company or individual might be willing to modify that app and its parameters (i.e. low code enables it to adjust this). But those systems don’t need to handle data from unreliable eternal sources that can give data in an inconsistent format or have data missing, and they don’t need complex interactions with users. They just execute their standard work day after day.
The fact is, we cannot ignore no and low-code solutions. They offer significant opportunities in many areas, and with AI even more, but they don’t work for all purposes. The important question is really to recognize where and when low-code is powerful and where it is better to use a traditional software implementation. Then there might be areas that have problems, regardless of whether it is low-code or real code. It is especially important to find the right solution for each case that can offer real benefits and better efficiency.