A Review of Thesis 2 (And Why It Doesn’t Live Up To Its Hype)

You have probably had the experience of buying a new car. You are super excited, you know exactly what car you want. All you have to decide on are the options. Should there be a Nav system or leather trim or leather seats.

But what if, when you get to the store instead of just choosing options you are taken to the factory. You are given all the equipment to assemble the car but you have to assemble the car yourself. Suddenly you are made to feel you need an automobile degree before you can get that new car.

This is how I felt when I took the leap into Thesis 2.

So let’s get started …

Thesis 1.x falls behind

Now, I’ve used Thesis 1.x for several projects over the last few years and have been successful using it.

Over the same time though, there has been a fair amount of innovation in the world of WordPress Themes and Frameworks.

There are theme marketplaces with thriving communities. The big daddy of theme marketplaces is ThemeForest, where you can get high-quality, robust, stable, professionally-designed themes for as little as $35. (Of course, the $ cost of a theme is not as important a consideration when developing websites professionally for clients – i.e. for other people. There are other considerations as well – such as ease of use, adaptability, upgradeability, quality of support, and suitability for the task at hand. However, the value some of these themes provide is phenomenal. Be careful though – you have to wade through a lot of chaff to find the good robust themes on ThemeForest).

Then there are other theme shops with robust frameworks and theme/skin communities of their own. These theme frameworks all have their own strengths and their own approach to solving a problem. They all do a wonderful job.

After initially creating an innovative and robust framework, Thesis 1.x had really stagnated, while the competition was reaching new heights.

I have extensively used many of these frameworks and standalone themes over these years and seen first-hand where Thesis was falling behind and where its strengths still lay.

So I, like a lot other Thesis users was awaiting Thesis 2.

Thesis 2 is released

For well over a year now, the Thesis folk have been promoting Thesis 2 and I have been eagerly waiting to see what they would do.

In the last few months before the release, their marketing blogger was putting out marketing material at a good clip and building some buzz.

I was rooting for it. Competition is good. New ideas are good. Another weapon in my arsenal is good.

So when Thesis 2.0 was released I wanted to take it for a spin.

When trying out a new theme or framework, I find it best to use it for a real project rather than doing academic investigation. Using it for real is the best way to find its strengths and weaknesses.

And earlier this week I got the opportunity I was waiting for. A project with a custom design and the flexibility to experiment with a new framework. It was time to investigate Thesis 2 and try it out for a real site.

I used Thesis 2.0.1 which was the latest version available earlier this week. (I see they have released 2.0.2 as of this writing).

IMHO,  I feel I have enough experience with a wide variety of themes and theme frameworks to identify the relative strengths and weaknesses of any theme I evaluate.

Upgrade from 1.x

If you are already using Thesis 1.x and are thinking of upgrading to 2.x, keep in mind that there is no automatic upgrade at the time writing (Nov 2012). You will have to recreate your design using the 2.x framework in order to upgrade.

New Features

First let me make a list of what Thesis 2 claims as its strengths and features. Then I will put down my opinion of its claims.

  • A Visual Design Template Editor with drag-and-drop simplicity for creating “Skins”
  • A Skin Editor with point & click simplicity.
    • No requirement to know “code” such as CSS & PHP
    • CSS variables
    • CSS Packages for easy maintanability
  • Modular “boxes” which are like WordPress widgets
    • You can create these boxes on your own using the Template/Skin editor

(There are other items – such as SEO capabilities and ability to import/export theme settings. I do not see any short-comings in these, but I do not see any new ground being broken here either. ‘nuf said).

When I saw the touted features I was quite excited. It seemed like it was finally catching up with some of the true drag-and-drop frameworks out there. Indeed, it was being marketed as the being revolutionary. And I wanted it to live up to its promises.

The description on their main landing page was promising. I thought this could be a true base for many of my new projects going forward – as it appeared to provide tremendous flexibility in creating custom templates.

While it does provide this flexibility – my assessment is that the cost (in terms of complexity) is too high.

It does not shield you from needing to have some WordPress knowledge (eg. WP Loop), HTML structural knowledge and CSS knowledge. At least not in its current form.

So, in my opinion, it does not have any of the advantages that a UI-based interface should have, while having the disadvantages of a UI-driven interface (i.e. it is more time-consuming to point-and-click and drag-and-drop thousands of items).

As you can guess from my tone thus far, I was disappointed and I find it falling short on its claims IN ITS CURRENT FORM.

I should note that I tried the current version (2.0.1) and at this time there is no marketplace for Thesis Skins, or any reusable components. Perhaps with time this may change – but I fear it may not be enough unless an additional layer of abstraction is built on top of the current Skin/Template Editor – more on that later.

… here’s what I think

(Caution: Thesis Bashing to follow)

Sure, a drag-and-drop HTML editor. But…

It’s true that Thesis 2 has a drag-and-drop HTML Template editor.

But I am not sure if the good folk at DIYThemes understand and/or know who they are targeting as users of this editor.

Based on their marketing blog, it appears they expect non-developers to use the template editor. Evidence for this observation lies in several implied claims of not requiring an understanding of PHP, CSS or WordPress internals to be able to use the editor and create your own layouts.

But one attempt at trying to create a template proves this to be a fallacious expectation.

Take a gander at a sample Thesis 2 Template below:

Thesis 2 Skin Editor

Thesis 2 Skin Editor

I am willing to bet that a non-developer is going to have a tough time understanding how this template works and why it is constructed this way.

Anyone care to bet the odds of a non-developer actually creating this template from scratch?

Sure it can be created using a drag-and-drop interface.
But you have to know which boxes to drag and where to drop them.

  1. You have to know the WordPress Loop.
  2. You have to know how HTML is structured.
  3. You have to know best practices for constructing your HTML.

Given that you require knowledge of wordpress internals to successfully create one of these, I don’t see anyone other than wordpress developers creating templates from scratch. I see theme developers creating themes at this level of detail – and most of them will do it faster by creating the underlying PHP files (it takes a lot of time to drag and drop boxes, expand them, then open their option pop-ups and enter options in UI fields. Ok, so the components can be reused to some extent – but there is still a proliferation of boxes – see screenshot above).

Even modifying an existing template will prove daunting to a non-developer user.

Oh and did I mention that these “boxes” do not come pre-created. One has to create them from what base “box types”.

A CSS editor – no coding necessary?

Another element of the new drag-and-drop interface is the CSS editor.

Good idea – not so great implementation.

Admittedly, they have tried to implement some good ideas here to promote code re-use.

For example:

Thesis 2 seems to have implemented their own rudimentary CSS pre-processor.

This allows one to create CSS “variables” which can be set once and reused.

An example where this is useful:

If you have a font-color that you want to use in several different CSS rules, you can create a variable once to hold the color value and use the variable in multiple rules – instead of repeating the color value itself in multiple rules.

Later if you decide to change the color value, you can change it in one place and have it reflected everywhere.


However, there are many advanced “CSS Pre-processors” that provide this functionality (e.g. LESS CSS, SASS/SCSS, Stylus, and Crush being among the popular ones).

It would have been a lot more elegant if Thesis had integrated one of these into the framework the way other frameworks have managed to do (e.g. PageLines).

Regardless, this is a feature that can be appreciated by a developer.

However, in the current implementation, I don’t see how I can tell the local restaurant owner to change this one CSS variable to affect the color of his fonts. It’s a lot easier when these kinds of things are available as settings on a settings panel.

This is an example of how Thesis 2 misses the mark on Target Profile (or targets the wrong profile).

CSS Packages

CSS Packages are modules of CSS codes that you create. You can reference the aforementioned CSS variables in these packages. Then you place a reference to these packages into your CSS Editor.

This is a level of indirection that is too much for the average non-developer user, IMHO.

It is very easy to miss a step in these different levels of indirection. And when you do miss a step, debugging it is time that could be better spent.

In fact, if you watch the series of tutorial videos available here (http://www.byobwebsite.com/10/video-tutorials/how-to-build-a-website/using-thesis-theme/thesis-2-0-launch-party-video-replay/), you will see the instructor fall into that precise trap several times. (BTW, if you do decide to dabble in Thesis 2, I highly recommend these videos – they are excellent and will get you off to a running start).

But, my objections to this implementation go deeper than this.

Again, the assertion that “coding is not necessary” is fallacious

Sure, there is a UI to input your CSS values – but they are still CSS values. One still has to understand CSS syntax and behavior in order to enter the correct values – or indeed – to even understand some of the input fields.

Thesis 2 CSS Packages Options

Thesis 2 CSS Packages Options

How many non-CSS-coders can tell the difference between margin and padding? And when to use which one?

Or what “bullet position” means?

Or what “Box Sizing” does and which value to pick?

Or how to use “background position” correctly?

A true “no coding required” framework (as opposed to just a drag-and-drop one) should abstract these concepts into something more intuitive.

A business owner has no hope of navigating these settings and still have time left to run a business.

And a developer can write the CSS code in a CSS file 10 times faster with less frustration. (sure, you can write straight CSS in Thesis 2 as well, but that defeats the claim of “no coding necessary”)

Also, the documentation is a bit sparse to put it mildy.

Why won’t this plugin work?

At one point, I decided to try out one of my favorite plugins – “Specific CSS/JS for Posts and Pages“. This plugin allows you to write custom CSS/JS specific to a page in a custom field on the page editor itself.

Long story short, the plugin did not work. I suspect Thesis was not invoking some hook. But, by this time I was too disheartened to debug the root cause.

The Verdict


  • I find it is not ready for prime time.
  • I think it misses the mark on Target Profile.
    • It does not shield the non-developer from knowing WordPress internals/HTML/CSS.
    • Developers will find the drag-and-drop interface a drag (no pun intended) and will write straight CSS and PHP anyway.

Perhaps in time there will be a thriving marketplace providing reusable components, maybe the Template/Skin editor will evolve into something that is truly easy to use.

See PageLines, HeadWay Themes, and Builder, which are years ahead in this regard. Catalyst is another notable mention which does not have a drag-and-drop layout builder, but has an excellent framework. There are even some themes on Themeforest which have awesome drag-and-drop layout builders which non-developers can really use. Themes from ThemeBlvd and GoodLayers come to mind.

Maybe there will be robust set of Child Themes (a la Genesis, Elegant Themes, Builder).

So for now, I feel like I was dropped off at the factory, given the machinery and told to assemble the car myself.

This my “Two cents”, Your mileage may vary 🙂

Announcing new Products & Services from StressLessWeb

We recently started offering website maintenance services to our existing clients. If you are not an existing client but are interested in availing of this service, contact us to see how we can help you.


Do you enjoy reading articles that help you create a better website?

Subscribe to the SLW Newsletter and never miss out.