Monthly Community Update -- February 2023

Hi all,

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

This was a month of kicking things off for us: we got started in earnest working on our 2023 goals, which include:

  • Radically increasing our shipping velocity to evolve our product and solve your pain points faster
  • Improving uptime and reducing regressions
  • Making Bubble easier to learn
  • Finally making a major dent in run-mode performance, starting with page loads

As such, it was a bigger month for starting new things than releasing them: the “Changes we made this month” section is a little bare, the “What we’re working on” section has a number of new entries.

We also welcomed some new faces to the team:

  • Jessica and Cadyn, joining us on the Sales team
  • Jason, joining us on the Success team
  • Rabab, joining us as an accountant on the Finance team

If you would like to join us, check out our careers page here. As always, we highly encourage community members with solid Bubble skills and a love for helping people to join us as Technical Product Support Specialists.

Changes we made this month

Starting off the year with our focus on page load performance, we moved our new element rendering system out of the experimental feature tab and into Bubble version 21. The release itself was a little rocky in terms of our communication, but the post-release metrics are encouraging: for apps that have upgraded to version 21, we are seeing a 14% improvement in median page load time.

We also overhauled our Ideaboard where we collect feedback from you all on things we can do to make Bubble better. While we don’t always work through it in order of most-upvoted (we take the difficulty of implementation into account, as well as alignment with our current goals), we definitely read it very carefully and use it in internal conversations about what projects are likely to be high-impact for our users.

Another change to our website: Home → Templates now shows templates you’ve purchased in addition to templates you’ve created.

We partnered with Pricewell to release an official plugin: Pricewell is a no-code management platform that sits on top of Stripe Billing to make it easy to manage your subscriptions without code.

Finally, following up on last month’s release of the masonry layout for repeating groups (think Pinterest-style grids), we released a video explaining the new feature.

This month in numbers

  • Total new conversations with our support team: 13,674 (up from 11,951)

  • Average tier 1 (FAQs, account and billing issues) reply time: 34 minutes (down from 35 minutes)

  • Average tier 2 (app development questions and bug reports) reply time: 3 hours and 16 minutes (up from 3 hours and 5 minutes)

  • Tickets closed by the engineering team: 124 (up from 102)

  • Average days to closure by engineering for high priority tickets: 5.8 (up from 2.1)

  • Average days to closure by engineering for all tickets: 15.5 (up from 7.4)

  • Incidents and regressions (new, see “Things on our minds” below for details): 18

  • Of those, the number that are high-severity (greater than 20 bug reports): 3

Things on our minds

At the beginning of January, we re-organized our product and engineering organization into new teams to focus on our goals for the year:

  • A platform team, focused on fast, stable, scalable, and secure infrastructure as well as testing and releases
  • An editor and core language team, focused on driving continual improvements to the product
  • A growth team, focused on our early-user experience and onboarding
  • A team of Bubble developers focused on improving bubble.io (which is entirely built in Bubble with the exception of the editor)
  • A special-projects team, currently focused on the pricing work we are doing

One of the goals of creating a dedicated platform team is to professionalize our operations and up the level of quality we’re providing users. As one initial step, we are now tracking and reporting on all incidents that result in three or more bug reports, whether those incidents are caused by us shipping bad code, infrastructure issues, external changes that impact our systems, or anything else. See “This month in numbers” above for January’s statistics.

Our goal is to squeeze these numbers down as much as possible. An incident that only results in three bug reports is generally fairly minor: if we assume that for every user who reports the issue, 10 other users were noticeably impacted, that still means it only impacts 0.1% of active apps. That said, it’s generally indicative of a process flaw, test gap, or infrastructure vulnerability that could have the potential for greater impact, so we believe that disciplined root cause analysis and test building is important to drive our overall quality level up and prevent major issues.

On top of the structure and process changes, we are hiring for the platform team: we want to add additional cloud and QA engineers so that we have the bandwidth to proactively get ahead of issues. We believe these changes will take time before they start having an impact on platform quality, but that over the course of the year you should all start seeing a noticeable difference.

What we’re currently working on

As mentioned above, we started work on a number of new initiatives:

  • We are re-organizing the list of data sources and operators in the editor to make it easier to browse and use

  • We are making performance and reliability improvements to the editor drawing surface, which will enable us to add new features such as a Table element

  • We are working on phase 2 of improvements to our request for proposal system for agencies and freelancers: expect a launch soon!

  • We’re working on moving our interactive lessons into the new application creation flow, so that new users can get in-app coaching on how to build various features

  • We are making some updates and changes to the API for building server-side actions in plugins, both to fix some bugs and to enable upgrading to node 16, which requires switching from a synchronous to an asynchronous API

  • We are doing planning work for some smaller potential improvements such as resizing the elements tree, overriding properties set in styles, specifying a custom email for app notifications, changing URL parameters more dynamically, and getting access to the email confirmation token.

We continue to work on:

  • Version control improvements, which we are targeting for a March launch.

  • Replacing capacity with auto-scaling and updating our pricing accordingly: we hope to be able to share more details and solicit feedback in March

  • Overhauling our infrastructure, with the goals of enabling SOC2 certification, improving security, and setting us up for future infrastructure expansion

  • Moving off CoffeeScript and onto Typescript. We are now down to 1.9% CoffeeScript in our main codebase. Typescript is now up to 10.9%, with the remainder being Javascript.

Excited for the year ahead,

Josh and Emmanuel

51 Likes

What is the goal with Typescript, 100%?

1 Like

Code modernization. Also, some folks just love strong typing. Fits.

1 Like

@josh These posts are the highlight of the month on the forum. Thanks for so much transparency. Looking forward to the enhancements on the plugin side of things. When then negative sentiment outweighs the positive, remember all of us who believe in Bubble and recognize that it is an amazing platform!

7 Likes

What I mean is that they said they wanted to get CoffeeScript down to 0%, but I checked and could find any % goal for TypeScript in past Monthly Updates (Boy -look). So I am wondering if the goal is to replace JavaScript with Typescript completely.

TypeScript is just an editor-side conceit that some people like. It all transpires down into proper JS at the end of the day (which is to say, proper JS code without any opinions about dumb stuff like type constraints, the differences between var, let and constant, etc.). Me, I’m on the side of the machines.

Thanks, understood :slight_smile:

1 Like

“focused on the pricing work we are doing”

oh. didn’t realize that whole thing… was still a thing.

1 Like

Good to know that you are working on it :sweat_smile:

4 Likes

Hey @josh

Does this mean EU servers?

4 Likes

Hi @josh ! Is there any update on app file security? There are some pretty big holes at the moment and this impacts a lot of enterprise needs for bubble applications.

2 Likes

I know it’s small, but I’m excited for this!

3 Likes

Eventually, yes, although we expect a lot of the benefit to come from certain areas of our codebase and might slow down work once those are done.

Eventually, yes, although there’s a lot of prereqs we have to hit first, so don’t hold your breathe on timing. We’re aware that more affordable European servers is a huge ask from our EU users and agencies. (For projects with the budget for it, you can be hosted in the EU today on custom plans).

We generally don’t discuss specific security issues publicly until they are fully remediated to avoid putting user apps at risk. There are some configuration issues we are working on changing that we don’t regard as high-impact but that might be an issue for specific customer requirements. If you have a deal or project that’s blocked right now, I encourage talking to our sales team if you haven’t already, because we may be able to find a work-around for your application. If you think you’ve identified security issues that we are not aware of, please email us at security@bubble.io.

4 Likes

Hi @josh,

Thank you for your quick response. I will move the conversation to another channel!

specifying a custom email for app notifications

Does that mean finally moving away from locking users into a specific platform (SendGrid) for app-generated emails? :crossed_fingers: :pray:

(More specifically: emails related to the signup process, forgot password, etc.)

1 Like

@JoshBuildsABiz That just sounded like a different email than the account email for when capacity hits max, etc.

However this

sounded like maybe the last action that we couldn’t get the token out of to send in a separate email action?

2 Likes

Yes, likely just wishful thinking on my part @tylerboodman . So peculiar to force people to use a specific (in my experience, inferior and bug-ridden) platform vs. having the ability to choose. Something I asked about 2.5 years ago when I first started using Bubble.

They are forcing you? You can use API connector and do any email service. The confirmation email action I believe is the last action right now you can’t get the token out of to send in a separate action.

3 Likes

Yes, right now (and historically) it is impossible due to not having access to the token.

1 Like

I’m an alpha tester on this and:

  1. it’s really powerful. This area of Bubble is about to leapfrog from one of its weakest to one of its best.
  2. Weeding out the bugs via alpha groups is the model for safer new features / avoiding head-in-hands launches - it’s gone from buggy to stable. :clap: to more care, less speed.
13 Likes