Leaving Bubble for more traditional development?

I love Bubble. It has allowed me to build a prototype, launch a product, and scale affordably and rapidly. However, Bubble has some limitations for the functionality we need. So when planning for our next version, we’re planning to take the leap from Bubble (I know, I’m equally as sad).

If leaving Bubble, we will pretty much be starting from scratch - besides our design and workflow ideas, we won’t be able to output any source code, correct? TIA

1 Like

Which limitations do you have?

1 - Speed, not necessarily with Bubble itself, but some of our tools use plugins. We have >1k users simultaneously try to use the same tool, which causes timeout issues from some plugins.
2 - Interactivity. I’m in edtech which has a lot of student-student and student-teacher interactions, all simultaneously. So when one person makes a data change, this needs to update in real time for the other users (like a websocket). This update time (via do a search for…) isn’t consistent, sometimes a second, sometimes 10, sometimes requires a page refresh.

Let me know what you think. Thanks!

Just FYI: https://manual.bubble.io/the-bubble-fundamentals/application-ownership

“Bubble apps can only be run on the Bubble platform; there’s no way of exporting your application as code. If you decide to move off the Bubble platform, you’ll have to rebuild the application logic, although we can help you export the design. We’ll do our best to help you leave if you want to.”

Also:

Bubble was having issues with this the other day. Data wasn’t being updated on the page instantly like it was before. They fixed it within a few hours though. So this should not require a page refresh anymore. Just wondering if this bug was just on Monday or not?

PS.

@nocodeventure has a good point, if something is running slow, there are so many other ways to access data. You may need to just re-structure your data or, just simply, access it differently.

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
3 Likes

Thanks @nocodeventure and @J805 - I appreciate it. I’ll take a look and see how I can restructure our database.

1 Like

No problem. I have learned a lot about optimizing data and workflows over the years. It makes a huge difference. There are a few resources to check for optimizing your project:

Forum Post: Performance Q&A guide

Manual: https://manual.bubble.io/architecture-optimization-and-limits-of-the-bubble-engine/performance-and-scaling

2 Likes

Thanks for your help, and providing links!

2 Likes

No problem! :blush:

Another option after you exhaust all dB and logic improvements, is to explore a dedicated plan with the Bubble folks @emmanuel . They are there to help apps scale with them. It is the foundation of their business model :+1:

3 Likes

Thanks I’ll check into it :+1:

1 Like

And I will add this suggestion to the list: don’t hesitate to communicate with plugin author to check if there’s not an option to help you with speed or timed out issue. Don’t forget that a plugin is created using JS and if you replicate this in traditionnal dev, you may just face the same issue. So in most case, there’s some fix to applied to make it work for you :wink:

3 Likes

Can you explain this a bit more… how do you not ever do a search?

Relational database scheme

1 Like

We added pusher.js to solve nr 2 (websockets). And we have events that trigger and do stuff realtime.

2 Likes

Thanks I understand relational databases.
I was just wondering what that looked like in bubble.
Are you using joining tables then having a path from the current user

Example current users things, things1, things2, field?

As opposed to having current user saved in things2 and doing a search
Example do a search for things 2 where user = current user.
I would have thought the second example was a better method as your not loading unnessesary things haha

Yep, but you will also need to connect back to User on each thing, that way you can do a lot of cool stuff with the data. :wink:

So … if I understand correctly … in your apps any “thing” has a user single record to it other than the “created by”.

… If so … it is difficult for me to visualize different types of apps where all things in the dB can have this setup. … Well … that is just me! :+1:

Do you find doing a search for a user becomes very slow? I was under the assumption that when creating a relation on one thing of another type, when searching for that one thing all the data from the other type is having to be loaded as well.

So for example, if the user has a related list of jobs and the jobs type has a list of images, when you search for the user, the list of jobs is getting loaded as well as the list of images on each job in the list.

I was doing some tests a while back for performance in terms of utilizing related data types or doing a search…for some instances it was faster to do the search than to rely on the related data types.

The reason for the test was I found loading a list of users became slow when I related a data type of ‘analytics’…trying to fetch the analytics by doing a search for analytics constrained by a text field of the users unique id fetched the analytics just as fast as using a related data type of and doing current users list of analytics; the end result was when I searched for a user it was faster as there was no related data type of analytics.

I’d be very interested in checking out the course if part of it is demonstrating the different methods and the differences in performance…that will make it really beneficial in understanding some best practices.

2 Likes

Will look forward to it! Thanks for sharing.