This kind of process has decades of predecessors, from dbs like Delphi, Excel, to Emacs in the ‘70s to (so it was claimed at the time) FORTRAN.
Is “no code” meant to somehow imply something more?
This kind of process has decades of predecessors, from dbs like Delphi, Excel, to Emacs in the ‘70s to (so it was claimed at the time) FORTRAN.
Is “no code” meant to somehow imply something more?
See bubble for example - https://bubble.io . It’s basically “visual” Rails. The intention is to allow users to build complex, interactive software visually, without having to write code.
Webflow has a ton of plugins that can get you something similar. You can have a user model (memberstack.io) with authentication and even the ability to create user specific content. I was able to create a fairly complex user dashboard that had real time charts pulled from an Airtable database that was synced automatically with user interaction using Zapier.
...but, here’s the issue. You just can’t do enough. I made it about a week before I abandon the idea and went back to Rails.
I’m still bullish on the idea of no code though. The tools are there. They just need more functionality.
Thing is, and this differs per market; most companies do not need anything more than endless streams of crud apps, and that is where these tools shine. You (and many of HN) might work in the b2c market, but where I work, people do not care much about how things look or ux; they care if they work just a little better than the sap or oracle interfaces they had before. Actually, this goes for many (most?) b2c products as well; most (traditional; challenger banks are a lot better) banking or airline apps I know look like bad template barf-ups (many are indeed that, bought from the same cooking cutting companies) and yet people use them. Would it be better if they were custom designed with money spent on actual ux and design? Sure, but apparently not enough to matter to the company commissioning it.
When companies I work with look for no/low code, the only reason they will not use it is vendor lock in; if they cannot run on premise and/or ‘eject’ the code, they will not use it. Several products allow this and they are fairly popular (so much in fact that they cannot find enough ‘devs’ for their clients).
These systems have their place; it is just (much) faster (some boring things in regular environments are just a few clicks with these tools) for some x% of applications while another y% you cannot do with them or is very difficult; I would still do the x% in such a tool as thinking ‘we might need x+y later on’ is premature usually and in my experience does not pan out. We have programmed applications ‘created for expansion’ 15-20 years ago that run to this day which would have fit in the x%; aka we wasted time and money while the expansion was never realised by the client.
Edit;
> it would imply the supply of apps competing for that category would explode.
And that is a very consumer centric approach; we are not all making fitness apps or something; these apps would all look (more or less) the same but work on different APIs and data; that is fine for almost everything; not only some internal stuff. It helps companies a great deal to just have something their clients can use vs nothing, even if the cost is close to zero; and they cannot be the same as they talk with different systems and different data. Even creating partner dashboards more efficiently than slinging code is something people do all the time and you cannot ‘just copy paste that’ to another company.
These products are not generally meant to build ‘the next whatsapp’. But you can prototype it with them and show investors; I agree with you there though; wrong tool for the job.
What nocode tools don't have lock-in? The ones I know which are open source still have these proprietary add-ons for important stuff like authentication or connecting to other systems.
IME at least 20% of the needs of these companies are not met by "basic CRUD app programming" which is why these no-code things never really take off despite often appearing quite impressive. 80% is not enough.
Basic CRUD also implies an understanding of domain modeling and normalized relational db design. In practice these are uncommon enough skills among developers never mind users of tools like these. That's half the reason why spreadsheets business users want turned into apps are so horrendous - it's not even intrinsically a problem with excel, it's just that the relationships between the domain objects are usually confused and the data is in a mess.
And you are of course right in that this will only create 80% of what the customer needs. But the marginal cost for us to create those first 80% of the application were almost zero. And since we weren't worse than anyone else with the last 20% we could deliver fast, inexpensive and still have large margins.
The mistake I think many do when they think "no code" is that they think that they can eliminate the developer and let business people just "configure" the new application. But those people have the insulting idea that the only thing that makes programming hard is syntax.
Exactly. No-where did I mention you do not need (good) devs for this. They are just not writing code (in the traditional way). No/lowcode is not saying the same as end-user development, although it gets mixes up quite a bit (also by the companies selling the tools), it is not what I mean when when working with such tools.
And in my experience at least, you can push back closer to the 80% than the 100%, so sure, you don't get that last 20% (or part of it) but maybe I can convince the client they don't need it. And if they do, I would choose (maybe) another tool for the job like I said.
I think there will always be a random form function that captivates (today’s ticktok), but my prediction is that the web will be won less by competing on form factor, and rather won focused on other parts of the user experience.
In a simple example, logistics is an obvious differentiator, 2 day vs 5 day shipping etc.
There are so many dimensions to compete on and app design will contribute to many of those dimensions, but some ways to compete will not involve coding.
Maybe, but I think the idea of setting up a SaaS business without writing any code just won't work.
If the tooling is simple enough that a non-coder can get it to work, then the no-code SaaS business is providing very little of value. The user could just do the job themselves using the same no-code tools.
Why the "hate" for code? I immediately understand the problems that typical programming languages have for people who are not trained in programming. But there exist good reasons why other approaches like "visual programming" have failed (except for some niches). So in my opinion the solution is not to "spread hate" against code for a "stupid" market pitch, but take the time to develop programming languages that are better suited to the needs of the customer.
- No set up issues (visual programming is cloud-based)
- Less of a discoverability issue (visual programming shows a lot of things all at once)
- A sense of familiarity (people have seen flow chart like things before)
- It's easier to see the difference between arguments and parameters
Full disclosure: I have almost never seen visual programming languages, but I got the idea that there was no devil's advocate present within you. So here I am ;-) I find it quite easy to think from a beginner's perspective, because in some sense I can't fathom that I know what I know now since I never thought I'd ever know this much in my entire life (and I'm only 31, lol).
Cloud-based has nothing to do with visual programming or no-code (you can also do cloud-based editing of conventional code if you desire). Counterexamples: LabVIEW, Simulink.
> - Less of a discoverability issue (visual programming shows a lot of things all at once)
Wasn't "shows a lot of things all at once" actually an argument (marketing pitch) why conventional programming language overwhelm many people who are not programmers, and visual programming languages are "thus" better because charts have a lot less "intellectual density" than computer code?!
> - It's easier to see the difference between arguments and parameters
What is actually the difference?
> Most of these things could also be done with text-based code, but typically aren't when you're just starting out
This means that it all can be done, but isn't. Which means that it's a cultural issue, not a technical issue.
Also, I was under the impression that discussion was about mainstream programming languages and mainstream visual programming languages (of which you said there were none). Here's a workable definition of mainstream: the Stackoverflow top 10. It doesn't have LabVIEW and Simulink.
When you discount niches for visual programming, then you have to do it with text-based programming as well, otherwise the argument isn't fair. I presume that you know this. So I find it peculiar that you don't qualify why you're using languages that aren't (seemingly) remotely mainstream, or why you're not using mainstream examples.
> Wasn't "shows a lot of things all at once" actually an argument (marketing pitch) why conventional programming language overwhelm many people who are not programmers, and visual programming languages are "thus" better because charts have a lot less "intellectual density" than computer code?!
I wouldn't know.
I'm quitting this discussion, the exclamation mark + question mark, "what is actually the difference?" There seems to be no wonder or curiosity from your side. Instead it seems purely adverserial.
Nearly every work is expensive if done by other people.
Shopping websites used to often be custom built or unsuitable platforms (eg. web forums) repurposed. Now they're on Shopify.
Warehouses used to be something that you rented, fitted out, and hired personnel to run. Now they're Fulfillment by Amazon.
Servers started on premise, then moved to data centers, then moved to cloud.
With each of these shifts, a little bit of control is given up on order to have these things on-demand at lower cost.
Build a site with a WordPress theme and ultimately end up editing the HTML and CSS to get the desired result that's not possible out of the box.
Add a plugin that doesn't quite meet my needs and end up learning PHP to edit the source.
For people that learn by taking apart what's there, no-code tools are excellent learning tools.
Drag and drop plus lots of options in dialog boxes, looks like.
It's been done before. Viamall, (later Yahoo Store) the first online shopping cart system, was very much like that. Totally hosted, updated through the web, pay by the month. When Yahoo bought them, they demanded a cut of revenue, too. Those seem to be the key components of this concept.
Other ancestors include Visual Basic, Dreamweaver, and Hypercard, but those were not hosted by the company behind the system, so they didn't have the lock-in and profit potential of hosted systems.
It's a reaction to the mess the HTML/CSS/Javascript crowd has made of web design. The web was supposed to be WYSIWYG, and that got broken.
Yahoo eventually re-wrote it in another language.
Whether you implement RTML in Python, Unlambda, Common Lisp or Rust doesn't make a difference to the user.
The web was never supposed to be WYSIWYG; this rather is/was a marketing claim by vendors of visual tools for generating websites.
What is true is that it was supposed to be very easy to generate websites in HTML.
Bingo.
Unlocking human ingenuity while making our species less depending on learning to think like a computer is always going to be a big market.
I think there's value in no-code even for seasoned programmers, especially for quick front-end work. The front-end world is currently very fragmented. Us backend folks are completely befuddled by all the options and frameworks that are out there (Angular, Vue, React, Oh jquery is out? Wait, there's a movement back to plain old Javascript? etc.).
Many of us just want to concentrate on building the backend, and use a tool to quickly mock up a CRUD interface or mobile app in order deploy quickly and iterate with customers.
In a way it's less. The products you list are much more capable developer products. These are more in the direction of the FileMaker or Access level of constraint, but implemented in a more modern way which means they can be fairly effective.
Using "no code" is just branding that hasn't been used broadly until now. Maybe it has, but it probably isn't well known enough to be unusable. I'd have called these "4GLs" perhaps.
Lots of companies are getting in on the act to create a market for this. All of the established companies making business software have some no/low code solution. Then there are newer companies like Zapier who do automation and are trying to be a connector between these apps.
https://en.wikipedia.org/wiki/Fourth-generation_programming_...
(my favourite: https://en.wikipedia.org/wiki/IBM_Informix-4GL)
The better ones acknowledge this and allow you to use code when you want/need to.
This whole no-code thing is basically a bunch of terms that allow people with valid, legitimate but boring old businesses to feel like they are Microsoft or Google. While extracting a whole lot of money of course off the fluff around it.
As a developer I have some power to say no to such thing but marketing people at low-code can promise everything without ever providing what they promised.
That said, as senior developer I've been very happy lately to get the company to use more off-the-shelf libraries (like Material UI for React) rather than coding our own stuff, lessening our development and maintenance time and letting us work on more stuff that matters instead. Of course, we can also create custom components instead if we have to.
No-code and low-code solutions are seductive to many because they can get easy wins fast, but those easy wins mask the fact that more complex functionality is either more difficult, or outright impossible. Not to mention that once you heavily customize those products, upgrades can become very painful and very costly.
It's a useful category for the people who use these (like me).