In this blog post you will learn about the no-code space, its history as well as some of its advantages and disadvantages.
Okey, so what is no-code? No-code is using any tools that allow you to build software applications without coding, usually using visual and drag-and-drop tools. The following definition form Wikipedia describes this space nicely:
No-code development platform (NCDPs) allows programmers and non-programmers to create application software through graphical user interfaces and configuration instead of traditional computer programming.
Instead of writing code you can use graphical user interfaces, configuration and wizards to build software applications. For example, an integration no-code tool Parabola allows to build app logic using a graphical flow instead of traditional programming. You wire and connect various components such as API calls, mappings into a flow which is then executed.
I personally like the term “visual development” a little bit more than “no-code”.
The two main goals of no-code are:
- Make software development faster and easier
- Democratize software development
Because no-code uses visual tools to build applications, it makes it possible to build software applications a lot faster and easier. It’s not uncommon to be able to build the first version of an application in matter of days using no-code tools where using traditional coding tools would take weeks or months.
The are millions of people who want to create and build solutions but they don’t know how to code. No-code will allow these folks to build applications without code. No-code is going to democratize software development by allowing a lot more folks to build software.
Today there about 24-25 millions developers in the world which means only about 0.3% of people today know how to create software, invent new things.
Imagine if millions more people, who are not coders, could create and build software, invent new things. We would have awesome new services, products and markets that we probably don’t even imagine today. So that’s exactly the promise of no-code.
We need new tools to build solutions faster and let more people build these solutions. Software is eating the world, the demand for new software applications is vastly outpacing the capacity of many IT departments to build these solutions. At the same time company founders need coders to build a successful startup. We need to give no-code tools to developers and non-traditional developers to build these solutions.
No-code is not new of course and various visual development tools existed as early as early 1980s. Before joining IBM, I co-founded Appery.io. Appery.io is a Low-code platform for building mobile applications with a back-end.
Low-code is similar to no-code but does allow to write code to customize the app and integrate with other systems. I searched my blog and found that the very first mention of Appery.io (back then known under a different name) was in June 2010. Low-code was first used by Forrester Research around 2014. Gartner, as early as 2009 talked about Citizen Developers – a user who is not a developer by trade but is able to build applications using various existing services.
If we look at history of software development, we have been “no coding”, or trying to make things easier, faster and making it possible for more folks to build software for a long time.
The idea of easier, faster and better – that’s the promise of every new technology, framework, library and programming language since the very beginning of software. The goal of every new framework, library and programming language is usually to allow to build software faster, easier, to hide the complexities and to focus on application’s business logic (instead of low level configuration, setup, etc). Since the beginning of software we have been adding layers of higher abstraction on top of existing layers. Here are some examples of technology changes to higher abstraction layers (in no particular order):
- 0s and 1s → Assembly → high-level programing languages
- MS DOS → Windows
- Custom code → frameworks, libraries, external APIs
- Bare metal → virtual machines → containers → functions (serverless)
- Custom blog → WordPress
- Maintaining servers → AWS
- Custom payment→ Stripe
- Custom SMS → Twilio
- Custom online store → Shopify
I said above that the process of simplifying development has been happening since the beginning. Every new phase in this process was still only targeting primarily existing developers. No-code makes a big jump as it allows developers but also non-developers to build applications. We have been taking small steps all the time but this feels like we jumped an entire floor at once.
No-code makes a big jump as it allows developers but also non-developers to build applications. We have been taking small steps all the time but this feels like we jumped an entire floor at once.
The new big layer is:
- Code → no-code (visual development)
Or we can also say:
- Traditional developer → everyone is a developer
So why there is so much growth and interest in this space? There are number of factors probably. One of them likely we reached a point where the new no-code tools are sophisticated enough and flexible enough to deliver real value. The browser is also now powerful enough to be able run visual creation tools.
The API economy also played a role in growth of this space. Once you have elegant and easy-to-use services for payments (Stripe), communication (Twilio), integration (Parabola), ecommerce (Shopify), database (Airtable) and many others – connecting them all together to build a solution becomes the next step using no-code.
I also think that in the past most no-code/low-code tools tried to enter the enterprise market first. Enterprises were skeptical of these tools, they didn’t believe these tools can build anything real and also had very strict requirements. Also, many developers were probably threatened by the notion of “no code”. I believe this new resurgence of no-code tooling approach somewhat different. Many companies are trying to target designers, agencies, people who want to launch a business, marketing and business people. That’s not to say that there are no no-code/low-code tools targeting the enterprise such as OutSystems, Mendix and Appery.io.
Another interesting factor I think, people who have been entering the workspace for the past 10+ or so years are very comfortable with technology and buildings things. This can be another factor why the no-code tooling space has reached this point.
A number of incumbents in this space provide a complete no-code solution. Companies such as OutSystems, Appery.io provide tools to build app UI, back-end and integration with various external services. However, most new companies in the no-code space focus on a specific area. For example:
- Glide – mobile apps
- Airtable – database
- Webflow – web sites
- Parabola – logic, integration
- Zapier – logic, integration
- MemberStack – user management
- Many other
As every company has a specific focus, building with these tools is similar to building with LEGOs. You connect LEGOs together and in the same fashion you connect or stitch various no-code services.
As virtually with any tools or software, there are some challenges as well. While the Lego-like approach allows to stitch various no-code service together fast, what happens if one of the services stops working or shutdowns? Most no-code are startups that raised VC money. What will happen when some of them run of out money? The more different services a solution uses, the higher the risk of failure. There is a large number of no-code solutions out there. I think it’s only a matter of time before some consolidation happens.
Just this week Google’s no-code App Maker tool was announced to be shutdown in 2021. Now, Google is known to kill its services but it’s something that developers and companies considering or building with a no-code need to be aware of.
Max Lynch, co-founder of Ionic Framework, shared his thoughts about No-Code tools being shutdown with no option to export the code or data.
Any time you use a cloud-based tool where you store your data or run applications – you are at risk of that service being shutdown.
Even if a service simply just malfunctions, debugging a number of no-code services connected together can be a challenge. For example, do you know which no-code service or API is failing? How easy would it be to debug a flow that looks like this:
Easy to use debugging tools will need to be a part of any no-code solution.
Traditional developers shouldn’t worry, they will not be replaced. In fact, developers should be excited about no-code as they will be able to build applications a lot faster and focus on business value of the application instead of spending their time working on low-level details, configuration, etc. No-code is about being a lot more productive.
No-code tools allow a lot more people (developers and non-developers) build applications fast using visual tools. No-Code is not new and challenges do exist but the space has grown very fast in the past year and I believe will continue to grow. I think one more thing we can say or wish:
Happy 🙅♀️🙅 coding.