Bubble Editor Ideas and Suggestions

I’ll add this to the suggestions list

This is a must have.

@mghatiya Unfortunately still a pipe dream :frowning: I get frustrated now having to open up pages that have many hidden groups especially when I’m having to jump from page to page… every time, click Elements Tree, right click “Show all Children”.

Screen Shot 2021-08-31 at 9.38.57 AM

Oh crud, there’s another hidden group in there that doesn’t get shown even when I do “Show all children” on the parent group… Gotta click “Show all children” again, on the bottom group.

Screen Shot 2021-08-31 at 9.39.30 AM

Once you do that 50 times a day, from page to page, it eats at you enough to where you start rethinking how you’re developing lol.

At this point, I’d take a “Show ALL” – Just a blanket, “Show ALL”. Click it, everything hidden (other than popups/floating groups) show in the editor. One button to rule them all. Heck, make it a hotkey combo.

2 Likes

I agree. It is especially a problem with SPAs.

What I have been recently doing is making an element visible by default, so that they don’t get hidden in the editor, and put a condition to hide them whenever required.

But I was interacting with Bubble’s team recently for one of the issues, and ironically, Bubble’s recommendation is to keep elements invisible by default and show them as per condition rather than keeping the visible and hide them as per some condition. This is for performance reasons.

Now one would think that editor would be optimised for “recommended method of usage”, but it is not.

Is this idea put somewhere in https://bubble.io/ideaboard? I would like to upvote it. I couldn’t find it there.

2 Likes

cc @fayewatson @allenyang

Dear all, I’d like to resume suggestion #77 from @gsantoro (i.e. Repeating Groups not updating when resuming the app from idle) as this is causing me several problems and I’m puzzled that few bubblers raised this topic so far. It looks like a huge problem to me.

I have a Bubble app wrapped both for iOS and Android with the great “Native apps (bdk)”.
User A can send a message to user B. The latter receives a push notification and opens the app but in 50% of the cases he doesn’t find the new message because a RG didn’t update. I was reassured that this is not due to the wrapping.

I tried several workarounds (*) but none worked and I had to end up forcing a refresh of the entire page which is a horrible UX. What more, it doesn’t even work in 100% of the times.

I believe the feature should be made of 2 new pieces:

  1. WHEN page is back from idle (this should be an event built in Bubble, there’s no point having to rely to third parties’ plugins regardless how good they are)
  2. THEN refresh RG[x]

Thx,
gl

(*) I’m sharing here below the workarounds I tried as they might be useful to other Bubblers.

Each time user A sends a message to user B, I store under the latter a Last Event Date.
In addition, I store under the user a Last Refresh Date at each page load.
I also installed “UX Tools (BDK)“ and I’m using “When a Screendetect A wakes up” to spot when the app is resumed from idle.
I then created a WF that triggers when:
a) the app is resumed and
b) Last Event Date > Last refresh Date.

Of course I first tried “Go to page [same page]”. It didn’t work (the RG[x] did not update) . I also tried only with condition a)

I then tried to set my RG[x] with an empty data source and used “Display list in a repeating group” when condition a) was true. It didn’t work. I also tried to set invisible RG[x], display list, set RG[x] back to visible as suggested in Bubble’s documentation. It didn’t work.

I ended up firing a “Refresh the page” when a) and b) are true which is a horrible UX. What more, it doesn’t even work 100% of the times (i.e. the page does not refresh) and I also had to add an ugly refresh button in the UI (I can’t use the “pull to refresh” plugin as it messes up with the chat in my app) .

If others Bubblers can suggest a better workaround, I would be more than grateful. Thx

1 Like

I am facing similar issue. I just made a post about it. Not sure if this thread is the right one for that as you are not really facing the issue with editor. Here’s my post: Data on page not getting updated

1 Like

@mghatiya and @gianluca1 - this has been a devastating problem in our app as well. Any updates on if and how you’ve solved it? Or how you manage to replicate the issue now and again, to see if your workarounds have solved the problem?

This issue keeps troubling us. However, one of the members @aj11 had a suggestion which could possibly work. It works for him at least.

I haven’t been able to try it yet though. I am producing it here for others’ help if they want to try it and see if it works.


Download a plug-in for creating a random string on command.

Create a state on your page for “cache buster”.

Add a search criteria to the search for the RG you want to keep updated for:

unique id <> cache buster

Then create a conditional that runs every time the group or page you are worried about is visible. This event should trigger creating a random string (mine is six digits and a mix of numbers and letters) and save it as the state created above (cache buster).

Every time the state is updated, is should force bubble to update the call to the database and get the most recent results, even if the regular mechanism for keeping RGs updated is broken.

The key is the make the cache buster a state on the page and not a field in the database. Because it is a state on the page, your bubble app does not rely on the web socket to know when it has been updated because it’s value is stored locally in the user’s browser and is being updated by JavaScript locally in the browser as well.

When the conditional event updates the state it will change the search criteria of the search on the RG and force it to refresh itself even if the web socket is broken.


@aj11 I have put it here without asking you. Hope it is okay. Please let me know if it is not.

Our app has a really lengthy list of pages and reusable elements due to several reasons - internal and external pages, pages for different users, development pages and deployed pages, etc.

I think it’ll be a great idea if we can organize these pages and reusable elements into folders or subsets (e.g. buyer pages, seller pages, in development, deployed, etc).

1 Like

I am desperately looking for this feature. I edit expressions all the time and it is so so tiresome to keep writing them again and again. It is very important to be able to add/remove/edit/copy a part of the expression and not just edit at the end of the expression.

4 Likes

Yes - Agreed with you! On another post similar to this, I did get a response from Bubble about this that it is on their radar, however, they are looking for as many “test cases” as possible. Perhaps you could start putting together cases where you are unable to edit an expression and where you have to re-write the expression again. :slight_smile: I haven’t had the time to put examples together for the Bubble team to review.

Well, if they are looking for “test-cases”, it might be very hard for me to prepare as that would be exhaustive.

However, if they are looking for “use-cases”, I can supply aplenty and can give examples from my own app if needed for “test case”, but the app keeps changing. Here are a few use-cases I came up with just now. Most of these I’ve faced very recently.

  • I wanted to combine three sources of texts from different places and join them with comma. I wrote full long expression and then realised that I missed to add an “append: ,” after first part of the expression. Now I need to redo the whole thing again!

  • There is a long conditional expression with many conditions in it. I want to remove first part of it because it is no longer valid or I am simplifying the logic.

  • There are certain things that work certain way in Bubble that cause us to write expressions in certain ways. e.g. If I want to compare a “Date1 > Date2+(n minutes)” and “n days” is a dynamic expression, then I after writing the expression I realise that Bubble won’t let me do “Date2+(n days” if “n minutes” in itself is like “date3 extract hour * 60+ date3 extract minute” or some such. Then I have to rewrite it whole and change it to “Date2+(n minutes) < Date1”. And these Date1 and Date2 could be complex expressions in themselves. Now I need to rewrite it whole.

  • If I am having a source of information for which I do a “seach for…” and I want to use it multiple times in the expression or reuse it (for example once to get its count, and then to use its result’s different fields), I can’t copy-paste it and have to keep redoing it.

  • Changing source of data. If I am using a “source for…” etc in some expression somewhere and want to change the source to something else now, (say I want to read from a repeating group or want to apply filters to it), then I can’t do it simply that I just change that part of the expression. I have to really write the whole expression again.

  • There are many use-cases for editing of an expression in middle. e.g. If I am doing a mathematical comparison with different sources of data and arithmetic operators being used, and I realise that I want to now change the formula a bit and add another number in between etc, I can’t just do that without having to rewrite full.

  • If I have a list as an expression and now I want to subtract that list from another list, I have no option but to write that expression again, unless I store that list somewhere else which we know is complicated in Bubble, and also it may not be desirable always. I may just want one element and expression.

2 Likes

I hope this gets built. Many of us want this…

1 Like

This is fantastic! I’ll review in depth and see if I can scare up some other use cases. @nick.carroll Some use cases for the expression editor. Should we be presenting these in a bug ticket?

holy crap how do you keep track of what you have in there lol.

ill add one

the ability to filter lists in the expression without braking the expression
(this sorta works with the parentheses now but if there are none it breaks whats past the filter and you have to rebuild the expression

1 Like

In the past, when we have a “ceate a new thing” action, and want to do the same with “make change to a thing”, we had to re-do everything, and add the data type and all the fields from scratch.
Now, there’s the possibility to copy the “create a new thing” action and replace it by (or convert it into?) a “make change to thing” action. This is a great idea ! But the issue is that, by doing that, we still loose everything (the data type and fields on the action"), thus, loosing all the good points of this great feature. => should be fixed.

image
image
strong text

1 Like

I am not sure this is the right place where to post ideas and suggestion for a better usage of Bubble.
Anyway, personally, I find really rough/uneven the conditional input way, whenever the conditions are a little more complicated than a single one or two.
This is true both when insert the conditions and when reading them.
I think it would be nice that in the workflow actions a checkbox that indicates if conditions have been setted is present.
When the conditions checkbox is ticked, a “link” could allow to open a separate editor where in every row the user can input 1 condition (for example something like: [Current User’s field] - [is not] - [some value], [filters], etc… ).
Then the full condition could be built by choosing between the rows their relative conditional statement (AND, OR, etc…) and (this would be great for me even without what I have written till here) by associating or prioritizing the (row) expressions by adding parenthesis or giving to each row a number which determines the order to use to evaluate them.

:raising_hand_man: here another one in the list…

1 Like

:rofl: this thread is so long that I read just few post and then I added my idea that is exactly your one and that I found by case reading the reply from @AliFarahat …I imagined almost the same exact thing you propose. I only added the availability to add priority order in the expression valuation.
Likes to this post are too few…
This is a thing Bubble team should definitely implement!

1 Like

:raising_hand_man: here I am too! :wink:

1 Like