Hi all,
This is our February community update! Read last month’s update here.
We’re starting to feel like a broken record saying this, but our main focus as a company right now is hiring and building the team. We’re short-staffed across the board on everything we want to be doing, and we have a very ambitious set of goals for the next year, so getting the right team in place is crucial for us. On the product front, we have three main goals driving a lot of our efforts: make Bubble’s performance really fast, harden Bubble’s security posture relative to external standards such as SOC2, and make it easier for new users to ramp up and onboard onto the platform.
We welcomed five new people to the team this month:
- Jessica joining the engineering team to lead our agile development processes
- Sofia joining the Success team
- Andrew joining as an engineer
- Vaed and Peter joining us as engineering interns
As always, our open roles can be found here. As mentioned in previous updates, these two roles are ones we think are particularly interesting for current Bubblers:
-
Technical Product Support Specialist: help us do deep investigations of user-reported bugs and issues. Does not require programming experience, but previous Bubble experience is a big plus!
-
Video Producer: help us create amazing educational content to accelerate the learning curve of new Bubblers!
Changes we made this month
As a part of our ongoing performance push, we made a number of small improvements, including some fixes to situations that can slow down loading the editor, improvements to the editor for apps with many version control conflicts, and improvements to performance for apps that have a lot of reusable elements.
We shipped a small improvement to version control to make it easier to revert as well as a few more version control bug fixes.
We also made a number of small product quality and polish improvements, including:
- The debugger now shows when a property on an element is coming from a style, and can properly display date and number ranges
- Improved the handling of expired magic link tokens
- The ability to specify the type of an ordered list in bbcode
- For our Stripe plugin, the ability to add a subscription_id in the Add Invoice Item action
- … as well as many bug fixes
We continued to release bug fixes and improvements to our new responsive engine, including the ability to allow layout and sizing properties to be conditionally changed.
Finally, we partnered with Daily to release a new video conferencing and chat plugin.
On the community side of things:
- We launched a new bootcamp format, Jumpstart Assembly, for people who want to get started with a smaller time and cost commitment
- We’re launching a #BuildInPublic initiative to encourage people sharing their building journey with others
- We’re preparing for the next Immerse cohort and will be opening applications shortly
- We’re working with a few schools on no-code incubators, offering education and mentoring to young entrepreneurs
We have a number of new blog posts this month, including:
- The story of Danish entrepreneur Maja Overgaard who sold her Bubble app, which was an airbnb-style marketplace, to a major European company
- A tutorial on using Preflight to test your Bubble app
- A walkthrough of how you would build an app like Quicken Loans in Bubble
- Five new App of the Day posts profiling various members of the community
- A profile of one of our Bootcamp instructors, JJ Englert
This month in numbers
-
New conversations via bug reports or support@bubble.io: 7,689 (down 5.4%).
-
Average first response time to messages: 6h 41m during business hours (up 2.6%)
-
Average response time to messages: 6h 36m during business hours (up 4.8%)
-
Open tickets being investigated by the engineering team: 63 (down from 74)
-
Of those, tickets that have been open longer than 7 days: 35 (up from 32)
Things on our minds
The last week was pretty disappointing in terms of uptime: we had two significant outages, on the 26th and on the 1st. While the causes for the two incidents were different, zooming out, the bigger pattern behind them is continued growth and load on our key systems and us falling behind on proactive maintenance. On the infrastructure side, we’ve been investing heavily in improving our observability, which should help us get in front of brewing problems rather than responding after things are already down, but we’re still doing a lot of the legwork there and haven’t realized all the benefits. We’re also still aggressively trying to grow the engineering team; right now we’re mainly focused on bringing on management and experienced engineers since our current team skews junior, although we hope that by mid-Spring we’ll be pushing hard on both junior and senior hiring.
What we’re currently working on
Our major performance push, focused on data loading and rendering, continues. We’re continuing to work on optimizing invisible elements, building a data dependency graph to optimize querying, and generating HTML and CSS upfront instead of on the fly. All of these are major projects and we expect them to take months to quarters of work, though for some of them we expect to see performance improvements along the way. We’re also pursuing smaller performance bug fixes as we find them.
Another note on performance: the new responsive engine performs significantly better than the old one, because the old engine relies on a lot of Javascript-based manual manipulation of element positioning, whereas the new engine relies on CSS, which is much faster. So we see continuing to improve the new engine and making it easier for both new and existing projects to move onto it as a major performance priority as well. Some of the upcoming performance work we’re doing will only benefit the new engine, because it builds on top of the technical changes the new engine introduces behind the scenes.
Speaking of the new responsive engine, we’re working on the following features:
- Padding controls
- Row / column gap controls
- Drag-and-drop interaction with the elements tree
We’re also doing work around the new user experience and general in-editor education, to make Bubble easier to ramp up on for new users. This involves fixing some ongoing painpoints such as how long it takes to load the plugin installation UI, as well as tweaks to the onboarding and new app experience.
Another workstream we’re kicking off is an overhaul of our network architecture with the goal of hardening our security posture. We aim to be SOC2 compliant by the end of the year, and this is one of the key prerequisites.
As mentioned above, we’re continuing to improve version control, both from a bug-fixing and feature development perspective.
On the QA front, our outsourced partners have now built 332 tests. For migrating code to Typescript, we’ve now actually started the Typescript-ification part of the process – we have one file in our main codebase that’s in Typescript – and we’re making slow but steady progress off of coffee-script, which is down to 45.5% of the codebase.
Thank you all for all your support, and have a great February!
Josh and Emmanuel