All this talk about the future of WordPress and how it is starting to align with a vision I had a decade ago for a next generation CMS got me nostalgic with seeing if I could find some evidence of this vision in the past. Interestingly enough, while searching back within my emails, I actually discovered conversations I had with Anthony Casalena, the Founder of Squarespace, about frustrations with Squarespace’s evolution at the time and how it differed from what I was envisioning.
Block Based Content & Layouts
The first instance I found was back in May 7th, 2010, where I was telling Anthony in an email of trying to help a client using Squarespace Version 5 and figuring out a hack to effectively use multiple posts within the list view of a Journal (blog) module as layout “blocks” to emulate a single page grid layout. The reason I came up with this hack was because no web platform had come up with a way to do this yet at the time, yet end users were seeing it done on hand coded sites, so were wondering why they couldn’t do it yet and even attempting to do it with horrible results, as noted below.
You’ve probably seen it yourself. Someone asking on the forums how to layout three blocks of text side by side in a horizontal row. For most end users, this is like trying to part the Red Sea. I’ve even seen one recent client go so far as to use the space bar and broken lines of text to emulate this effect. It’s both hilarious and sad to see at the same time.Nollind Whachell in a conversation with Anthony Casalena, May 7th, 2010
What’s interesting is that Anthony was already thinking about this as well and informed me that Version 6 of Squarespace, which was being worked on at the time and would be released two years later, would overcome this problem by introducing block based content and a grid system to lay them out with which Squarespace called the Layout Engine. So this was the first major hurdle that I wanted to see overcome.
The only downside to this approach though is that I wanted this solution to be site wide, so you could layout your entire site this way. A radical leap at the time, yes, but Squarespace Version 6 was a complete rewrite of the entire platform, so if it had been on the table then I think it could have given Squarespace an even farther head start than other companies. Today, a decade later, Squarespace still hasn’t transitioned to this capability yet and WordPress, one of the few companies I thought would never tackle this, is finally taking its first steps in trying to achieve this which is simply amazing.
Squarespace’s Greatest Strength Was Its Flexibility
In understanding where I was going with this all, I was envisioning a CMS platform that was highly flexible and customizable for the end user, that put power of Web design in their hands without the need to code. To understand what I’m trying to get at here, this goes way beyond just block based content and grid layouts within the content area of posts and pages. In effect, I was even envisioning ways in which the end user could even manipulate and customize normally hard-coded functionality using a visual script engine (which I believe Drupal has something similar now but I’ve forgotten the name of it).
This was the beauty of Squarespace in Version 4 and 5, you could take a Journal (blog) module and make it emulate a lot of different things. For example, by changing the sort order in the module options area, making it sort alphabetically by the title rather than sort reverse date order by the post date, you could turn a Journal module into a company directory, even adding categories to show which people were in which department.
Going further than this, I was even envisioning how different modules such as the Journal module (with comment threads) and the Forum module (with response threads) were effectively the same thing on the backend in terms of content but it was just how the content was displayed on the front-end, along with additional different list views, that made them look different. So if you could remove this hard-coded functionality and change it to a set of flexibly, functional options, you could open up the platform and make it much more flexible overall, going even beyond just blogging and simple site building.
Creating A Platform Flexibly Expressive To Its Very Core
If you think about this, this was the core of my vision. It was making the platform more flexible by breaking it down into smaller bits. So wherever there was hard-code functionality, I wanted to see it removed and replaced with simple yet powerful options that allowed for numerous customizations. Another email conversation with Anthony later in October 4th, 2012 highlights this when I indicate my frustrations with the direction of Version 6 of Squarespace and what I was looking for instead with my own CMS vision.
As I’ve always said, SQ greatest strengths were it’s core features but more importantly because of how those core features were highly flexible (i.e. use a journal module for a variety of things).Nollind Whachell in a conversation with Anthony Casalena, October 4th, 2012
What my CMS concept does is expand upon that, so instead of building on top of these core features (like every weighed down CMS platform out there today), I break down the core features even more so, so as to make them even more flexible and customizable (and without the need for custom fields, for the most part). This probably won’t make sense but a lot of the ideas for this came from my research in cultural behaviours because most CMS platforms assume functional behaviours when they shouldn’t.
What I meant by “cultural behaviours” is that within most companies today, everything is culturally “hard-coded” in the same way and thus there is little room for freedom and autonomy in organizations which is what people need if they want to have the flexibility to express themselves as real human beings. So Web platforms are mirroring this hard-coded functionality in the same way and we need to remove as much of it as we can to create platforms that are truly empowering and flexible for people.
Replacing Specialized Functions With Flexible Functionality
Here’s a quick example of what I mean. Most Web platforms hard-code sidebars as a separate unique function with separate unique content block functionality within them called widgets (which requires a lot of programming time to do so). Yet what WordPress is doing now, by breaking down their system into smaller parts and replacing them with universal blocks, is that you can replace a lot of these many different hard-coded functionalities with these flexible, universal building blocks instead. So now what the WordPress full site editing experience is beginning to show is that a “sidebar” is now nothing more than an additional block column and the “widgets” within it are now just blocks as well.
All said and done, this creates a platform that is much more flexible, customizable, and expressive for the end user overall, empowering them to do more with it than they could have ever possibly imagined before. That’s my future of the Web that I started envisioning over a decade ago and where I want to see it continue to grow and evolve in the decades ahead.