I wanted to know: Can you use Bubble.is to build living, breathing, data-driven apps without any code? As a product manager who has launched dozens of apps, I'm always on the lookout for new ways to build things faster and cheaper, and ever since I came across Bubble.is on Product Hunt I've been itching to try it out.
Bubble's guided tutorials are thorough and clear; after fifteen minutes I had emerged with a map app with a working signup flow without writing a line of code. Make no mistake, Bubble is no Strikingly or Wix clone.
With Bubble, you use a visual programming language to develop site logic
Three key concepts are the foundation for how Bubble accomplishes it's magic.
User-submitted data via forms
AKA Bubble's visual controller
Forms (input fields and submit buttons) are the bread and butter of web apps, and they take mere moments to create in Bubble. Fields and buttons are a drag-and-drop exercise:
Input fields and buttons are easy peasy
Once your fields and buttons are laid out on the page, you can create a workflow (this is a Bubble term) so that when a user clicks a button it submits/ saves data from a specific field on the page to an object in your database (Note that Bubble doesn't use the term "object" or "database" - they try to avoid tech jargon). When setting up a submit button, Bubble shows you in a popup what the various input fields on your page you can hook it up to, so you can visually identify the field you want to use.
You can create workflows for what to do with data submitted from an input field
Though I won't go into more detail here, there's lots of flexibility with what you do with the data submitted by a form and how you save it.
Sending data to a page
Bubble allows you to create dynamic pages with content populated by user actions. For example, let's say you have a Pinterest-style gallery of picturs. Clicking on one loads a separate page that shows the full-sized image, the image title, and the full-size version of the picture.
Though it's basically accomplishing this using URL parameters, Bubble calls this "send data to a page" when a user clicks a link or button. This is again done via a workflow, and the objects on that landing page (text fields, etc.) have access to originating object so that they can populate the content accordingly. When you create those objects on a new page, you just tell them to "use current photo's title" or "user current photos image".
Bubble allows you to see your data model as well as the actual app data. The tutorials I did didn't focus on this at all but it seemed promising.
I came across a handy debugger on the bottom of the Bubble editor. The fact that a debugger exists makes me more confident that I won’t be cursing at Bubble's magic behind the scenes when it’s not working as expected. This gif from their docs gives a sense of how it works:
In less than a minute I was able to add the Mixpanel plugin and add an event tied to a button submission. Though I didn’t plug in any actual Mixpanel info (like an API key), it was crystal clear how to do it. Wow.
Bubble has lots of free plugins, and the Mixpanel one was easy to find. I also didn't have to stop what I was doing - the plugin loader was in-line where I wanted to create the actual analytics event.
Can't get more simple than this.
In about 45 minutes, I had learned enough to build a web app with user signup, data submission, dynamic pages, and analytics tracking, and knew exactly what was happening to my data models and actual user data. Advanced features such as integrations with other services and debugging all seemed straightforward. Bubble appears to be a very promising data-driven app builder.
This seems a game-changer for web app entrepreneurship.
I'm curious about responsiveness, scalability, cost, and security - but we'll have to save those for a future post.
Have you tinkered with Bubble? What are your thoughts?
Keep on Learning.