I've been noodling on the idea of creating my own "no-code map" (after Ben released his). Given how hot the space is, everyone's trying to position themselves as a no-code tool.
But what is user generated software? How does one define it? Is it by lines of code saved? If so, well we can give the title to Mailchimp as the ultimate no-code tool. Billions of emails that would otherwise have to be hand coded in HTML! But we can all agree that Mailchimp isn't what comes to mind when we think of user generated software.
I believe the best way to categorize and think about no-code is actually by reverting to development lingo. We can use what we're trying to abstract as the basis for categorization.
To create an app (and when I say app, I mean something you use on a browser to enable work -- not necessarily an app you go out and sell), you have four large components: a database for your information, business logic to transform that information, front-end for that the end user sees and utilities for everything else. By using what the different tools abstract (and enable non-technical users to configure and use) is, I find, the best way to categorize no-code tools. Here's how I'm thinking about it:
Databases
Databases (or sometimes loosely referred to, maybe wrongly, as a backend) are where you store information that is then retrieved by different end users. In development world, there are a whole host of databases: SQL, noSQL, MongoDB, Firebase and many others.
The databases I would consider no-code are those that can be configured and used by an end user. This is different from the development world where a database can only be configured by someone with technical knowledge and data within it can only be retrieved by executing code.
Here I'd consider Google sheets, Airtable, Notion, Coda, Microsoft Access, Rows. These tools allow end users to create their own data structure and then retrieve that information (either through the tool or via other end user facing layers) without code.
Business logic
Business logic is what encodes your workflow. It's the logic that takes your database's information and makes it useful to the end user for their specific work. This could be calculating the sales tax for a certain good or ensuring that a user's information ends up in the right database. Business logic is the transformation of your database.
In no-code world that can take many forms. Zapier (including Parabola, Integromat etc.) is probably the biggest and most known player here. It lets you take information from one tool to another while adding some logic in between. But logic can also live within tools themselves. Using a formula within Google sheets, Notion or Airtable is no different so I'd include those tools in here as well. Especially Airtable which now includes automations.
Front-end
The front-end is what the end user sees and manipulates.
In the development world, there's a distinction between front-end and databases because to access the database requires a coding layer. There is no "front-end" to the database. The front-end's purpose is to show the relevant part of the database to the end user.
In the no-code world, every database has a front-end. It's configured and often used by the end user so it has to contain a front-end from which the end user can configure the tool.
For the purposes of this mapping, I'd put in this category any tool that lets you take a database and turn it into a format that is relevant to the end user.
Think Webflow, Retool, Stacker. All tools that surface relevant information from a database in different (and often much more consumable) ways.
Utilities
Utilities is... everything else! It's what's necessary for an app to function! It could be sending emails via Mailchimp, taking payment via Stripe or any other focussed vertical tool that integrates nicely with the your stack.
When I put it all together, I get this diagram.
I don't know about you but what struck me is that everyone is trying to get to that middle section. Stacker recently launched StackerX and Webflow has been talking about business logic forever. Even more striking is that the most successful companies (success is relative obviously) are not those that started out in the middle—when you try to be everything for everyone, you sometimes end up being nothing for no one.
This is a first stab at this, I'm hoping to refine it over the next couple of weeks!
Does this resonate with you?
What tools/categories am I missing here?
Looking forward to hearing your thoughts :)
What Airtable automation trigger to use when?
Airtable has a lot of Automation triggers and I often get the question when to use which trigger?
The short of it is that you should usually use When a record matches conditions. This is the most flexible and safest trigger. Most flexible in that you can pretty much create any conditions for your automation. Safest in that there's no risk of an end user messing up your automation by changing a view's configuration. Here's when I'd use other triggers:
When record created
1/ when the only way new records are created via form or 2/ triggering automations for new records in a synced table
When record updated: when you want to track a specific record within a view (ideally a field). Be careful, this automation can trigger often.
When record enters a view
I very rarely use this trigger. I would only consider it when a view is locked and is clearly identified as being part of an automation with a relevant emoji.
The other triggers are self explanatory :) I'll cover webhooks in next week's stream!
Until next week
Aron