Where does the software begin?

By Serdar Yegulalp | 2015/10/12 22:25


A common misunderstanding people have with blogging systems is how they attribute much of what they see possible with a given blog's theme or template to the blog engine itself. They look at the way a site is designed, and they attribute that design to WordPress, and not to a given WordPress theme. That's a mistake.

Okay, it's not a complete mistake. After all, it's WordPress itself that makes classy WordPress themes possible -- not just in the sense of giving them a platform to be built on, but an ecosystem to thrive in an to be distributed through. But I always found it symptomatic of how people thought about this stuff: they don't know how decoupled the site's software is from its presentation, and for the most part they don't care. As long as they can post something that looks good and don't have to break too much of a sweat to do it, they're fine. Whether such things come from the theme or from the software itself hardly matters.

Or does it? One of the issues many people cited with Movable Type (my current solution, being replaced by MeTal) was the lack of a culture of themes common to WordPress. The relatively small size of the install base certainly had something to do with it; the fact that Movable Type used its own custom XML-like markup language to render templates, and WordPress used simple PHP scripts, probably also had something to do with it. The less you have to learn, the better.

MeTal uses Bottle's SimpleTemplate as the default template language for its themes, meaning they're essentially Python scripts with some inline templating. I'm waiting on a point release of Bottle to allow more elegant separation of code blocks and templating, but one of the things I am going to try to do with the basic template pack for MeTal is show how the code and the templating can be kept quite separate from each other. In time, I'll try to find ways to make them more discrete, but for now I'll start with what I'm familiar with -- and, I imagine, what most other people are familiar with too.

I doubt that will make people understand all the better what the software actually is, since that problem is much larger than any one application. But the least I can do is create an atmosphere that makes it easier for the average developer to make templates, and I have some tooling in mind that might make that possible. More on that in a future post.


comments powered by Disqus