Bubble.io - new features

Bubble.io - new features

Joseph Harris

Tuesday, 23 April 2024

Bubble has been making a number of exciting changes lately, the biggest ones you’ve likely noticed include faster edit-mode page loading and...

Posted in:


Bubble has been making a number of exciting changes lately, the biggest ones you’ve likely noticed include faster edit-mode page loading and “schedule API on a list” now supporting 100k items per run. Having Bubble improving the efficiency of bulk running is very important for improving scalability of applications. I know one of the biggest complaints a number of clients have is the general speed of Bubble as a whole.

There’s also two new exciting features that Bubble is working on that are due to be released in Beta any month now. Native wrapping functionality is due to hit Alpha this month, with Beta slated for the summer. They’re also working on a “text-to-page” AI integration, with private-alpha currently underway, this sort of system would let you give the integrated AI a prompt and it would build a Bubble page for you, or at least, the framework of one.

One issue I’ve noticed lately though, is that with Bubble’s significant speedup in processing, is that running asynchronous changes to a single specific item is starting to have intermittent issues. Namely, making multiple additions to a single item’s list fields.

For example, say you have a “Group” data type, and it contains a list of “Profiles”. You then want to create and add a number of Profiles to that list. In some use-cases, you could just generate all the Profiles, then after doing that, assign ALL of them to the “Group”. But sometimes that won’t work and you need to add them as you create you. The workflow would look something like “Create Profile” (if doesn’t exist) -> “Add to Group”. This is simple enough.

However, with the speed that Bubble is now processing these items, I’ve found that it will sometimes overwrite existing lists, seemingly items are processing so fast, they each pull a “fork” of the same profile before any updates, add themselves to it, then “push” the changes back to the data item itself. This causes some strange issues, where, for instance, all 5 data items (“Profiles”) are created in the database, but the “Group” only has 2,4 & 5 assigned to it. 1 & 3 were added, but due to some “backend weirdness”, their “add” action got overridden.

One way around this, that I’ve found, is by using “iterative” backend workflows, instead of “asynchronous” ones (like “schedule on a list”). In this flow, you instead force the app to work through the list one item at a time, allowing for high speeds with Bubble’s new optimisations, but without falling foul of these conflicts. This is because Bubble is forced to do the items one at a time and cannot begin the next until the previous is finished. It’s simple enough to do, you just need to send the list of items through to the backend, along with the “count” of the list and an “iteration” number that increments with every run. Pull the data from the list with :item#iteration and you’re good to go! (Don’t forget the conditionals for an exit condition when all iterations are run!)

Launch Your Startup Fast and Affordably! Our no-code approach is perfect for non-tech founders. With a simple 3-step process: START, LAUNCH, GROW, join over 1400 startups we've successfully launched. Start your journey today!