So I’ve been working with BSS for a few months now over three projects, and I’d like to share a few impressions and observations concerning the product.
First, and foremost: I like it. There are too few good WYSIWYG web page designers out there, and most of them are ridiculously expensive and/or tied to a particular service and/or use a framework like Angular which imho has become a ridiculously bloated, convoluted, script-obsessed mess. Bootstrap is a good framework, and BSS performs as advertised at a good price without forcing you into someone else’s idea of a development pipeline.
I have a few nitpicks. Cut/paste is erratic sometimes. I’d prefer the property lists be a bit better organized instead of, for example, an “Appearance” tab full of settings that affect positioning and an “Options” tab full of settings that affect appearance. Dropping a component at the end of a list frequently doesn’t put it under the parent I’d intended. Other, similar things that caused me to raise an eyebrow but ended up as part of the learning curve.
Unfortunately - and you probably saw this coming - I have one problem with BSS that isn’t a nitpick. It is, in fact, a serious shortcoming that makes BSS difficult, at times almost impossible, to use for serious design work: No template engine support. I don’t mean the “templates” shown when you start a new design, which are basically pre-fabbed web pages. I work mostly with flask and Django back-ends, which use jinja2 and Django’s very similar templating language, respectively. (In fact, I think Django can optionally use jinja2.) It is very difficult to use anything more than very basic templating in BSS. Expressions usually work inside text attributes and such. I can use custom code blocks for extending base templates and defining blocks and such.
For most anything involving dynamic data, however, persuading BSS to let me add template tags ranges anywhere from annoying to all-but-impossible. Example, one of many: I’m building a control panel that has to display a variable-length table of data. No big deal, right? Set up the table in BSS, drop a {% for x in y %} in the table body to load the rows, and that’s that. Except that the table body is locked so there’s no way to wrap the row in a for loop. I ended up having to convert the entire table to custom HTML, which means the designer ignores it and I have to edit look/feel manually (although, to be fair, BSS does a decent job of rendering elements in a custom block.) I have one page in that project that is at least 2/3 custom code blocks, and at that point why use BSS at all?
I’ve browsed this forum, and found posts as far back as 2018 begging the BSS people to add template engine support. What few replies I’ve seen have basically brushed off the posters; “we’re focusing our efforts elsewhere.” If any BSS developers are reading this, I submit to you that you are grossly underestimating the need for and demand for and usefulness of this feature. Without template engine support BSS is useful mainly for designing static web pages. The thing is, and my main point in posting here is, in 2022 A.D., how often do you create static pages?? In my case, and I suspect many, many others’, the answer is: Not very often. I have never, in 20-odd years of web development, created a site that was 100% static. Sure, I can bang out 404 error pages and “operation complete!” pages like blazes with BSS. The thing is, I can also customize simple generic pages by hand like blazes. Although it does help, I don’t need BSS for those. I need a designer that, at minimum, will let me insert tags where I need them - they don’t even have to render, just show me where they are and let me edit them - without hours of wrestling with custom HTML and supporting javascript. (I’m still looking for a way to set chart data on the fly. I know this is as much chart.js’s shortcoming as it is BSS’s, but charts are damn near useless if you can only set the data at design time.)
Anyway, please regard these last paragraphs as constructive criticism. I bought a lifetime license after using BSS for less than a week, and I intend to continue using it. I’ll tell you, though, that if an alternative comes along that works more like the way I work, even if its usability is slightly inferior, I’m going to take a long look at it. I’d rather not do that; I’d rather use a superior product that fully supports modern web platforms.