This is not meant as a complaint or critique, but as a general observation and hopefully a constructive dialogue on how we can make the Bubble plugin ecosystem better for end-users, and more profitable for developers.
I’m working on a major project now, which has been nearly a year in development and has a huge range of different challenges, many of which were solved with plugins.
So what’s the problem?
The challenge is, I can’t tell you how many times I’ve had to ditch a perfectly good plugin, simply because it lacked the flexibility to solve my specific problem. The plugin is awesome at doing exactly what the plugin author intended, but a mere step in another direction stops me from using it.
The website I’m building is for a highly brand-conscious client, and I’ve had to ditch a lot of paid plugins simply because they wouldn’t let me assign the correct font or change a color. I’ve struggled immensely with using any of the many different date/time pickers, because none of them support dynamic time zones. I’ve tested four or five different rich text editors, having to give up one after the other for lack of flexibility in customizing which buttons to show in the toolbar, how the border should look, it doesn’t support Auto Binding, etc.
A current example
I’m currently in a discussion with Zeroqode about their Flat Tags plugin. I suggested a change in the plugin that would allow me to use it for a particular case, and the response was basically that this is not how the plugin is supposed to work. My intention is not to criticize Zeroqode - the discussion is not finished, they haven’t had the time to respond yet, and they have no obligation to listen to my suggestions. The quality of the plugin in general is top notch, and maybe my suggestion really is not ad addition that makes sense. But I wanted to include it as an example of what I find to be a bit backwards thinking: that the customer should adapt to the features of the plugin, rather than the other way around. I think a change in thinking here would benefit both the customer and the developer.
EDIT: I’ve come to think that this was a bad example, as in this case I requested a very specific change that may not have been in the public interest, and so it makes my point confusing. See my post further down for details on this. The example below is still relevant.
And a counter-example
@keith’s CalendarGrid Pro is an example of the opposite. The plugin is so stuffed with ways to customize the calendar, output its data in different formats, make date and timezone related calculations, etc that it alone has solved a variety of different challenges far away from what was looking for when I first installed the plugin. It’s not great because of one specific feature, but because the immense investment Keith has made into flexible settings. It’a bit more work setting it up than the other datepickers in the store, but I use it because I can make it look and work exactly like I want it to.
What should change?
The point I’m trying to get across, is that a truly flexible plugin should include settings that go far beyond the specific use case you intended. Open up for total flexibility on:
- Looks (colors, fonts, borders, padding, line spacing, letter spacing, word, spacing, etc)
- Data handling (saving data, auto-binding, data format to save in)
- Actions (input is focused, something is clicked, etc)
- Customization (how the plugin behaves, hiding/showing elements such as buttons, etc)
- Conditions
I’m not only creating this topic because I have a selfish need for more flexible plugins, but that there are at least ten plugin developers losing money right now on a plugin that I ended up not using just for a slight customization setting that wasn’t there.
One final point
As a plugin developer, it’s understandably easy to think “Our users will tell us what they need, and if it makes sense, we’ll add it.” I can only speak for myself here, but in most cases, I simply don’t… I’m usually in a rush to get things working, and if a plugin doesn’t offer what I need out of the box, I usually uninstall and move on. I rarely discuss it with the developer, so I think there’s a risk that a lot of them are simply not used.
Do people agree with my observations? Disagree? What things am I not seeing from the developers perspective? Open for all viewpoints and an open discussion here.
(sorry for the negative mention @levon and the rest of the team, but as a developer of countless plugins, you’ll naturally end up as a center of attention when discussing this topic I hope you’ll see it as a constructive dialogue, not criticism.)