Monthly Community Update -- August 2023

Hi all,

This is our August community update! Read last month’s update here.

Three big things (and a few small things, detailed below) shipped this month: real-time workload reporting, our new Table element, and Microsoft Azure OpenAI Service’s official Bubble plugin. These are features that I know many of you have been eagerly anticipating, so I’ll dive right in.

Changes we made this month

We released the new Table element last week. This was one of the most upvoted features on the ideaboard and has been a long time coming. Tables are similar to Repeating Groups, except they’re made specifically for formatting things more like you’d see in a spreadsheet, with a static row (like for a table header), repeating rows, and columns that align all the content. Again, the team has pulled together more information and an interactive walk-through here.

Real-time workload reporting is now available via the charts in your App Metrics tab. We also added the ability to see minute-by-minute data for the last 24 hours, better drill-down capabilities to help understand which activities are consuming workload, and more. The team put together an interactive walk-through, which you can see here.

Microsoft Azure OpenAI Service has released their official Bubble plugin. It makes connecting to OpenAI’s models much faster and easier than going through the API Connector. Right now, only businesses are eligible to apply for Microsoft Azure accounts, so you need a business domain email address to use the plugin. That said, we are working closely with them and are hoping to bring open access to everyone in the future. (Fill out this form to be the first to hear if that happens.) You can read more about the plugin on the blog, and check out the ChatGPT clone template Microsoft built here.

In terms of other releases, the team fixed a long-standing bug in API calls that prevented “Current User’s is/is not empty” from returning “is empty” when it should have. We also improved the functionality of the property editor when you are selecting multiple elements, eliminating the “apply to all elements” step. We added clearer, easier-to-debug error messages for some common API workflow errors. We added a User-Agent field to external API calls so that partners will know that the call originated from Bubble. And finally, we added a new code obfuscation feature for plugin developers so that you can protect any sensitive, client-facing code.

This month in numbers:

  • Tier 1 (FAQs, account and billing issues) handled tickets: 4,964
  • Tier 2 (app development questions and bug reports) handled tickets: 2,593
  • Average tier 1 reply time: 52 minutes
  • Average tier 2 reply time: 2 hours, 23 minutes
  • Tickets closed by the engineering team: 77
  • Average days to closure by engineering for high priority tickets: 3.8
  • Average days to closure by engineering for all tickets: 10.6
  • Incidents and regressions: 6
  • Of those, the number that are high-severity (greater than 20 bug reports): 2

What we’re currently working on

  • Manipulating bulk data quickly and reliably: We now have a team working on this full-time. They’re currently doing a bunch of smaller performance improvements and fixes while planning out larger projects.
  • Overhauling the dynamic expression composer to support mid-expression inserting, parentheses, etc.: We’ve updated interaction models from just the basic composer to the text composer in the Property Editor, and we’ve started user testing for these new interactions. The team is working toward a public beta launch next month — keep an eye on your experimental features tab (and the announcements channel of the forum, of course).
  • Adding properties to reusable elements, to make them much easier to customize and bring them closer to native elements in terms of capabilities: The team is aiming to get this into beta testing in August.
  • Single Sign-On (SSO) for larger organizations on Custom plans who want to let their team log in to the Bubble editor using their own identity provider: We finished QA, and we’ve started private beta testing. Excitingly, 20+ identity providers will be supported, including Okta, Azure, Google, Auth0, and Duo.
  • Page load performance: We’re currently working on under-the-hood improvements that will allow us to significantly decrease the amount of JavaScript that we send each time someone visits a Bubble page.
  • SOC 2 certification: We completed our audit, and we’re awaiting a report from our auditors. A big kudos to the team on this major milestone!
  • Moving off CoffeeScript and onto Typescript. We are now down to 1% CoffeeScript in our main codebase. Typescript is now up to 21.5%, with the remainder being Javascript.

What’s next on the roadmap

Looking further down the roadmap, we have a few things to preview: First, the team that’s currently working on the expression composer will soon transition to the feature of returning data from custom events, which we previewed at the Bubble Developer Summit (35:23).

We’re also committed to continually improving our design canvas, which is one of the most important parts of our product. Last summer’s launch of the Responsive engine was a major step forward. Next, we’re planning to add pre-set “breakpoints” for mobile, tablet, desktop, plus the ability to set custom breakpoints so you can customize your design without relying on so many conditionals.

And, of course, our internal AI team remains hard at work. More updates coming soon!

Other updates

The first round of waitlist invitations for the Bubble Developer Certification began rolling out this month, and we officially have our very first batch of Bubble-Certified Developers! Congrats to these folks, and another huge thanks to them for their help as beta test-takers.

The team also recently launched individual certificate pages on Bubble’s website to give folks who’ve passed another way to share their official certificates - check out Maria, Sam and Andrew’s! If you haven’t yet, you can join the waitlist for the exam here.

Team news

Over the course of July, we welcomed 9 new team members, an AI resident, and two more interns!

  • Elena, joining us as a senior data manager
  • Sammi, joining us as a senior manager on our technical success team
  • Enis and Mirea, joining as technical product support specialists
  • Ricardo and James, joining as software engineers
  • Jennifer, joining us as a lead technical product manager
  • Rhys, joining us as a senior product designer
  • Eunice, joining as our new marketing analytics and ops manager
  • Yunzhe (Daniel), joining us as an AI resident
  • Hung, joining us as an engineering intern
  • Jenna, joining the Product team as a user research intern

And in case you missed it, check out our most recent employee spotlight on the blog, a Q&A with one of our marketing interns, Kelly.

Ways to get involved

A few last reminders:

  • We’re hosting our first-ever user conference, BubbleCon, in late October. It will be a hybrid virtual and in-person event. Sign up here for updates!
  • Agencies and freelancers: Don’t forget to visit your account settings to set up your new Agency profile page for our directory.
  • If you haven’t yet, join our community Slack workspace. It’s a great place to network, plus it’s where we often invite folks to private betas for new features.

Thank you all for your support, and wishing you a great rest of the summer,

Josh and Emmanuel

39 Likes

Implementing preset breakpoints for different devices, along with the flexibility to define custom ones, sounds like a tremendous improvement. As a developer who currently relies heavily on conditionals for group and text resizing, this feature would be a massive time-saver for me.

8 Likes

Hey @josh, does this mean Europe servers in all plans?

Thanks a ton.

6 Likes

Hello @josh

Please note that the Azure form is restricted. Submissions are not possible.

4 Likes

Thanks for these updates Josh!

Excited for this!

Thank goodness! I’ve lost count of how many conditionals I’m using in REs, etc…

Also to cut down on conditionals, it would be very helpful to have an easy way to implement dark/light themes in apps. For example, with the new Style variables, there could be a “light” and “dark” version of each color, and through a workflow we can switch between the light and dark themes. Would also make it easier to maintain the app going forward.

5 Likes

:smiley:
:+1:

 
 

@josh, does that mean the current parentheses experimental feature will likely not be released as is? Or will its release just coincide with the new expression builder?

1 Like

Will using the Microsoft Azure OpenAI Bubble plugin increase performance? If so, in what kind of quantifiable terms?

2 Likes

Will this in turn reduce the WUs required to load a page?

Would love to hear how Bubble imagines how the internal AI will either replace Bubble developers/trainers or how Bubble developers/trainers will leverage the AI to work in tandem with it. Also, interested to hear the expected impacts on development time and therefore the impact of development agencies needing to upgrade their marketing game to onboard more client projects to compensate for shorter development times through the use of the internal AI.

Is there any expectation that the certification could not be just a pass/fail and instead have an actual number applied to it?

As always, appreciate the update and love the insight into the going’s ons.

Would it be more convenient to have the ability to set those conditions in the styles of the different elements?

For me, I usually would break the text a bit differently depending if it is a Header or Body text, so I’d personally rather see the ability to add these conditions to my styles rather than to the app as a whole (which I think is what the feature would do?).

1 Like

Indeed, fine-tuning layouts in the responsive format is something I often find myself needing as well. It’s not just about resizing the elements, but also adjusting their alignment relative to other components on the page. While there is an option to adjust the font size based on the page width, I believe a text element that can self-adjust its size according to the page width, while also adhering to a set width, could be incredibly useful.

A common challenge I face is having to switch a group’s size from percentage-based (for scalability on 4K displays) to pixel-based when viewing on mobile devices due to the shift from landscape to portrait mode. If Bubble could introduce a feature that allows setting both maximum width in pixels and percentage simultaneously, or streamline the adjustment process, it would help my design and solve many of my persistent issues.

1 Like

Nice!

I remember a time when bubble apps are not responsive was a thing. No one says that anymore.

Would love to get rid of bubble apps can be slow mantra as well.

All other updates are super exciting as well

Thanks
Zubair

4 Likes

I just end up using custom CSS to overcome this, but yes, great idea to have a conditional ability to change between px and % when setting our width and heights.

They should be able to implement it as I think it is just simply having a value of font size to be vw or also rem. I do like the idea of using the custom CSS currently to implement the idea of Fluid Responsive Font Size in the second article linked on the rem text.

2 Likes

Any update on mobile load issues & Google web vitals INP flags?

1 Like

Good stuff! I will say that my app has gotten faster in the past month and I’m hyped to see it load even quicker. Couple questions:

  1. For the bulk data manipulation, will this speed up backend workflows as well or only the Bulk button workflow from the data viewer? Also is this related to the changes you were exploring around looping?
  2. Any updates on the editor bugs? There have been numerous little bugs (you can search the forum for some examples) that have persisted for days and even weeks. Before these issues got resolved same day.

How can I get permission for my company? The form is restricted, says…

2 Likes

Hi @josh , thanks for the updates, some exciting things coming down the pipeline. I was looking for clarification / more details on 2 of the points you mentioned that are currently being worked on:

Would this lead to reduced and more efficient WU usage for bulk data operations? Right now I’m clocking in around 1RU per line, so even on a DB with only 5000 lines a single change can prove costly.

Will this lead to reduced loading times on first load? Right now I’m seeing around 5-8 seconds to load an-almost blank page with no plugins, which I know can affect SEO as well.

Thanks!

3 Likes

Yeah the editor bugs are everywhere at the moment! Nothing huge, but a lot of little niggly things…we’ve been joking that it must be intern season at Bubble :sweat_smile:

Also a bug with some custom workflows (that have been in there for months) suddenly causing ‘we’ve run in to a temporary bug’ things. Sigh.

But on the whole very happy to see the momentum this year, and excited to see what the next 12 months brings :slight_smile:

2 Likes

What design patterns can we be using now to minimize effort in the future to modify expressions to instead reference pre-set and custom breakpoints once they’re available?

3 Likes

Please make a “Create a list of things” action :pray: Where we feed it a list of one datatype, and map fields to the fields of the new datatype

The collective amount of time wasted trying to properly set up the Data API - Bulk Create (and getting the result of from that step…) is :man_facepalming: worthy

8 Likes