I'm going against the flow by building a new ImpressCMS theme based on the Bulma CSS framework.
I built the theme for the ImpressCMS.org site a few years back and it is definitely in need of a makeover. Instead of evolving, I decided to restart from scratch with Bulma, a CSS framework that recently reached its 1.0 milestone.
Why Bulma? Like in most cases, there is no single reason for that decision, but it's a combination of factors. First, I wanted to try Bulma in a real-world scenario, after having toyed with it for some time a few years ago. Secondly, compared to Bulma, bootstrap is very verbose. The previous theme was based on a commercial Bootstrap 4 template, and while it was visually impressive, that came with a performance hit that gives a bad impression of how fast a ImpressCMS site can be.
Since its inception, the Bootstrap CSS framework has taken the world by storm. I remember proposing the use of Twitter Bootstrap 2 (as it was called at that time) for our web project at the company I worked with in 2012, a large consulting company working mostly for the Belgian government. We got turned down initially by the internal committee that was in charge of overseeing the tools used company-wide. The reasoning behind that refusal was that it made no sense to adapt our workings to an external tool, and that we would lose flexibility in how we built our designs.
Mind you, we were developing mostly web-based tools that would be used internally by a limited number of users at government agencies. No budget was allocated for web design in most cases because considered too expensive and not really useful, so we were still used to glorious table-based designs, in many cases tested specifically on the screen size and browser version in use at our clients. Those were the days
But the web evolves. Imagine the shock at several of our clients when Microsoft had the audacity to stop supporting Internet Explorer 6. In many cases their applications were tied to IE6 (customer requirement) and wouldn't reliably work with other browsers because of the many quirks in IE6, so we needed to do a costly technical migration just to keep the same functionality. Never an easy sell. Our developers on the other hand were thrilled that they could slowly phase out support for that browser and start doing cool stuff again. It was finally then that the added value of using a standardised, well-structured CSS framework was brought
I'll venture to compare it with WordPress, which holds a similar market share in the CMS sector. WordPress is the engine behind a significant portion of today's content websites, excluding e-commerce platforms. This speaks to WordPress's versatility and the extensive addon ecosystem that has developed around it. However, this often leads to poorly designed websites overloaded with plugins, resulting in pages that load excessive amounts of JavaScript and generate enormous web page sizes.That is because Wordpress is such a well-known name even outside the world of web developers that 'it runs wordpress' is a sales pitch in itself, bypassing the check whether the use case is compatible with Wordpress to begin with.
The same could be said for Bootstrap when it comes to designing a website. The notability of the Bootstrap brand is so high that alternatives are no longer considered, or the quality of the way Bootstrap is used is no longer verified. Because, just like any tool, it is perfectly possible to make some atrocious themes on Bootstrap, from a technical point of view.
As an experiment, I opted to build my next theme on Bulma. I have multiple reasons for that:
- By learning a new framework, I might learn some new things that can be applied in Bootstrap as well
- I can build a starter theme that makes it easier to base a new ImpressCMS theme on
- I will need to question the way I have been doing things in previous themes, which is always a good thing.
Expect a follow-up series of artices in the coming weeks where I describe the different stages to go through.