What are your best tips for designing fast apps?

Hey guys!

What are some of your best and favorite tips for building apps that load and run fast? App speed matters, and so having a helpful post that compiles it all sounded like a good idea!

Thanks for sharing :grinning:

3 Likes

There are many ways I think. Some I can think of off the top of my head.

  1. Optimized database design
  2. Using set states
  3. Using reusable elements
  4. Optimized workflows
  5. Minimize unnecessary elements on screen
  6. Use one page apps where it makes sense
  7. Do less searches. If possible do one search and reference other elements from that. (i.e. use parent groups)
  8. Minimize unnecessary pages

Hope that gets it started. If I think of more I can add to it. :+1:

Hope that helps! :blush:

@j805 www.NoCodeMinute.com

For All Your No-Code Education Needs:

  • One-on-One Tutoring
  • eLearning Hub
  • Video Tutorials
  • No-Code Classes
7 Likes

Agree with Jason above, here’s my bubble stack…

  1. Lean data-types
  2. Progressive workflows
  3. Custom styles
  4. Single pages
  5. Responsive breakpoints
  6. Hidden until called
  7. No plugins
  8. Limited revisions
6 Likes

I recommend building sequentially – build a feature, test for speed, if OK proceed, if not go back and figure it out. That way you have a good sense of how much speed each feature takes and can isolate issues.

Some guides I consider essential reading on performance are:

10 Likes

Thanks! What do you mean by "lean data-types "and ā€œprogressive workflowsā€?

1 Like

@J805

poin 8, do you think unecessary pages will affect app performance? I usually keep quite a lot of unused pages just for backup for my app’s prev version

Anwar

  1. Lean data-types:

If you know the ā€˜data-type’ is going to carry more than 10 ā€˜list-of-things’ break it down.

  1. Progressive workflows:

If at first glance I don’t know what a workflow does, it’s probably too complicated… so I only ever do 1 action at a time and if the action is used more than once, I would truncate it into a custom workflow and drop it into another workflow to make it 'progressive.

Let me know if you need further clarity.

3 Likes

I know for sure it affects the performance when using the editor and loading your app. :blush:

Is this achievable? There are many plugins I feel are necessary when using Bubble.

1 Like

From 10 years building tech, this is a mindset that always works:

There’s ā€œhow it feels likeā€ and ā€œwhat’s really happening.ā€ Try an hide as much as you can fro your user. Give the impression that everything is fast by giving near-immediate feedback, then process stuff in the back.

Design custom loaders, gif spinners, and use animation to give the impression that everything works instantly while hiding processes in the back.

In Bubble, save stuff inside states, show instant results (or temporary results) while you fetch data.

Throw any workflow longer than 3 steps to the backend. Anything UI related that your users need immediate feedback, by all means do them in the front. However, using the backend for workflows is awesome, and it allows you to reuse these workflows from anywhere in the app.

Instead of searches that need to sift through gigantic lists, try and nest a small set of that data where it will be referenced (like a user’s total orders, for example).

@J805 @nomorecode These are gold, as well! We should have a wiki or Sticky thread somewhere, @emmanuel thoughts? Performance is the general pet-peeve of Bubble newcomers, and bad performance is usually just lack of experience setting stuff up.

9 Likes

Yes @alejandrowunderlich, thanks for the reminders. Backend workflows are amazing for speed.

This also reminds me of another idea.

Don’t delete things if you don’t have to. That process takes too long. Just have a field called delete y/n and when it says yes then just don’t show it. Instant delete!

Then you can ā€œDelete, delete, delete!ā€ All you want. Anyone get the reference there? :rofl:

2 Likes

Once delete is set to ā€˜Yes’ you could sched this to run at X without the user ever knowing :slight_smile:

2 Likes

In my short but thorough time with Bubble, if you can’t do something native, then don’t do it at all. There are some poorly dev’d plugins out there, not to mention the time needed to even search the plugin inventory. Keep things lean, instant, rinse and repeat.

1 Like

Just out of curiosity, what plugins do you deem as necessary?

There are a couple, the Fuzzy Search plugin from @seanhoots, Rich Text Editor to name a few.

Solid replies guys! I’ve gone through and implemented a few. I especially like the delete y/n one; thanks @J805

2 Likes

Ah, @nomorecode… I have always wondered if I am the only one around here with that mindset because I see so many responses in the forum that point people to plugins for just about everything. With all due respect to the fine folks who have built some really amazing plugins, I’m with you on native or bust because I don’t want to give up the level of control that comes with figuring out my own solutions.

The above being said, I have used a plugin or two in the past, so huge thanks to the folks who build them.

Best…
Mike

2 Likes

Nope and I don’t think we are alone @mikeloc, if I can’t do it native, I don’t do it at all.

2 Likes

Great post! Good valuable inputs from everyone which will benefit everyone reading this.

The RepeatingGroup Tools is the one plugin I felt we needed to get in order to accommodate what we were trying to do.