Forum Academy Marketplace Showcase Pricing Features

Working with sub apps

For the past 20 months, I’ve given assistance on an app that required the intensive use of sub apps and since the documentation so far has been vague and I saw quite a lot of questions around it, I thought I share my experiences here.

Why did we initially go for the sub apps?
The main reasons why we needed these sub apps:

  1. We needed separate URLs for each client
  2. We needed a separate database for each client
  3. Styling needed to be done differently for each client
  4. We needed separate email addresses that send out the emails for different clients.
  5. At the time, we needed an upgrade towards a higher plan for the first client (now main app). So this lowered the threshold a bit in switching towards a ‘production plan’ for this main app.

Would I recommend it? Not necessarily. There might be different ways in achieving some of these goals and it does give some extra head aches to align all environments.

Especially (2), (3) and (4) could have been dealt with differently:

  1. I’ve seen some options out there to set up different domains pointing to the same Bubble app, but for me they triggered more questions than they answered. A lot of them made use of redirects that caused a series of other problems (for example the use of parameters in the URL, sometimes a loss of speed in loading the right page, impacts on SEO, etc). If anyone has other experiences with this, feel free to share them in the comments!
  2. You should ask yourself: why do you even need a separate database? Consistent use of a ‘configuration’ parameter can achieve the same results.
  3. Even when using sub apps, you will need to arrange your difference in styles and color codes entirely through the database. Same goes for setting favicons, OG tags and description. There’s little to no need for a main-sub apps setup for this.
  4. This can be achieved by simply setting up your own email API with postmark, sendgrid or another service. The only downside might be that you ‘lose’ some of the standardized email features in Bubble, but it’s not worth moving to a sub apps construction for this.
  5. Although it was necessary to move to a higher plan for this one application, it also meant having all other apps on completely seperate plans. There is no pooling of capacity and you risk paying more than you would otherwise. For this project this wasn’t necessarily an issue as individual clients would also have to pay for their ‘usage’, but still.

Other things you need to know

Along the way, we learned a few things we hoped to have know from the start. Most importantly:

  • You can’t push to only one sub apps. It’s all or nothing at the same time.
  • When you push your main app’s version to “all sub apps”, it doesn’t just overwrite the version in your development environment. It also overwrites the live environment of all sub apps towards the version that happens to be live in your main app. This is especially painfull when you have the need to roll out a release per sub app separately (think off post-release actions you need to take, settings you might want to change in your client’s environment before releasing)
  • There is no logging on this ‘overwriting’ of software versions/releases that are done through the ‘push to all sub apps’ action. So if a bug appears: go fetch! Your logs might say you recently released to the latest version, but your app might have rolled back to ancient version ninja-style.
  • All admins can access the ‘push to all apps’ button. Working in teams can be messy in Bubble. While I trust all devs I work with, not everyone who has access to this button might be fully aware of it’s impact on all of your live environments.
  • Last, but not least: I don’t think this is a high priority for Bubble. As is the case with most features and tools for professional bubble users and agencies, it is not necessarily the focus of the team at this point. Taking into account that (as far as I can tell on the forum) almost nobody seems to be using sub apps, it’s doubtful the flaws in this sub-apps system will get a lot of attention or change is to be expected.

Anyway, those are my 2 cents. Feel free to add anything I might have missed! I’m curious to hear your thoughts! :smiley:

Pieter Moeremans
Build More

3 Likes

This is very helpful since there isn’t much documentation. Thank you for your insights! :blush:

1 Like