0x010 - Low Code 🧩

0x010 - Low Code 🧩

Get more 5-minute insights about dev trends every 3-4 weeks. To subscribe you need to code your way there via the home page (or the easy way here)...


👉
Brought to you by:

- Descope - a developer-first authentication and user management platform for any app.

- Swimm - speed up your team's development cycle with internal documentation (that's always up to date!)

The team behind Descope are my former colleagues and friends. Show them some support and switch to passwordless authentication while you're at it 🦾

Hello to all 1k+ new subscribers from Product Hunt!

If you're new here, unzip is a 3-4 weekly newsletter about developer trends. To subscribe you need to code your way there via the home page (or the easy way here)...

Low Code

Low Code Application Platforms (LCAPs), often referred to as major drivers behind “citizen development.

TL;DR:

  • Problem: No-code solutions are bad at handling edge cases, but we still want a fast development cycle.
  • Solution: Take the best aspects of no-code, and sprinkle code where needed to address edge cases and complex needs.
  • In Sum: Low-code makes development almost as easy as no-code, but it offers much better flexibility. Developers benefit the most by using this technology.
What WYSIWYG was supposed to be?

How does it work? 💡

It really depends on the product you choose, but generally speaking, each low-code tool has:

  • A no-code-like drag-and-drop interface to rapidly create UI.
  • Some kind of data store (a DB connection, in most cases).
  • A way to add code for data transformations, queries, and UI interactions.

I really like Retool, (see how they’re not listed with a yellow background? That means this is not sponsored :) ).

Retool has a graphical user interface where you can connect variables and incorporate code with dedicated {{}} inline blocks. For example, if I want to access a text input value, I would use {{ textInput.value }}. Retool also provides raw SQL access to your database and automatically connects it to the interface (you can auto-populate tables & forms, for example). Despite some limitations on the final application’s interface, you can still customize it with React. All of the components have a JavaScript interface you can use.

Who is this for? ✅

  • Developers that need to build internal tools rapidly.
  • Sometimes, a technical-enough person (a non-developer with a bit of scripting abilities) can be supported by a developer to make the best out of the platform.

Why? 🤔

  • Internal tools and domain-specific software: Low-code is not a catch-all solution for your R&D struggles. Code still provides a good abstraction in my opinion. In some cases, internal tools or very specific domains (like game dev’s Unreal Engine blueprints) make sense.
  • Rapid development: Why get bogged down with a trivial UI frontend, DB connections, component hooking, and boring work? Don’t forget the tests and data validation you need to add each time you write something from scratch. Outsource that!
  • Enable non-developers in your org: Low-code solutions let business/ops teams build tools themselves without relying on developers. My take: I would still suggest collaborating, so you can avoid having to fix a terrible bug they created. Help them with the database structure, train them on using the tool, and evaluate their architecture.
  • Adaptability: Because it is so easy to prototype a solution using low-code, you can quickly create solutions without being bound to the slower cycles of traditional R&D efforts.

Why not? 🙅

  • Lock-in: I often shy away from no-code and low-code platforms due to the vendor lock-in they bring. And I get it, that is the business model. I would exercise caution if I were to use such a platform for my core product. Before doing so check the pricing for when it scales.
  • Scale: You are bound by the infrastructure the low-code provider created. I recently heard the creator of The LinkedIn Viral Post Generator (@TomVanilla) say they crashed their no-code provider (same idea as low-code in this analogy) because of a viral tweet, which affected other users - this might not impact you and depends on your low-code provider’s infra capabilities.
  • Opinionated tooling: There may be cases where you want to have full control over your end result. Yet, even with code in the picture, you are still bound to the low-code product’s framework of thinking. Maybe some UI components aren't the exact way you want them, for example (in that case, though, there are still options for custom components - but not in all low-code products).
  • Bugs: You are still using a living product, and from my experience, you could still face platform bugs. Sometimes you might be able to come up with patches and solutions, but otherwise, you need to wait for the vendor to fix it - which could be a dealbreaker.

Overall, I would not use low-code platforms for large-scale and mission-critical enterprise applications as the risks are too big.

Tools & players 🛠️

  • Retool - A low code solution for building internal tools.
  • UI Bakery - A direct competitor to Retool.
  • Kissflow - A more enterprise-centeric low code solution.
  • n8n - Open-source Zapier alternative with low code abilities.
  • Zoho creator - Zoho’s low code offering.
  • Teleport - A low code alternative to Webflow (and Figma?).
  • APITable - Open-source, low code Airtable alternative.
  • Runnable - Focus on business logic, get ready-made UI.
  • I would also consider Sheets, Excel, Airtable, and Rows to be low-code products (assuming their formulas and automations are seen as code).
  • Gartner - For the sake of completeness, here is Gartner's low-code list.
🤠
My opinion: I had an excellent experience with Retool. The learning curve was relatively short and I was able to help a company I invested in migrate their entire codebase into Retool in under a month—a task that was supposed to take about a year. Now, one of the non-technical founders (who knows SQL) is a pro low-code developer. Their ease of use while still providing the ability to customize almost anything was well thought out.

Forecast 🧞

"Low code" on Google Trends, last 5 years.
  • A New type of job: I suspect to see more low-code roles and agencies popping up. I can see a larger portion of a developer's work dedicated to using low-code platforms. Retool for example already has a developer network.
  • GPT-assisted: ChatGPT showed me how people who know tech but aren't professional developers can use “tech-with-training-wheels” platforms to create wonderful things. A CMO I worked with used Retool extensively; they only had basic SQL knowledge. For parts requiring complex queries and JavaScript, they had success using ChatGPT. This implies that no-code tools will find it hard to compete, as their main (untechnical) customer base can now solve complex tasks that require code with ChatGPT-like solutions.
  • We will still need developers: To solve difficult problems, such as scalability, fixing nasty bugs, and performance optimizations - things every product eventually needs. In addition, most products will need a robust database structure - which will require DBAs and/or developers with knowledge of constructing a normalized source of truth. This makes me quite bullish on this trend, as it will empower developers rather than “take our jobs”. Technology changes, and we change with it :)
  • Not just internal tools: Tools like Retool will probably make a move towards creating public applications, like Bubble (no-code alternative).

Extra ✨

Additional information that is related to the subject matter:

Thanks 🙏

I wanted to thank @TomGranot (the best growth person I know), Tamir Kfir (one of the best developers I know).

EOF

(Where I tend to share unrelated things).

Unzip.dev just got 2 free tickets for TechLeadConf 2023, if you like this tweet you might be one of the two winners! (Disclaimer: I got a free ticket to post this).

P.S. 👋 Thailand.