The movement of "no-coding" software development is a growing trend, especially in the web, mobile app, and workflow automation spaces. The value of these tools is their ability to enable so-called non-programmers to develop solutions without needing to know the syntax and nuances of a specific programming language. Instead, no-code-required platforms offer the ability to create applications through an easy-to-understand visual interface where elements can be assembled to produce a purpose-driven solution. While these offerings present great value due to their ability to lower the barrier for developing applications in a cost-effective and expeditious manner, their effectiveness is a function of the power of the platform combined with the skills and mastery of those who use them.
Don’t Be Mislead
No-coding can be a misleading term—providing a false sense of security that anyone can create an application regardless of their understanding or skill level. No-coding does not equate to "no-knowledge," "no-understanding," or "no-effort." The need to conceptualize and define a blueprint for what is being developed is a still a requirement and understanding the logic and thought process of programming is still a pre-requisite to maximize the effectiveness of no-coding solutions. Furthermore, understanding the no-coding environment, including its strengths and limitations, is critical to leveraging its effectiveness.
No-coding solutions are not new to the AV industry. For years, manufacturers have been touting "no-programming-required" solutions that address the industry pain points of expense, effort, complexity, and skill requirements associated with programmed systems. While the messaging of no programming required has a lot of merit for manufacturers from a marketing standpoint, the value is only real as long as there is an alignment between the requirements, capabilities, and realistic expectations.
"What is not apparent to everyone is all the complex programming that exists behind the scenes to make a no-code solution effective."
No-coding solutions can be viable for many systems that do not demand complicated functionality or operation. With the majority of AV systems using fewer installed components and shifting to reliance on Bring Your Own Device (BYOD), web conferencing, and streaming technologies—system functionality and thus programming requirements have been simplified significantly. When the requirements call for more advanced features that warrant intricate conditional logic, customized operation, complex device communication, et cetera—it becomes more critical to compare the details of those requirements with what is supported by the no-coding solution to confirm the right fit. The tradeoff for simplicity in no-coding platforms is limited flexibility and the inability to readily reverse course should the requirements exceed the capabilities of the no-coding realm.
The power of no-coding solutions comes from the backend development of the user-friendly environment, along with the easy-to-implement building blocks or objects available to construct the no-code solution. What is not apparent to everyone is all the complex programming that exists behind the scenes to make a no-code solution effective. Any time a no-code solution is used, it leverages hidden blocks of code created by developers who contribute to the platform. The easy-to-use frontend is a product of the heavy lifting done by the platform creators and other software developers who facilitate the platform’s effectiveness.
"In the AV world, the building blocks that fuel the no-code platforms are commonly referred to as drivers, modules, or plugins (depending on the manufacturer)."
In the AV world, the building blocks that fuel the no-code platforms are commonly referred to as drivers, modules, or plugins (depending on the manufacturer). These components can typically be grouped into two primary categories: The first encompasses system features, functionality, or operation; the second addresses integration of third-party products through their application programming interface (API).
While the system features are important to provide customization and offer solutions to satisfy client needs, a critical element in the adoption of any control platform is its ability to easily integrate with third-party products. There are two main variables associated with device control. The easier and more straightforward criteria is whether or not the control method can be supported. The more involved variable is what it will take to communicate with the particular device and whether or not a pre-developed driver, module, or plugin is available.
These days, most devices communicate over the network, with some instances of RS-232, infrared, relay, or digital I/O. When it comes to fully coded platforms, the ability to support third-party devices becomes a function of the control method being supported and the programmer's ability to interpret and incorporate commands from the API within their code. On the contrary, no-coding environments are less forgiving. Many offer very limited options for ad hoc device control and rely heavily on the availability of pre-developed building blocks in the form of drivers, modules, and plugins to support third-party device integration. What this means for the control manufacturer is that the power of the platform is predicated on the comprehensiveness of their library of drivers, modules, or plugins to control third-party products. Similarly, for AV manufacturers of products that rely on control system integration, their compatibility with no-coding platforms can be severely limited without the availability of drivers, modules, or plugins.
Understand the Criteria
It is important to clarify and understand that there are criteria that need to be considered for those looking to rely on no-coding tools. The success of no-code platforms stems from how they simplify the demands of development and lower the knowledge and skill requirements needed to produce a deliverable solution. As is the case with most things that seem too good to be true, with simplicity and ease of development come the trade-offs of functionality limitations and customization restrictions.
When determining a direction for development, be sure to start by taking the time to spell out the system operation, functionality requirements, and products that need to be controlled. This will act as the qualifier to determine if a no-code platform is an option. If it is, the process can proceed as long as future needs will not exceed the capabilities of the platform. If the ingredients and platform do not align, decisions can be made to adjust the system operation, functionality, or components; or search for a different no-code platform that will support what is needed.
The potential of no-code solutions is undeniable, and their effectiveness will continue to increase over time and with greater adoption. They will always be limited, however, by three main factors: First will be the ability to support the operational requirements of the system; second will be the flexibility and ease with which modifications to the no-code deliverable can be made to accommodate changes in design; third will be how easily and reliably it integrates third-party devices. This last factor boils down to the comprehensiveness of the library of building blocks (i.e., modules, drivers, plugins) available to support the platform.
Always remember that with power comes responsibility. Before investing in a no-code platform, be sure to confirm that it will meet the needs of your project and your client—now and into the future.