So, been doing some work on some new plugins — motivated by the impending shutdown of webtask (where my FaaS functions that support https://grupz.com reside). And… lo and behold… I feel like SSA’s are substantially more performant now.
Earlier today, based on a prospective user’s question over the weekend, I figured I should have another go at enabling iCal export for GRUPZ calendars.
Now, Bubble STILL doesn’t have a GET route for backend workflows (and this continues to be painfully stupid), but Amazon API Gateway is a still a reasonable solution for turning a GET into a POST, and upon looking at that again, it seems like it’s easier than in the past (letting you snag query string parameters and just forward them from the phony GET call to the real POST call without any scripting). Cool.
So I hammered out a real basic SSA plugin that, given a list of Bubble objects that represent events, returns the text of an iCal file representing those events.
And then this text string can just be sent to the return value of a backend (POST) workflow.
What I find is that, (1) with AAPIG in the middle, the response from AAPIG is EXACTLY like what you’d expect from any iCal feed (for example, a feed coming from Airbnb or VRBO or Google Calendar or what have you) and (2) the response time from Bubble is TOTALLY within acceptable limits.
This did not used to be the case.
Emboldened by that success, I set about converting my Webtask code for parsing iCal URLs into JSON (read in via the API Connector) to a native SSA plugin (which would return parallel lists of starts, ends, descriptions, etc., rather than zapping them over as JSON to be parsed by the API Connector).
This seems (now) to be pretty much competitive — time-wise — with my FaaS solution via Webtask.
And, further, taking my test Bubble app serving up an iCal feed and using that as an input to the GRUPZ app (also a Bubble, but still using Webtask via API Connector to parse that URL), I find that the feed is parsed just as fast as, say, when the IRL is from Airbnb or VRBO or what/have-you.
Which is to say, my test app might as well be Airbnb.
While further testing is needed, I feel like Bubble has made some significant strides in SSA performance.
The $64,000 question is, “What’s the capacity impact?” My initial testing seems to imply that, capacity impact has also been lessened. My test app isn’t registering huge cap impacts when running these SSA’s.
Has Bubble become less stingy in terms of server-side compute? Could be.
At any rate, the results are encouraging enough that I’m going to proceed with migrating my external FaaS functions to native SSA’s and also publishing those as commercial plugins, providing a no-code solution for folks looking to parse and publish iCal feeds (something is have paid just about any price for a couple of years ago).
Those plugins won’t be “cheap” (similar in price to CG Pro) in Bubble terms, but will be cheap compared to the literally thousands of hours I spent developing these techniques for my own apps.
So, tl;dr… Bubble SSA’s seem to have come a long way.