When is no-code useful?
linus.coffee
linus.coffee
I don’t think you and I are using the same Excel...
There’s a git extension, git-xltrail, if you want to use Excel with git.
I've seen low code vendors claim you can do reviews in git... but its an experience not unlike reviewing changes to a generated hibernate or entity framework xml. Its not really reviewable
I frankly haven't used vba for a couple decades at this point, but if you dig deep enough its pretty much all there. Combined with sharepoint/etc you can probably get a lot of the UI to be web facing as well.
meaningless_roi_calculator.xlsx
meaningless_roi_calculator_v1.xlsx
meaningless_roi_calculator_with_fabricated_hours_saved_v1.xlsx
meaningless_roi_calculator_v2.xlsx
meaningless_roi_calculator_v2.xls
~meaningless_roi_calculator_v2.temp.xls
meaningless_roi_calculator_jerry_bullshit_numbers_v3.xlsx
meaningless_roi_caluclator_v3.xlsxExactly! Nearly every self-taught programmer started this way. They had something they wanted to achieve and learned enough to get that done. The real opportunities here are in creating tools that do have depth behind the scenes which users can learn gradually as they need to.
No-code is the on-ramp to the yellow brick road - people who have challenges that take them further than that should be able to grapple with the code abstractions behind the wizard's curtain.
What? How can you sum the numbers in a row without writing a line of code? I've seen lots of people using Excel for simple and complex tasks, and every single one of them wrote code to accomplish their task.
Drag your mouse over the cells and press the sum button.
I get your point though, many excel users are writing bits of code here and there, especially if you consider math to be code.
Concretizing workflow is good, but take care what concrete you use and who pours it. Could end up pouring your company a new pair of boots if you know what I mean.
When I was a kid we had Microsoft front page, a no-code solution that allowed you to create a web page. A few years into college my brother-in-law started making money writing web pages in plain CSS and HTML and a little jQuery. I asked him why he could make money when I could make the web page in front page. he said it was much as easier to change the web page over time when it was written in code than changing the auto-generated garbage HTML that front page produced. No code, then, stood up poorly over time back then and I doubt it will today except as a way to make standard parts out of modular pieces of software, sort of like Unix did back in the '80s with its modular command line tools.
You're in for a rude awakening then!
Webflow (the modern equivalent of Frontpage/dreamweaver) produces portable, semantic HTML and sane CSS. Like half of all YC companies are using it to build their marketing sites now.
I've found it's much faster to completely redesign your site over time with Webflow than with some custom built static site. In fact, I'd say things have flipped. I think whatever esoteric Node Package Mess, shit hot CSS framework and clunky headless CMS you're using today will be the thing that ages poorly over time.
Matlab SimuLink is a no code solution that works well. It does so because its users, mostly academics, fit a similar profile to YC startups: both are in the business of making stuff that doesn't need to last long/"writing throwaway code". In both cases, experimentation is important. After all, the YC startups don't know what is profitable yet.
Once profitable, they will want to make much more minor changes. After all, why change something that makes money?
It is this field of fine grained changes where code thrives.
I'll be convinced of no code when banks start using it.
And in simulation you try/change things often.
It seems to work well.
There, change happen over the many system parameters, small blocks(some written in code), or maybe adding a new block(but those systems are dataflow like, and without that many unique blocks, so it's the right abstraction)
That’s assuming you already know how to use HTML and CSS. The tool does not help you learn that. I worked on a project in Webflow with talented designers who didn't know diddly squat about HTML and CSS, and it was a mess. I agree that it’s amazing that the tool allowed them to do anything at all, but the output was a big ball of tech debt.
I'd say 90% of the companies I've worked at who built their sites "from scratch" also had complex messes of duplicate/unused CSS styles and non-semantic HTML elements.
All this built in by so-called "professional" front-end developers!
So is pure functional programming, as well as idealized logic programming (actual Prolog falls short of this in important cases), and some forms of relational programming.
> There are no loops
Often there are via recursive/circular references, for which the platform often has bailout logic to prevent infinite loops.
> no dictionaries,
How is an Excel table different from a dictionary?
Dictionary is an indexed key-value store, tables are not?
Basically it's "decrading" a developer to be a normal user who is just using some software. Which has the benefit that now every non-developer can do the same work as the developer, and they both have the same output and qualification (theoretically).
Thinking about, the endgoal of this is similar to a full self-driving car. You just name the target and the software drives you there.
I believe you mean Unix, as Linux didn't exist in the 80s.
Especially if you look at it as a low-code solution(instead of no-code): most changes can be done using plugins and visual builders, while some require writing a new plugin.
I've heard soooo many horror stories around when businesses start to pick up and they have to take this frankenstein of a WordPress site, with custom code atop poorly supported plugins, and must either support or rewrite it.
Maybe we should distinguish between "no code" and "no knowledge."
Even Excel can excel (!) at, say, a small statistical problem, but scale it and you want something dedicated.
IMHO in these fields people care about getting results without all the software dev ceremony (which probably would add very little in this context).
Obviously there's a ton of code machinery behind the scenes to make it work, but the same is true Javascript so that's neither here nor there.
> IMHO in these fields people care about getting results without all the software dev ceremony
It's just called "software" you buy from someone, it helps you produce result, even produce another software.
You don't want to code, buy a software. You don't want to code all the things, use library, framework, services that have API.
You just want to hook a bunch of things together with business idea with zero code. Like hooks up all supply chain? You are not programming anyway you are a manager sort of thing.
What's no-code?
Bubble.io offers source control in a somewhat limited sense. Although the utility is quite limited. You can create save-points and revert to them as required.
You can also export versions to json and commit them to a git repo. I do this for fun and some code hacking. It isn't as useful as traditional code maintenance but can come in handy.
Coming to where nocode is useful? Few points based on my experience:
a) We had to create a prototype with a single member techno-business team (me) and few business guys on a very undefined problem. I managed to get it done with Bubble. In fact our business guys tinkered with the layout and design while I was asleep (I gave them not to mess anything up from a functionality though :-))... for e.g. I could spend days/weeks discussing colors, fonts, layouts etc or they could just do it themselves to their visual satisfaction
b) Limited use-cases. I am working on a side project for freelance recruiters. Goal is to help them launch their own indie-business. I can quickly put the system together with visual feedback and perhaps finish it in less than a week during my side-project hours. I think it would take me week to do it the first time. Perhaps 2 days for similar apps from then on.
I plan to supplement it with more involved sophisticated data mining hacks from the backend. Works neatly!
In essence, many businesses are not technologically sophisticated (in the coder sense) and need not be. They need to deliver value in utility, organization, reduced friction, etc. no-code can shine in these areas. Coders can hack on top of it to try to reduce the gaps.
We have built Frappe Framework [1] as a platform to re-use code for our massively complex application (ERPNext with 900+ models). While it does not have a drag-and-drop UI builder, object creation and migration is fully automated via configuration. The key reason why this works as low-code is:
1. Automated UI generation (via metadata)
2. Automated database management (schema and migrations)
3. Abstracted functionality that can run on any object (like permission rules, workflows, assignments, file attachments, PDF generation etc)
The configurations are stored as JSON files that can be used for source code management [2]. Frappe Framework is still under the radar, but of late we have seen many teams using it massively for internal tooling.
[1] https://frappeframework.com/
[2] https://github.com/frappe/erpnext/tree/develop/erpnext/selli...
They are useful for a very wide range from indie / small businesses and high tech capital market discount brokerages (#1 ranking).
I have seen my employers waste so much money on sub-standard products. Few (one) of which I hope to get to market using Frappe / ERPNext as an indie venture.
Many thanks @rushabh!
Developers will complain this system isn't scalable and lacks testing, but for a small business or small team that's all that's needed.
Another key problem is that with simple tools you empower non-technical users to do their job faster. If you obfuscate the data behind an application you become dependent on software developers for maintenance which increases cost and reduces resiliency. For large corporates, this can mean removing an army of low-cost administrators and replacing them with an army of high-cost software developers.
In all cases, once again, "no code" doesn't make the programming go away, it just puts a visual skin on it that makes it prettier to look at but more difficult to manage over a system's lifecycle.
In the 1970s, secretaries at MIT used a version of Emacs -- Multics Emacs, which predated GNU Emacs -- to type up documents; and what's more, they automated common tasks with Emacs Lisp. They were only ever told they were customizing the editor, though, not programming it, so they could approach Lisp without fear.
The representation could be anything -- literally anything at all -- and as long as the end user doesn't believe they are doing "programmers' work" they will use it if it makes life less tedious.
Without no-code software, the cost to automate a simple business process which takes a low paid admin worker 3 hours per week might be:
* Requirements Gathering (Let's say 1 day)
* Development time (Let's say only 5 days)
* Testing time (Let's say its fast and only takes 1 day)
* Bug fixing (Another day)
* Ongoing Support and changes (estimated 25% per year)
So at $500 per day and this incredibly conservative timeline, let's say that solving that simple business process costs $4,000 capex with $1,000 annual costs including infra. This saves 3 hours of work for someone on minimum wage... $2,340 per year.
A few problems:
* Problem Number 1 - This doesn't meet most companies hurdle rates (>2 year payback).
* Problem Number 2 - The problem wont be deemed 'big value' enough to get IT resource assigned
* Problem Number 3 - People in general want to work on 'bigger problems' and will hate going solo on a tiny piece of work to reduce a single workers week very slightly.
Ok, so that's fine from a company perspective, but look at it from the minimum wage workers perspective - They might be doing something that they KNOW they themselves could automate, but their IT department won't do it because they deem their time too valuable, and they aren't allowed to do it themselves because they aren't deemed knowledgeable enough.
No-Code shouldn't aim to solve all problems, it should aim to solve the problems that are below IT's threshold but still deliver user value, otherwise there is value left on the table and you have people doing work that could be better automated or put on a better platform.
It's not to replace everything, its to build something that's better than excel and paper, when your IT department can't/won't build it because of capacity/hurdle rates/investment.
I have a different point of view.
There are two assumptions I disagree:
Assumption 1: No-code will not benefit from code learnings (or do some equivalent progress)
Probably, because the nature of domain (code vs GUI), the solutions may be different, but it's possible to attack the same problems.
many no-code tools have some type of versioning plus real time sync
many no-code tools have some type of abstraction level extensibility with plugins
...
Assumption 2: Software development is mainly solving complex problems
The other force no-code in the no-code side is, as software industry gets more mature, more patterns are discovered.
Just look how much boilerplate is in each company or unnecessary rework with bad abstractions. Most of companies doing software today are just rearranging things on screen, or creating some simple pipelines.
Even though RAD, low-code, model driven, etc.. is not a new thing, time has a important role here:
Also as software is getting more popular in last decade, we saw a lot of space for "almost the same" solutions to coexist, allowing more of the production process to be "productized"
This can be different to silicon valley style startups, but most of the market is solving the same old problems everyday.
Full disclosure, I actually have a no-code/low-code startup (https://abstra.app) hence I'm very biased!
With that said, no-code is jumping the gun. Start with less code.
As you noted, every app built for the end user is ‘no code’ in some respect.
Astute observation - guilty! lol.
It's the blockchain hype for 2020.
- Abstraction
- Flexibility
- Cost of labor to produce functionality
Higher the abstraction lower the flexibility. However, for enterprises the ability to produce functionality without requiring a skilled work force matters a tonne. The success of Airtable & likes speaks volumes. That's because the world is not as complex as the article likes you to believe.
As developers, we underestimate nocode solutions. And enterprises probably over estimate.
In my experience as a software contractor, non-technical and even semi-technical people always underestimate the complexity of even the most mundane task.
I wonder if the author has ever written a sales order processing system. It seems easy on paper, and you can probably crank out a naive implementation in a single morning ...
Talk to a first line employee or manufacturing factory worker end user who wants to make minimal data apps on fly without the extra time or baggage.
Google Appsheets or Microsoft Power Apps are fantastic tools of this nature.
Yes, some are prone to “spoilage over time”. But to fully discard/dismiss the entirety of low code products is either foolish, or a conclusion that is based on old/incomplete information.
I'm sorry to have insulted you, I honestly figured you were another naive 20-something year old giving advice on something they know nothhing about (and I work in tech, so I can't just not hang out around with them).
That said: no-code is not "no engineering"
I think we're mostly emotionally responding to the patronizing implication in these sorts of articles that no-code is the future and what we do is so easy that it's going to be replaced by a pretty GUI and some colored bubbles.
Does anyone deny these tools have some uses? They sure do. But they also manifestly have some serious weaknesses, as discussed in the article, and I'd add others beside. They may get incrementally more useful in the near future, maybe even build a few billion-dollar companies, but the odds of them displacing any conventional code in the near future is basically zero; no matter how successful they may become, the net amount of "yes-code" programming work in the world is still going to go up.
I don't think a factory line worker should get a Real Language... I think it's that credulous journalists or companies with a marketing department ought to stop writing these "oh man, software engineers ought to watch out!" articles and instead focus on the actual capabilities and deliverables... which, frankly, end up obscured, oversold, and outright ignored when you try to pitch them as replacements for conventional software. Any startup in this space, I'd advise against positioning yourself that way... you're in for some angry customers.