What is Bubble?
Bubble positions itself as a no-code platform that provides a user with a visual constructor both for the UI and the backend part. The database and hosting also go as part of the offering. So, it seems like you’re all settled.
However, there are at least three red flags that should put you on the alert. I’ll highlight those that impeded BI development for us, with BI being our core expertise.
Beauty has its price
And you aren’t gonna like what a good looking component in Bubble is going to cost you.
Bubble has a huge component library known as Bubble Market. This is mainly how the quick win effect is achieved on this platform. Let’s have a closer look at how it happens.
Building interactive charts, graphs and dashboards is easy with Bubble. Just connect to your data source, press a few buttons and voilà.
A dashboard made using Bubble. All values are blurred to preserve client's confidentiality
At this point, let’s have a closer look at the table components. Some of them go for free, but the one below – it has more advanced table characteristics (search, settings, etc.) – will cost you $30. I’d also like to mention that this one is the most popular component with top rating and the best community support, so you probably won’t get any better one on the Bubble platform.
A Table component in Bubble, no code development platform
Obviously, if your entire application doesn’t revolve around tables alone, you are going to pay more for extra components. Imagine how many components an average corporate BI application would need, and you’ll see how the no code development process translates into an infinite paycheck.
There’s another tricky moment with licensing in the Bubble Market. Say, a single license applies to a single application. For two and more apps you should get more licenses. Nothing personal, just business, so keep it in mind.
Data import and processing: It's a long way to the insights
Any BI project (be it conventional, no code BI or low code BI) implies pumping your visualization system with data. In case you have trouble doing that, the whole project goes awry.
There are two things you should know about data import in Bubble.
First, you can do it via the Bubble API and Bubble API only, with the said API unavailable during a free trial period.
Second, data processing is a huge oversight in Bubble. Data literally makes a double round trip before it appears on a dashboard. The thing is, Bubble lacks any other data importing mechanism other than through forms editing. Look at the picture below to see how data from an excel gets into Bubble.
In case data is imported from a file, the following data import sequence is valid for Bubble:
Document is uploaded to the Bubble storage → External API connects to the doc, downloads and parses it → The doc is imported back as data readable by the Bubble platform via the Bubble API.
As if that wasn’t enough, I cannot improve my code performance in Bubble in any way, as I cannot run some 3rd party service or code (Lambda functions or an alternative) directly in my Bubble account. I’ll have to do it elsewhere – AWS, GCP, or Azure Cloud.
So the whole data import and processing is a bit of engineering nonsense, which eats up quite a lot of resources in case your data volume grows massive. Although I’m not sure your BI prototype will grow any further than that, if you continue using Bubble. This ain’t the place where some complex analytics is built, given the limited customization options (data validations gave us quite a hard time to do) and the computing powers that come as part of the standard hosting offering (175K workload units, they call it, whatever that means). Which leads us to the next section.
Vendor lock-in alert!
Everything you have on the Bubble account stays forever with Bubble. Database backup is stored in Bubble unique format, so you can't just recreate the database from the backup. You can do it with almost any DB engine like MS SQL, Oracle, Mongo, but not with Bubble. Nuh-uh.
Forms, graphs and charts are all stored within Bubble in Bubble-specific format, too, which won’t reproduce anywhere outside the Bubble environment. One doesn’t simply move their assembled systems from Bubble, despite the fact that you already spent a decent amount on the components.
Wait. There’s an option to buy out a sort of a Bubble island and place it inside your in-house or cloud environment of your choice to gain the ownership of the system you’ve built. This will cost you quite a sum, but for big players this may be a better alternative than paying $29/month for 50GB of memory storage.
As far as AWS goes, 1GB of memory storage costs $0,023 there. AWS would allow me hosting around 1TB for $32, depending on a tier. You feel the difference, right?
But the components! You don’t have them in AWS! Ah, the components. Here comes the finale where I add some clarity about the so-called pre-built components.
My verdict and a counter proposal for you
Pardon my pragmatism, it’s just 18 years in software development that don’t let me see Bubble through pink glasses.
A full stack engineer would do the same prototype using React and NodeJS as fast or faster. With a nice combo of React and NodeJS, your software would look better, feel better, perform better. In terms of velocity, low code is no different than component-based development, while performance, storage and interconnectivity are huge issues with low code. Frameworks and libraries aren’t sitting and waiting for the low code movement to push them out of the market. So, before you start with your low code project, make sure boilerplates and component-based development cannot offer you the same benefits (if not more of them). Great boilerplates with basic pre-built functionality are available for download on Github, while every decent custom software vendor would also have their own boilerplates ready to accelerate prototyping and custom development. As far as UI components go, try Telerik. Pay once, enjoy forever.
Last thing for you to know, low code development oftentimes is equal in terms of cost to full stack development. It shouldn’t be that way. The ugly truth about no code platforms is that it was meant to free you from those development paychecks. In reality, without deep computer literacy and at least basic development knowledge (which few business folks have time to acquire) you get the toy you don’t really know how to play with.
But since everyone out there is talking about no code/low code benefits (and everyone cannot be wrong), here’s a bit of positivity for you from me on the matter. What Bubble is good for is unsophisticated data visualization, with no complex rules or validations, or deep analytics. It will also do for simple websites – and that’s important – if you can find the ready-to-go template in the Bubble market. This will save you time hands down. Wherever the available template doesn’t work for you, this is a red flag. Even if you’re going to build the simplest forms and tables, you’ll need a developer who knows how to do it in the Bubble platform. Or willing to learn to do it for you. This will affect your bill, as the cheapest freelancer out there won’t be able to do that.
One thing that makes me happy at the end of the day
One little thing about this project that makes me happy is that after a few demos with the investors, the client came back to us to continue with the application development in …Angular and NodeJS! Here’s how the same functionality looks when implemented using a mature library and a framework.
A dashboard made using Angular + NodeJS. All values are blurred to preserve client's confidentiality
Like many other low code or no code platforms, Bubble is an option to quickly test feasibility of your ideas and demo them to stakeholders. This dashboard development project was exactly the case. However, for larger initiatives, it places too many limitations in terms of data import, processing and the overall look and feel of the application. Add up subscription fees that aren’t going anywhere, and Bubble won’t seem half as attractive in terms of the app’s TCO, either.
What do other Symfa experts have to say on the matter?
Sergey Galuza, Solutions Architect and Founder at Symfa, shares his viewpoint on the low-code movement here.
Dmitry Kurbatov, Delivery Manager, Scrum Master and PO, wrote two blog posts describing his experience implementing OutSystems, a low-code platform, for our insurance client. Here’s the link to the first and second part.