In September ’19, I blogged about Bedrock 2 for the first time. The idea has now evolved to an implementation in Ember, Angular, Svelte and Vue. In this blog post I will give a global summary.
Around five years ago — yes, really! It’s that long ago — we released Bedrock to the world as an open source project. Bedrock is a tool to help with prototyping user interfaces using HTML and CSS.
We made this very documentation website you are visiting right now, and we learned a lot improving upon it & maintaining it over the years.
While Bedrock is completely open source, most usage was as an internal tool at Mono and as far as I know did not get much usage outside of our company. At some level this is fine, because it was doing it’s job for us and maintaining OSS can be a pain. At another level I would have liked more companies to use it to grow it as a project.
Over the years, a problem crept up on us: the dev world had moved to using Javascript frameworks for their front-ends. Simply delivering static HTML/CSS wasn’t good enough anymore in some cases.
I started toying around with porting the features of Bedrock to environments powered by the popular JS frameworks.
In Aprl last year I wrote the idea of Bedrock 2 down in a design document, which outlined a vision for what Bedrock 2 is. The main idea is to build on top of existing frameworks to deliver the functionality of Bedrock.
Up until today, we’ve released some early versions of Bedrock2:
These are all early example implementations. Some of these already have improved version, but we didn’t get to open sourcing them yet. These better versions currently live in client projects.
Whichever one of these evolves depends on what type of design projects we are working on at Mono. I am curious which one evolves the most over the coming year 😉 (I wish more clients would ask for Vue projects, because I like that one the best.)
While testing these in real-world projects, we’ve also learned that Bedrock 1 is still a viable tool. It has some features like page states and reliable static deployment that make it the go-to tool for some types projects.
For example, in large prototypes with lots of user roles, where the different user roles see a different UI, Bedrock 1 is immensely helpful. The features to simulate the UI states don’t exist in none of the Bedrock 2 versions.