Author: Susan Coleman, Appian
Technology hasn’t just crept into our daily lives—it’s raced in and is running around in lots of areas it may not have touched before. From the portals we enter information into before visiting the doctor, traveling, or attending events to our reliance on different ways to communicate with family, friends, colleagues, and customers—even the tech averse have had to accept technology into their lives.
We’re also thinking about the new ways technology can help us do our jobs and run our businesses better, like the multitude of platforms available for ordering delivery from restaurants and the collaboration tools that have become a must for people working from home. In this deluge of technological change, you may or may not have heard the term “no-code.” Or maybe it’s lingered on the edge of your tech awareness, but you don’t yet know exactly what it means or how it could possibly impact your life. This article will help to fill in the gaps by explaining what no-code is, how it differs from other, similar technologies like “low-code” or “high-code,” and why it’s worth paying attention to where no-code is headed.
To start at the very beginning, no-code is a method of creating software applications that can carry out simple functions. These applications can be both web and mobile based, such as landing pages, portals, or other digital interfaces. As the name suggests, you generally don’t have to write any code when creating software with a no-code tool (see the next section for caveats).
Instead of typing out long lines of cryptic code in a computer language such as Java, C++, or Python, developers can create labels, action buttons, fields for entering information, dropdown menus, and some program logic using a graphical user interface (GUI). This is a much more visual and intuitive approach than long-hand coding. Developers choose the desired features from a menu within the GUI, much like you would when adding an image or animation to a PowerPoint slide, or applying widgets, formatting text, or embedding videos on a landing page using a website builder such as WordPress or SquareSpace. If you’ve ever spun up a blog or website using these or other website builders, you’ll be familiar with GUIs. They contain all the templates, themes, drag-and-drop components, formatting options, security, and dashboards you need to build, update, safeguard, and monitor a website.
Example of a block editor GUI from WordPress
Creating software using a no-code platform works in a similar way. The basis for no-code development is the no-code development platform (NCDP), which contains the components, templates, connectors, and logic for building simple business applications. To do so, you choose the functions you need for your application from a menu of options within the GUI and place them on the visual workspace.
High-quality no-code platforms also offer capabilities for both model-driven development and model-based testing. Creating and testing a model can help both in planning how the application will work and in ensuring that the application functions properly and contains all the right steps and actions in the right order. This is done using diagrams resembling flow charts to map all the activities, tasks, and decisions that need to be carried out by the software and the people who interact with it—for example, entering valid credit card information into the interface for an online shop, sending confirmation texts or emails to someone booking a table on a restaurant’s mobile app, or routing incoming invoices to the correct recipients in a company’s invoice-to-pay workflow. Testing capabilities allow developers and their business stakeholders to see the different components of the application in action, thereby spot checking for bugs and doing in-the-moment quality control. By doing this kind of visual mapping and testing before the real work on the software begins, development teams can go from design to a working app much more quickly than if they were using more traditional means of app development.
The term “no-code” can be a little misleading, as there is plenty of code built into NCDPs. But that code is all created, managed, and updated by no-code platform vendors. The vendor's development team does all the background work so its customers can have as easy and code-free an experience as possible when creating no-code software. So, in this sense, a more fitting description might be “hidden code.”
But it can also lead you to think that anyone—regardless of whether they have a technical background—can create fully functioning applications “in a few hours” and with “no special skills,” as some actual marketing messaging from no-code vendors states. As the saying goes, however, your mileage may vary. Some of the configurations necessary in no-code environments, though not technically warranting knowledge of a programming language, do still require some skills in user interface (UI) and user experience (UX) design as well as expertise in the kind of business logic you would find in advanced spreadsheet functions, such as concatenating data from a variety of sources. So, if you’re thinking about investing in a no-code platform, it pays to do thorough research into vendors’ offerings to determine what skill sets are needed to create no-code software applications.
Like the names suggest, no-code application development requires little to no custom code, while low-code development—though still not nearly as complex as traditional high-code application development—does necessitate some coding knowledge. How much more coding is needed when using low-code vs. no-code? In what other ways do these two technologies differ?
The distinctions between no-code and low-code development are becoming less and less clear. There is often more overlap than is evident on the surface. But in general, the ways these two technologies have set themselves apart fall under the following four categories:
Speed: The less coding required, the faster developers can spin up applications. Following this logic, low-code development is faster than traditional high-code development (according to some sources, about 40–60% faster, while others claim over 10x faster), and no-code should be even faster than that. But this is a hard thing to quantify, as the breadth and robustness (see below) of functionality available to the no-code developer is so different from the type of functionality possible through low-code or high-code development. Comparing the two is a bit of an apples and oranges scenario. Nevertheless, when it comes to rapid application development, both low-code and no-code provide considerable benefits in time to delivery over high-code development.
Flexibility: This is an area that seems to be becoming more muddied as these platforms evolve. Low-code platforms have always allowed developers to easily switch between a designer view and what’s sometimes called an “expression” view, which exposes the code so developers can enhance or customize it. It’s often assumed that no-code platforms don’t allow this kind of access to the underlying code in a play to sacrifice some flexibility for increased simplicity and speed. But there is evidence to the contrary. It’s hard to say where these two technologies will go when it comes to striking this balance between simplicity and customizability, but low-code platforms do generally allow and encourage more coding within their pre-built components than no-code platforms. Whether this changes in the future will probably come down to the users themselves and the demands they place on platform vendors.
Target users: Traditionally no-code platforms have been marketed to business users, who don’t have coding experience or deep tech skills, sometimes called citizen developers. A low-code development platform, although sometimes also marketed to citizen developers, is a tool used more by professional software developers or technically minded people to streamline certain aspects of application development. This allows them to spend more time and energy on the more challenging and rewarding areas of development. It will be up to the platform vendors to determine how to satisfy both the professional developers, who rightfully want and need to use their skills to solve complex business problems, and the more casual users who crave the simplicity to address their own needs quickly.
Robustness of functionality: Many descriptions of the types of applications created using no-code platforms contain the words “simple” or “basic,” which means you probably wouldn’t use no-code development for applications supporting complex enterprise processes. However, no-code is a viable tool for creating dashboards, web applications such as online shops or course platforms for schools, native mobile apps, and business process automation functions for trigger-based tasks. Because of low-code’s combination of the simpler drag-and-drop components and the more robust functionality delivered by allowing access to the underlying code, there is a much wider range of use cases and enterprise requirements that low-code can satisfy, such as process automation, rapid prototyping, enterprise-grade security, and compliance management.
Ask 100 different people what the future of no-code is, and you’ll probably get at least 75 (if not 100!) different answers. Ask a no-code platform vendor and the answer will likely be that no-code itself is the future of software. No-code may never be the technology of choice for managing large, complex business processes, but it could very well be a driver of innovation for a whole new pool of users with whole new sets of brilliant ideas. If no-code does indeed continue down the path of democratizing technology for those who are not the most tech savvy, it has the potential to be an incredibly valuable tool.
The opportunity is immense for organizations that don’t necessarily have deep tech skill sets but could benefit from the use of digital tools and automation technologies. From public sector and not-for-profit organizations, to underserved communities and regions, to schools and hospitals—the more desire there is to empower these segments, the more no-code tools will be needed. Entrepreneurs will find it easier to start businesses when the necessary technology is more within reach. To satisfy these needs, no-code vendors will need to ramp up their technologies’ capabilities and go beyond the labels of “simple” and “basic.” They will need to find ways to not only have a balance of simplicity and robustness, but have optimal levels of both.
Get more background on the low-code/no-code conversation from analyst firm Gartner.
Date: April 12, 2022