Due in no small part to recent advances in AI and its ability to automate everything it touches, the technology industry has become increasingly drawn to the idea of low-code no-code software over the last five years. Tech analysts and industry vendors appear to agree on the suggestion that we don’t have enough software developers on the planet, so software that allows developers to build apps faster and businesspeople to build apps for themselves is seen as an important new development route… if not quite an all-encompassing panacea.
If we are really supposed to be able to look forward to some future point in time when everyone will be able to program — spoiler alert: this is not going to happen — then shouldn’t we know what these tools really look like… and, further, shouldn’t we more clearly understand the difference between low-code and no-code?
No, low is not the same as no
It’s important to remember that low-code is not the same as no-code. It’s not the same at all. No-code is for businesspeople (as we will explain and clarify below) and is really all about telling the system the functions you want and knowing that the technology can build it for you. Low-code is still for developers and (as we have said before) is still pretty complex, but it does offer a means of making things faster for people who have tangible software engineering skills.
The problem is, the industry often talks about low-code and no-code in the same breath, as is they were siblings. CEO of no-code software platform company AppSheet Praveen Seshadri says that he regards low-code and no-code platforms in a very different way i.e. they are not siblings, but distant cousins at best.
“Most low-code development platforms provide tools that create easy on-ramps for new developers as well as provide tools for agility in the development and deployment lifecycle. This has been a continuing and incremental journey. About 25 years ago, Visual Basic & Access generated User Interfaces (UIs) automatically from a database. Many low-code vendors today seem to be modeled on the IDE concepts from Visual Basic, but still fail to match the power of Visual Basic. It appears that low-code is primarily a message to highlight agility for software developers, an important benefit, no doubt, rather than democratization, a transformative and disruptive change,” said Seshadri.
The declarative difference
Explaining that true no-code platforms embrace declarative programming, Seshadri says that no-code is about what rather than how. In traditional software application platforms, code represents instructions telling the platform how to implement the desired functionality. In a no-code platform on the other hand, the app creator defines what the app does… rather than how it does it.
Technology educator Tyler McGinnis explains the declarative vs. imperative difference with a clear, amusing and non-technical example here (shown below):
- An imperative approach (HOW): “I see that table located under the Gone Fishin’ sign is empty. My husband and I are going to walk over there and sit down.”
- A declarative approach (WHAT): “Table for two, please.”
“The imperative approach is concerned with how you’re actually going to get a seat. You need to list out the steps to be able to show how you’re going to get a table. The declarative approach is more concerned with what you want, a table for two,” writes McGinnis.
AppSheet’s Seshadri says that the declarative nature of no-code is what makes it appealing to business users who know what problem they want to solve and what features their apps should have. No-code platforms empower business users to create apps by describing what they want to achieve. Typically, these platforms are also an order of magnitude more agile, to boot.
What no-code looks like
Back to our title — and to attempt to answer the question — what does no-code software really look like? The AppSheet platform itself helps explain. It is a combination of four factors and steps.
- First, users will need a business spreadsheet (Excel, Smartsheet, Google Sheets etc).
- Second, users will need a cloud storage provider (Google Drive, Dropbox, Microsoft OneDrive & Office 365, Box etc).
- Third, users use AppSheet’s App Editor to add features to their app based upon an application structure related to different predefined industry use case templates (hospitality, retail, manufacturing, non-profit, education, construction, sales, property and so on)… and the software itself ingests the data from the business spreadsheet in order to process the information it contains and so build the app itself.
- Fourthly and finally, business users deploy the app to a chosen mobile device.
But there also some misconceptions about no-code. Seshadri says that the number one misconception is that no-code is only for simple apps. He insists that no-code platforms have become extremely sophisticated and support rich functionality in apps. It is now possible to build most end-to-end enterprise applications on a no-code platform.
“In terms of other key misconceptions, many people think that no-code apps are primarily about drag-and-drop UIs. Not only is this untrue, a drag-and-drop UI is not really declarative. If you have to lay out controls on a specific screen form factor, you’d have to tell the platform how to do this for every possible form factor. True no-code platforms utilize declarative UI describing what the user should see instead of how it should be laid out. This allows the platform to render the same app on a phone, on a tablet, in a browser, in a messaging environment like Slack or SMS, or even in a Natural Language interface like Alexa,” said Seshadri.
A final misconception Seshadri wants to dispel is the suggestion that no-code apps do not scale i.e. they aren’t capable of expanding upwards and outwards to serve the bigger data throughput needs of fully-blown enterprises.
“All evidence suggests that no-code apps will actually scale betterthan apps with custom code. The best proof point for this is the most successful declarative programming paradigm – the SQL query language. When SQL was first proposed and then popularized, it was a no-code query language and had many skeptics who said it would never scale/perform as well as hand-coded queries. We now know that declarative descriptions like SQL queries scale much better than custom code,” said Seshadri.
Paradoxically perhaps, to really explain what no-code is and how simple it is, we need to explain the basics of declarative programming and get that ‘what-not-how’ element fully conceptualized in our heads. Having voiced that inconvenient truth, it’s not as complex as it sounds at first and you might just become a citizen developer yourself once these tools become even more widely popularized.