Bubble for real: product to engineering process, engineering teams, maintaining quality

I would like to start a discussion about using Bubble for real… Okay, I know most of the people here are using it “for real”, so maybe I mean “for real, for real”. I am an experienced CTO, but Bubble is new to me.

The product is great, and I am happy to give it the chance… build real product, launch and scale. I think it can do it. But the surrounding toolset and practices around velocity and quality are less clear. I wonder if there is space for some conversation about best practice, swap some ideas and son on?

3 Likes

Here’s my first question: In a micro-startup, with a single founder who owns the idea and is executing the build, all is easy. However, once you start growing the team and have multiple Bubble engineers (Bubblers?) how do you manage their work so they can all work on the app at the same time? In traditional engineering we would use Github or similar and pull branches, use merges and commits, but those same tools are not available. What are people doing out there?

With respect to quality… so many questions here: I am used to three or four platforms, dev, staging, production, with places for unit testing, for integration testing etc. But don’t see the same facility here, just version-test and live… Any ideas?

And again, quality: How do we test? At the moment, there is only manual QA. No unit tests. Without unit tests, how do we avoid performing end to end QA for the whole app? And if you are doing that, which takes all day, then how do you keep iterations small? I don’t want to deploy every day, if it takes all day?

Happy to see people add questions, ideas, anything related to using Bubble in a small, but not micro setting… going on large…

On the upper plans you get more versions. You can create multiple versions and then publish back to the main branch.

1 Like

Yes, I have seen that, we have a paid for plan. However, I am used to engineers working on features on branches, and merging just that back. With Bubble it seems you can copy a whole version. I see the merge facility, but it does seem to be broken right now… work is lost, or overwritten, errors are introduced. Is there anything out there we can trust?

1 Like

Great initiative @andy24 , I am a (non-tech) CTO, launched my app last year, and we are growing really fast in programming aspect as well as in the market. I need a lot of guidance regarding how to work efficiently (remotely) with a team of different bubblers from different countries, how to scale the startup, what other tools are being using together with Bubble for an efficient production process and team productivity?

Any ideas, guidances or articles that target case of Bubble Startups?

1 Like

Automated testing - consider using pre-flight Bubble App Testing Made Easier
Pre-flight is the only current option I know of that talks about Bubble.

But no reason to think that you couldn’t try shoe-horning in some Selenium type testing.

1 Like

Yes, that is exactly the set of questions I am looking to answers here. It feels to me that quality is the most difficult challenge with using Bubble. How to carry out QA - particularly unit testing - it seems impossible. And how to keep iterations small - I would like to deploy daily, but cannot if that means a whole end-to-end QA every time.

Yes, I think any front-end testing technology would work. But how to unit test new code so as to be able to deploy small iterations?

One other thing on my ever-lengthening to-do list is unit testing Plugin code. The approach I am cooking up is to check out the plugin code from Github, run the plugin code outside of Bubble and test with Jest. ie test inputs and outputs of my action methods, especially error condition handling with API’s which are tricky to emulate running inside Bubble ie

function(properties, context) { ....

@lindsay_knowcode But is that not back in the world of trad coding (plug in code = code)?

Just for plugins :slight_smile: Plugins are great and necessary for extending Bubble.

1 Like

Part of it is how you structure your app and how your teams are aligned to new releases. Traditional ‘unit testing’ is approached differently in bubble, and it would be more like integration tests and front-end tests combined with Bubble’s built in ‘alert’ system that finds ‘things’ and ‘page objects’ that break as you modify your app.

An example: Try to build all of your functions as workflows. Then you can use Preflight, or Selenium, or even custom workflows to do basic integration testing by building ‘testing pages’ that only test those individual functions. Then also use Sel/PF for full end-to-end tests on your public pages.

I use Selenium on one of my production apps for smoke tests and am looking at Preflight for another.

As far as branching and merging and other traditional approaches, that completely changes with Bubble. For example, if you want to work in small increments, the entire team works on that release, much like a ‘mainline development’ strategy. Having multiple teams work on multiple versions and then merging them in bubble will be just as messy as traditional development methinks.

2 Likes

In terms of debugging and pre-testing new features in development, Bubble’s dashboard-esque development environment is conducive to tag-team testing. Working from a play-by-play script of documented use cases, we have a front-end designer step through the new features, while a back-end engineer monitors the logs, databases, and external resources. This is on top of unit-testing to ensure updates do not introduce regressions.

This is the thread I’ve been looking for, as a non-tech mostly-solo builder with real enterprise customers now. (I did direct a small IT unit in a university that did in-house dev with a full QA process). Thanks @andy24

I think we need more than one forum topic for this. @agiledood and @aaronsheldon would you consider building some resources, along the lines of what @petter has done? I’m sure people (me!) would pay for that guidance.

Maybe a Selenium-for-Bubble-for-Dummies? Other stuff like that.

And I am totally at the mercy of plugins as @lindsay_knowcode says. So resources on unit testing for plugins would be great too.

Is there a way to do this discussion, sharing, community support better than here on the Forum?

Thanks everyone.

I’d add to the list of engineering practices - observability - ie having event logging and monitoring working so you can get visibility of

  • front end javascript errors
  • failing backend workflows
  • all workflow exceptions
  • monitoring job running times

and alerting when things go wrong …

What I’ve started using is Loggly (mainly because it has a free tier that is “good enough” :slight_smile: ) but fully blown features when I need to get more serious.

Happy to give everyone on this thread free use of my Loggly plugin :slight_smile:
https://loggly-demo.bubbleapps.io/version-test

3 Likes

I’m glad I came across this thread as I have all these questions myself. I’ve checked out the services mentioned here - Preflight and Logz.io - and they look helpful but I’m not sure about full coverage. Preflight seems especially pricey as I’m planning on frequent releases, if I understand the test runs correctly.

I would love to keep this thread going and contribute back as I implement and find a general solution. I’m at the stage where the app is feature-complete for beta release and we’re going to be bringing on users in a month or so. Between now and then I’m planning on getting broad QA architecture and processes in place.

@lindsay_knowcode your logz.io plugin looks great, I think I’ll try it out.

Any updates from others here?

@johndurso I’ve used logzio.io on a few of projects now and it’s proved to be vital in getting visibility between Bubble and 3rd party systems. Eg I have Cron type jobs running externally on AWS Lambdas, calling back into Bubble, and Bubble calling out to Lambdas - getting visibility that these are all running nicely would be impossible without Logzio.io (or something like it).

I’ve dumped Solarwinds - too expensive - and went down hill after being acquired. In fact I think I’ll remove it from the plugin - as I wouldn’t recommend them.

The other thing I’m about to add into the plugin is retrieving the alerts raised in Logzio into my Bubble dashboards - Bubble is still much better for activity dashboards - and no need to keep two windows open :slight_smile:

2 Likes