January ‘21

NoCode tools have been on the periphery of my knowledge for a while. I've been to a few talks where people have evangelised their virtues and limitations. I've listened to podcasts about how they're going to change the world of tech forever, and empower non-developers to create their own products without ever writing a line of code. I was pretty bought into the whole thing, but in a very academic way, as I'd never actually used one of these tools. Sure, I'd used Squarespace, even dabbled in Wordpress, but what was being sold to me was on another level completely in terms of what could be achieved.

So I decided to give it a bash.

I forget how I stumbled across Bubble. I suspect it was via Nile Frater's excellent resource https://www.nocode.tech/. I fired it up, and was instantly overwhelmed by how complicated it was compared with the content management tools I was used to. Endless menus, tabs, and dropdowns that led to MORE menus... the learning curve can be a bit steep in the beginning. But, I kept going, and I'm glad I did - here's what I found out:

You can do a lot with NoCode.

Look at all these beautiful websites. NoCode? No problem.

Look at all these beautiful websites. NoCode? No problem.

I had a browse through the Bubble Showcase before trying it - I'd recommend checking it out. These products ostensibly look like any SaaS tool I've seen - they let you create user accounts, input information, and see it displayed back in a way that is helpful. They had integrations with most tools I could think of - Airtable, Google Maps, Stripe, HubSpot, you name it. You could take data from your users, chuck it down the API pipe of your choice, and get whatever you need back. And it all just works. I couldn't believe it when I had set up Stripe, and someone could click a button on my site and actually send me money. It felt like wizardry. But...

NoCode does not mean simple.

Far from it. Bubble acknowledges this by strongly recommending you go through their courses before you even start building. Firstly, you have the user interface - there's a huge amount to take in, and each menu or tab opens another raft of options that can be extremely daunting at first. Once you've got past the interface and start building, it will very quickly dawn on you just how complex the handling of data is. Computers don't like it when you're wrong, even a little bit, and one tiny misunderstanding can cause the whole thing to throw a tizzy. Bubble has really good built in errors and debugging modes, but I'd regularly find myself getting very annoyed when I just could not figure out what was wrong. And these problems don't go away - as your project develops, your understanding increases, but so does the complexity of what you're doing. You really need to persevere.

And there are hard limits on what you can do.

So many times I came across moments where I thought what I wanted to do just can't be done. And nearly every time I managed to break through, figure out some workaround or a hack to sort of make the thing I was doing work. The community were ridiculously helpful here - everyone wants you to succeed, so if it can be done they'll help work it out. What hit hard was when I wrote to the community and they (or even one of team Bubble) would reply "No, sorry this just cannot be done". It felt like a moment of reality dawning, and there were some features I just had to discard.

I am not a designer.

Squarespace and its ilk all have us fooled into believing design is easy. You fire up a new site and it immediately just looks great, on all devices. Turns out if you're building your own website from scratch this is not the case. My website looked scrappy, unpolished. All the buttons were different sizes. Some had drop shadows, some didn't. And it really felt like it was just not designed. I suppose the flipside of this is that your app will most likely not look like every other startup website out there, and this could really open the door to some art brut SaaS.

Expectation vs reality for how my site looks

Expectation vs reality for how my site looks

As an aside, I sense there's going to be a huge opportunity for designers who understand NoCode tools to come in and make things look good.

Privacy and security are really well looked after.

I was really concerned about the security of the tool I was building. When you're taking in a bunch of people's data from the world, there's obviously an obligation to make sure that data doesn't leak out. Turns out that Bubble not only know this, but since people (like me) assume NoCode tools might have weaker security, they double down on it. There's a belt and braces approach to both client and server side security, and it's straightforward enough to customise. [Note, I'm not a security expert, by any means]

That said, you do have to actually do it. The community is really pushy on this. The assumption I mentioned above has led to them strongly encouraging everyone to think about and rigourously test the security of any app. Nobody in the community wants NoCode to get a reputation for poor security due to people not bothering to set it up properly. Speaking of...

The community is just wonderful.

Seriously. I've mentioned it a few times because this is really important. I experienced no gatekeeping nor anyone making me feel stupid. From the Bubble forums to Indie Hackers and a whole load of YouTube channels, there's plenty of content available and people really just dive into helping you out. I found myself going back to help out other newbies - the desire to support is infectious.