We’re extremely excited to announce one of the most fundamental updates to Bubble so far, which will take it to the next level. Our users can now contribute to the Bubble Ecosystem by creating plugins that can be used by other Bubblers. This is a major project, and while we still have many things to add, the platform is now open.
Types of plugins
You can build various types of plugins:
- Private plugins, which you can share among your own apps;
- Open source plugins, which you can share freely with the Bubble community;
- Commercial plugins, which you can sell to the Bubble community to support your development efforts.
At this stage, we’ve released the tools to build API-based plugins, that connect to data sources and can post data to services (Facebook, Mailchimp, Spotify, etc.), and headers plugins (such a Google Analytics) that let you insert a snippet of code into your app. Elements and Actions will come early next year. We will release the ability to build commercial plugins once Elements and Actions are possible.
Once we’ll have the full set ready, you will be to extend Bubble in pretty much any way. You’ll be able to write custom elements to control the appearance of your apps, as well as write custom server-side logic, while still leveraging the visual editor to put all the pieces together and take advantage of how fast it is to build with Bubble.
How it works
Anyone on Bubble can start creating plugins, private or open-sourced. Login to Bubble and visit your Plugins page. That’s where you create new plugins, and define your identity as a plugin builder (logo, name, etc.).
Once you’ve created a new plugin, you’ll be taken to the Plugin Editor. There are a few tabs that lets you define the plugin appearance: name, logo, etc. and build the plugins. The Headers Tab displays a code editor to type the headers that should be added to the pages of the app that installed the plugin and the API Tab lets you define the API connections that plugin offers.
The API part is very similar to the Bubble API Connector plugin: you define the different endpoints, ways to authenticate (Basic Auth, Oauth2, etc) and then run the requests one by one to define the data types. These types are important as they enable the end user to use the data in his apps. And if you already have some APIs working in your apps via the API Connector, converting them as plugins will be as simple as right clicking to copy them and then paste them in the Plugin Editor!
Testing & Publishing
You can test a plugin while building it by adding an app name in the Version Tab. This app will be able to install the plugin, and will get the latest version as soon as you refresh the App Editor. Once testing has gone smoothly you can go ahead and publish the plugin.
To do so, in the Version Tab, you should pick a license and define the release title. Bubble will generate automatically the version, and users that have already installed your plugin will be prompted to update it when they edit their app.
Usage & Ratings
Once a plugin is published, it will be accessible to anyone through the Add Plugins box in the editor. Just type what you’re looking for and start using more plugins!
As a way to moderate the marketplace, ratings and users’ feedback are very important. You can rate plugins in the App Editor (and please do so!). Ratings are communicated to the Plugin Builder via the Statistics Tab in the Plugin Editor, and will be useful for them to improve the plugin.
While the Plugin System has been our main focus for the last few weeks, we’ve added a few other things. If you follow the forum you’ll see a more comprehensive list of announcements, but here is in a nutshell:
- Introduction of Dedicated Hosting Plans: these plans are for our larger clients and offer dedicated servers to run your app, independently from other Bubble users. This offers more reliability, security and gives flexibility in terms of server locations. Reach out to discuss!
- Audio Recorder Element: Bubble apps can now be much more multimedia, as your users can now record sounds. This element works as another input, and displays a sound equalizer animation when users record sounds.
- Date and Number ranges types: we’ve introduced 2 new types to deal with ranges, for instance price ranges, date ranges to handle booking times, etc.
- Ability to define a color palette and other UX improvements in the Editor.