Bubble Is Not Intuitive

I’ve used bubble forever and I am revisiting it and I’m back to square one with being insanely frustrated with it. I find it not intuitive when dealing with the “do a search for” and all the fields on a form where you enter information. I understand a database, how to architect one, fields, records and tables. I for the life of me cannot figure out bubble logic and even when working with ChatGPT to help still can’t make any sense of it. I find understanding Quantum Mechanics more intuitive than bubble. If anyone has figured it out and had this frustration, I’d love tips on how to think “bubble” because even after I got it and was able to build complex stuff, I still never understood the logic, I just knew what to do.

I’m stunned it is this non-intuitive. To me it is like an alien built the logic behind it. Any help is appreciated.

1 Like

I would describe Bubble as ‘not difficult - but different.’ It certainly has a way with how it approaches logic. I found once I stopped trying to approach it like I did with Excel, Google Sheets, HTML/CSS, etc, and tried interacting with it on its own terms, it really started to ‘click’ for me. It got to the point where it became a second language, and I’ve even had technical challenges solved in my head while falling asleep!

I’ll also offer that I found the forum here super helpful - and if you have a specific issue you’re trying to troubleshoot, I’d highly recommend posting about it and seeing if anyone can help you get through that hurdle.

Good luck!

3 Likes

If you could give some examples of Do a Search For you don’t understand, or that you’ve built previously it would help immensely when trying to explain.

1 Like

Have you read the updated manual and checked out the new Youtube tutorials? These updates and new content are done by experts who are experienced Bubblers themselves.

ChatGPT only has surface knowledge and some of it is pretty outdated. Try the AI search in the manual.

If that’s the case, I’m a genius.

7 Likes

There are some unintuitive things regarding lists and having to repeat the variable in every expression (for example “x is > 0 and < 5” becomes “x is > than 0 and x is < 5”) but overall, no idea why you would feel this way. I mean, you are having trouble articulating your own ideas about why something is bad, it would make sense that you’d have trouble with comprehension. I would love to hear some specific examples.

What I always see, and have experienced myself is it eventually “just clicks.”

For many folks personality, that’s enough. That doesn’t work with me. I need to understand the logic or I will fail to remember. That’s where I’m at now. I never understood the logic so even as I’m going back through what I’ve built, I don’t understand it. I’ve lost the “get it” part and since I don’t understand the “logic” for bubble I’m lost.

I can’t anticipate when I’m done. I want to understand what each box where I’m entering information is extracting information or forming a query or simply what it is doing and why the information is needed. I’ve never come across anything this difficult. The terminology (e.g. a ‘Thing’ for a table) adds to the challenges. It seems to have no foundation in any greater logical structure to the terminology.

Now that I’m revisiting Bubble after a break, I cannot even recall what Bubble calls a record or a field. It just makes no sense.

There should be a place that clearly explains bubble. I know it can be done, because I’ve found ChatGPT better than the forums and WAY better than the support documentation from Bubble.

If you ever want a guide / refresher course, shoot me a DM!

An example is what is it expecting at first, then once you pick something, what is it expecting next because of what you selected. Also, the Label for where you can “Do a search for” is always unhelpful. E.g. Type of Choices, Choices Source, Option Caption. This has got to be the worst labeling I’ve ever come across. I can only understand what the heck they mean when I ask ChatGTP and then once you understand what they mean, their ordering is illogical.

For example: Type of Choices for a drop down control. It can be a number (makes sense) or a table (makes no sense because later in other fields I narrow to a table and field). Then Choices Source is a table? Field? Record? It just makes no sense.

It was easier to learn HTML, CSS, OOP SQL. At bottom there is a logic with each. Bubble, not so much.

As an example. I tried to go find the manual as someone suggested it has been improved. The manual is found in the section “Academy.”

That has got to be the worst label ever. I had to guess I might find the manual there.

Bubble seems to try to be different and cute just to be different and cute.

Just put a link that says “Support & Training Materials”

Then if I wanted to see videos, courses, or look for a training manual I’d know it was there with near 100% confidence. But “Academy” leaves it open to wonder. That’s terrible design. This permeates most every word choice and design decision I’m seeing with Bubble.

They did so many things wonderfully (e.g., the idea of forms to get you to build things and interface to the database) and workflows, but their naming conventions and explanatory materials are dreadful. I would encourage anyone from Bubble reading this to engage with ChatGPT and get it to help you write the manual more clearly and help you create better labels and terminology.

And now I’m reminded that Bubble decided to call a Table a Data Type. That’s insane. A data type literally has specific meaning in computer science. Why in the world would you choose to name a table that?

That’s like calling a word an integer and ignoring that in math the word integer has a specific meaning. This baffles the mind.

Here’s more. In the manual I searched for “Type of Choices” to try to understand this on the interface form to a dropdown menu.

It says: “Define the list of things to be used as options. It should be a list of things of type defined as the ‘Type of choices.’ It is either the result of a search or content of a field that is a list.”

Is this English. I understand the first sentence. But OMG, what in the word is that second sentence?

I have to use ChatGTP to explain what in the world this is saying. That’s crazy.

I’ve seen this objection/confusion come up a lot, but it’s based on a misunderstanding…

In Bubble a ‘Thing’ is not synonymous with a ‘Table’… that’s the wrong way to think about it. (in fact, usually the suggestion is that a ‘Datatype’ in bubble is synonymous with ‘Table’ (not a Thing), but even that is not correct).

A ‘Thing’ in Bubble is an individual object of a specific Custom Datatype - there is no direct allegory to that in traditional development (at least not when using a relational database) - thinking about Datatypes and Things as Tables and Rows is not a useful comparison (and is fundamentally wrong).

In fact, there really isn’t a better word (in English at least) to describe what a ‘Thing’ is in Bubble than the word ‘Thing’.

I know it can be done, because I’ve found ChatGPT better than the forums and WAY better than the support documentation from Bubble.

If you’re getting your Bubble education from chatGPT then that’s almost certainly adding to your confusion…

Although it’s a lot better than it was (and is continuing to improve) chatGPT knowledge of Bubble is very hit and miss, and a huge amount of what it outputs regarding Bubble is total nonsense.

1 Like

A type of choice can be ANY datatype (it can’t be a Table… a datatype is NOT a table).

It’s actually pretty simple…

You define the Datatype first, then specify the actual data.

The choices source simply has to evaluate to the defined Datatype (or specifically, a list of it).

And now I’m reminded that Bubble decided to call a Table a Data Type. That’s insane. A data type literally has specific meaning in computer science. Why in the world would you choose to name a table that?

Again, a datatype is NOT a table… it’s a type of data (which in Bubble, has a corresponding table in the database, but think of the datatype as the type of data, not it’s corresponding table).

1 Like

Sorry. I now realize that Bubble chose the one of the absolute worst terms for a table by calling it a Data Type. Me forgetting this is further evidence of just how dreadful the terminology is with Bubble.

ChatGPT is the only place I can go to get any explanation that helps me. The last time I was building, I had to use the forums (as the manual was useless, and worse, simply frustrating). Now I use ChatGPT because it is more helpful than the forums as I can have dialogue with it in real time and on average it is better at explaining things than folks in the forums.

Don’t get me wrong, folks in the forum can be incredibly helpful, but you have to wait and don’t get into back in forth dialogue in real time.

Bubble makes VBA look like a brilliant programming language.

You obviously misunderstood my response…

Perhaps you’ll fare better with this one from chatGTP (but, take it with a pinch of salt, as with everything from chatGTP):


ChatGPT Response:

While “Datatype” might seem unfamiliar at first, Bubble’s terminology reflects its no-code, user-friendly approach. In traditional development, a “table” is just one representation of structured data, but in Bubble, a “Datatype” goes beyond that. It represents not only the database structure (like a table) but also the dynamic object-oriented data model that interacts with the visual editor. A “thing” in Bubble is more than a row—it’s an object with fields you can directly manipulate on the page and in the editor. So, while different, the term reflects Bubble’s integration of data with its front-end elements, editor and workflows, making it more intuitive for its intended audience.

Sorry. Not clicking.

Here is a real example. Can you help?

I have a table name tblScorers. In it is has the fields scorername, project name.

I want my drop down to list all unique project names.

What do I put in Type of Choices, Choices Source, and Option Caption and can you explain what each thing I’m entering is doing?

Sure…

You mean you have a Custom Datatype (i.e. a Type of custom data) called tblScores, with fields of scorername (presumably of type: Text), and project name (presumably also of type: Text).

To do this:

  • Set the Type of Choices to Text (as the data you want to display is of type: Text)
  • Set the Choices Source to a list of tblScores (e.g. a search for, or a reference to some other list of tblScores): each item’s project names
  • And the Option Caption to ‘This Text" (thats’ the only property of a Text
  • Add the :unique elements operator to ensure only Unique Text values are included.

OMG. How can Type of Choices be “text” when this video show them literally pointing to the User table for both Type of Choices and Choices source?

Also, when I do a search for in the Choices Source and I point it to tblScorers it is expecting more information.

I’m not follow where you want me to add the “unique elements” operator.

I don’t understand what you’re saying here at all, sorry. " * And the Option Caption to ‘This Text" (thats’ the only property of a Text"

I cannot believe how hard this is to accomplish.

Hmmm. This is helpful. Still baffles why they use a term already with a specific meaning. I can quickly think of a better name. Call it Information Source. No confusion there. The source for where the information comes. Even Data Source would work. Literally countless other words don’t have specific meaning in computer science would be better.

Sorry. Emoting at this point, but this is downstream of now having wasted four hours trying to figure out how to simply get unique items in a field in a table to show in a drop down menu.