The Ultimate Guide to Bubble Performance - the new edition is out (now 210 pages!)

For those who enjoy reading on a Kindle, I have now included the book in EPUB format.

It’s available to everyone who bought the PDF: log in to your Gumroad library to get access to the EPUB file.

1 Like

Hi @petter ,

A quick Q. In the book you say:

Page 78:
The complexity added by adding lists of Things to a data type does not only afect searches, but the amount of data that Bubble has to handle in general. If you load a list of Things, each containing a field with another list of Things, Bubble will load all of them, adding to download size, RAM usage and client-side processing.

What from that sub-list of things is loaded when the owning thing is loaded – the reference to each sub record in the list or the complete records for each sub-thing in the list?

Page 100:
Processing on Sub-Things
A slightly longer delay will be added whenever you ask Bubble to perform some sort of data processing on a Sub-Thing.*

Can we be sure that Bubble only does this processing (aka loading the Sub-Thing record) when the page accesses/manipulates the Sub-Thing or could it be that the Sub-Thing record is loaded when the owning thing is loaded?

Extending on this, what happens if a thing has itself as a sub-thing and recursively points to, say a parent in a tree? Would that then load all nested sub-things references/records or only if they are used?

Best, Peter

Hej Peter,

Happy new year!

Page 78
Only the list of Unique ID’s is loaded (unless you reference data from the list somewhere on the page). So this is only a performance hog if you’re loading very long lists. I.e. a max of 10,000 records on lists would make it about 320 kb

Page 100:
From what I can remember, Bubble will only load the sub-thing (if there’s only one) if it’s referenced on the page. For more complex scenarios it’s honestly difficult to say, as Bubble may do some predictions to speed up overall loading and load it even if not directly referenced.

You can do some testing in the Network tab of DevTools to see exactly what kind of data is sent back. This guide gives a quick intro to DevTools.

Hope that helps!

Petter

1 Like

Thanks @petter for being clear and open on areas where it’s hard to say.

And of course a happy new year to you!

1 Like

Hi @petter what is your takeaway on the new Work Unit pricing structure?

Thanks to your great book I have previously used the Satellite data concept in a few places in my app. With this new pricing, I think I will be using it a lot more!

I wish Bubble would re-engineer their process so that only a thing’s relevant fields, and not the entire thing, is downloaded. Bubble has mentioned this is on their roadmap but until then we have to use the satellite data type.

Any other suggestions on optimizing given the new pricing?

Petter is finna suprise us with a new edition and make a gazillion dollars off the book if he can explain to me what the heck workflow units are and how to “optimize” my app

1 Like

Hi @greg18

I have a lot of thoughts on the structure have been trying to collect them into something: I’m not sure what that looks like yet.

As for optimization, that’s too early to say I think. Things haven’t really changed in terms of making performant apps – it’s just that the balancing act between performance and cost has suddenly become a part of it.

Short and not very informative answer, I know, but I’m still collecting my thoughts on the whole thing.

2 Likes

Sure @petter we all need time to collect our thoughts…

But if you have anything insightful to share now, please do before April 30!

Right now, as I’m launching my 2+ year Bubble project, they are forcing me to decide whether or not to sign up for the legacy Professional tier or stick with the Personal tier (for the next 18 months).

In other words, for many Bubblers like me, we do NOT have 18 months to figure it out what we currently need, because our app is launching now.

I’m expected to make this decision based on barely 2 weeks of accurate WU data!! Totally unfair, I wish they would postpone the deadline.

Any thoughts you have now would be timely!!

Thank you always @petter

3 Likes

Experiencing exactly the same thing…

1 Like

@greg18

Are there specific things you are concerned about? (concrete things like page load, recursive workflows, etc), it’s probably easier to take it that way.

Seeing that it’s a huge update I wouldn’t really be sure where to start honestly.

Update to professional to lock it in. Over 18 months assess your needs. That at least is what I am doing and advising my clients to do. Most of my clients launched on professional tier anyway for the collaborator feature.

1 Like

Yes @boston85719 that is very likely what I’ll end up doing.

@petter I’m just shocked at what my bills will be in the new paradigm. Right now, it will be 10x more – before I have any users! So when I have 1,000 users does that mean I’ll have 10,000x the cost? I believe so. At least I’ll have 18 months to rebuild somewhere else.

I suppose my top question for @petter is: do you foresee use of “Satellite” data types (as described in your book) as a key strategy to reduce WU usage on the frontend? I’m already doing that for my users’ pages (to be performant for them) but now I’ll also do that on my admin dashboard pages (to reduce WUs).

Also it has been suggested by @keith that complex privacy rules could be employed to reduce WU usage. I think this would be an alternative to the Satellite approach. Do you think the privacy rule approach could make sense?

Neither of these hacks would be necessary if Bubble automatically only transmitted the relevant fields of a thing, instead of the whole thing! They should build that feature before they make use pay for WUs.

1 Like

Bubble should be implementing a feature requested that is to allow us to designate what data fields to return.

From Josh post response

2 Likes